A container registry that uses the AT Protocol for manifest storage and S3 for blob storage. atcr.io
docker container atproto go
81
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