A container registry that uses the AT Protocol for manifest storage and S3 for blob storage.
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

fix go releaser

+23 -18
+1 -1
.goreleaser.yaml
··· 64 64 env: 65 65 - APP_PASSWORD={{ .Env.APP_PASSWORD }} 66 66 - TANGLED_REPO_DID={{ .Env.TANGLED_REPO_DID }} 67 + - TANGLED_REF_NAME={{ .Env.TANGLED_REF_NAME }} 67 68 - REPO_URL={{ .Env.REPO_URL }} 68 - - TAG={{ .Tag }} 69 69 - ARTIFACT_PATH={{ abs .ArtifactPath }} 70 70 - ARTIFACT_NAME={{ .ArtifactName }} 71 71
+5 -2
.tangled/workflows/release-credential-helper.yml
··· 22 22 steps: 23 23 - name: Install tools 24 24 command: | 25 + set -e 25 26 go install github.com/bluesky-social/goat@latest 26 - go install github.com/goreleaser/goreleaser/v2@latest 27 - apt-get update && apt-get install -y jq xxd 27 + # goreleaser v2.14+ requires Go 1.26.1; pin to a version compatible with the image's Go 1.25. 28 + go install github.com/goreleaser/goreleaser/v2@v2.13.3 28 29 29 30 - name: Build and publish release 30 31 command: | 32 + set -e 33 + export PATH="$(go env GOPATH)/bin:$PATH" 31 34 git fetch --tags 32 35 33 36 # REPO_URL is built from Tangled-provided env vars
+17 -15
scripts/publish-artifact.sh
··· 1 1 #!/usr/bin/env bash 2 2 set -e 3 3 goat account login -u "${TANGLED_REPO_DID}" -p "${APP_PASSWORD}" 4 - TAG_HASH=$(git rev-parse "$TAG") && 5 - TAG_BYTES=$(echo -n "$TAG_HASH" | xxd -r -p | base64 | tr -d '=') && 6 - BLOB_OUTPUT=$(goat blob upload "$ARTIFACT_PATH") && 7 - echo "$BLOB_OUTPUT" && 8 - ARTIFACT_JSON=$(echo "$BLOB_OUTPUT" | jq --arg tag "$TAG_BYTES" --arg name "$ARTIFACT_NAME" --arg repo "$REPO_URL" --arg created "$(date -Iseconds)" '{ 9 - "tag": {"$bytes": $tag}, 10 - "name": $name, 11 - "repo": $repo, 12 - "$type": "sh.tangled.repo.artifact", 13 - "artifact": ., 14 - "createdAt": $created 15 - }') && 16 - echo "$ARTIFACT_JSON" > temp_artifact.json && 17 - cat temp_artifact.json && 4 + TAG_HASH=$(git rev-parse "$TANGLED_REF_NAME") 5 + TAG_BYTES=$(printf "$(printf '%s' "$TAG_HASH" | sed 's/../\\x&/g')" | base64 | tr -d '=') 6 + BLOB_OUTPUT=$(goat blob upload "$ARTIFACT_PATH") 7 + echo "$BLOB_OUTPUT" 8 + CREATED_AT=$(date -Iseconds) 9 + cat > temp_artifact.json <<EOF 10 + { 11 + "\$type": "sh.tangled.repo.artifact", 12 + "tag": {"\$bytes": "${TAG_BYTES}"}, 13 + "name": "${ARTIFACT_NAME}", 14 + "repo": "${REPO_URL}", 15 + "artifact": ${BLOB_OUTPUT}, 16 + "createdAt": "${CREATED_AT}" 17 + } 18 + EOF 19 + cat temp_artifact.json 18 20 goat record create temp_artifact.json -n 19 21 rm temp_artifact.json 20 - sleep 2 22 + sleep 2