A container registry that uses the AT Protocol for manifest storage and S3 for blob storage. atcr.io
docker container atproto go
72
fork

Configure Feed

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

test tag push

+56 -16
+29 -12
.tangled/workflows/release-credential-helper.yml
··· 3 3 # This workflow builds the docker-credential-atcr binary and publishes it 4 4 # to Tangled.org for distribution via Homebrew. 5 5 # 6 - # Current limitation: Tangled doesn't support triggering on tags yet, 7 - # so this triggers on push to main. Manually verify you've tagged the 8 - # release before pushing. 6 + # Triggers on version tags (v*) pushed to the repository. 9 7 10 8 when: 11 - - event: ["manual"] 12 - branch: ["main"] 9 + - event: ["push"] 10 + tag: ["v*"] 13 11 14 12 engine: "nixery" 15 13 16 14 dependencies: 17 15 nixpkgs: 18 16 - go_1_24 # Go 1.24+ for building 19 - - git # For finding tags 20 17 - goreleaser # For building multi-platform binaries 18 + - curl # Required by go generate for downloading vendor assets 19 + - gnugrep # Required for tag detection 21 20 # - goat # TODO: Add goat CLI for uploading to Tangled (if available in nixpkgs) 22 21 23 22 environment: 24 23 CGO_ENABLED: "0" # Build static binaries 25 24 26 25 steps: 27 - - name: Find latest git tag 26 + - name: Get tag for current commit 28 27 command: | 29 - # Get the most recent version tag 30 - LATEST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "v0.0.1") 31 - echo "Latest tag: $LATEST_TAG" 32 - echo "$LATEST_TAG" > .version 28 + # Fetch tags (shallow clone doesn't include them by default) 29 + git fetch --tags 30 + 31 + # Find the tag that points to the current commit 32 + TAG=$(git tag --points-at HEAD | grep -E '^v[0-9]' | head -n1) 33 + 34 + if [ -z "$TAG" ]; then 35 + echo "Error: No version tag found for current commit" 36 + echo "Available tags:" 37 + git tag 38 + echo "Current commit:" 39 + git rev-parse HEAD 40 + exit 1 41 + fi 42 + 43 + echo "Building version: $TAG" 44 + echo "$TAG" > .version 33 45 34 46 # Also get the commit hash for reference 35 47 COMMIT_HASH=$(git rev-parse HEAD) ··· 47 59 48 60 # List what was built 49 61 echo "Built artifacts:" 50 - ls -lh dist/ 62 + if [ -d "dist" ]; then 63 + ls -lh dist/ 64 + else 65 + echo "Error: dist/ directory was not created by GoReleaser" 66 + exit 1 67 + fi 51 68 52 69 - name: Package artifacts 53 70 command: |
+26 -3
.tangled/workflows/release.yml
··· 3 3 4 4 when: 5 5 - event: ["manual"] 6 - # TODO: Trigger only on version tags (v1.0.0, v2.1.3, etc.) 7 - branch: ["main"] 6 + tag: ["v*"] 8 7 9 8 engine: "nixery" 10 9 11 10 dependencies: 12 11 nixpkgs: 13 12 - buildah 14 - - chroot 13 + - gnugrep # Required for tag detection 15 14 16 15 environment: 17 16 IMAGE_REGISTRY: atcr.io 18 17 IMAGE_USER: evan.jarrett.net 19 18 20 19 steps: 20 + - name: Get tag for current commit 21 + command: | 22 + # Fetch tags (shallow clone doesn't include them by default) 23 + git fetch --tags 24 + 25 + # Find the tag that points to the current commit 26 + TAG=$(git tag --points-at HEAD | grep -E '^v[0-9]' | head -n1) 27 + 28 + if [ -z "$TAG" ]; then 29 + echo "Error: No version tag found for current commit" 30 + echo "Available tags:" 31 + git tag 32 + echo "Current commit:" 33 + git rev-parse HEAD 34 + exit 1 35 + fi 36 + 37 + echo "Building version: $TAG" 38 + echo "$TAG" > .version 39 + 21 40 - name: Setup build environment 22 41 command: | 23 42 if ! grep -q "^root:" /etc/passwd 2>/dev/null; then ··· 34 53 35 54 - name: Build and push AppView image 36 55 command: | 56 + TAG=$(cat .version) 57 + 37 58 buildah bud \ 38 59 --storage-driver vfs \ 39 60 --tag ${IMAGE_REGISTRY}/${IMAGE_USER}/atcr-appview:${TAG} \ ··· 47 68 48 69 - name: Build and push Hold image 49 70 command: | 71 + TAG=$(cat .version) 72 + 50 73 buildah bud \ 51 74 --storage-driver vfs \ 52 75 --tag ${IMAGE_REGISTRY}/${IMAGE_USER}/atcr-hold:${TAG} \
+1 -1
.tangled/workflows/tests.yml
··· 1 1 when: 2 2 - event: ["push"] 3 - branch: ["main"] 3 + branch: ["main", "test"] 4 4 - event: ["pull_request"] 5 5 branch: ["main"] 6 6