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.

more workflow fixes. update indigo, fix ensure crew logic on oauth

+44 -52
+37 -47
.tangled/workflows/release-credential-helper.yml
··· 1 - # Tangled Workflow: Release Credential Helper to Tangled.org 1 + # Tangled Workflow: Release Credential Helper 2 2 # 3 - # This workflow builds the docker-credential-atcr binary and publishes it 4 - # to Tangled.org for distribution via Homebrew. 3 + # This workflow builds cross-platform binaries for the credential helper. 4 + # Creates tarballs for curl/bash installation and provides instructions 5 + # for updating the Homebrew formula. 5 6 # 6 7 # Triggers on version tags (v*) pushed to the repository. 7 8 ··· 20 21 - gnutar # Required for creating tarballs 21 22 - gzip # Required for compressing tarballs 22 23 - coreutils # Required for sha256sum 23 - # - goat # TODO: Add goat CLI for uploading to Tangled (if available in nixpkgs) 24 24 25 25 environment: 26 26 CGO_ENABLED: "0" # Build static binaries ··· 52 52 53 53 - name: Build binaries with GoReleaser 54 54 command: | 55 - # Read version from previous step 56 55 VERSION=$(cat .version) 57 56 export VERSION 58 57 59 58 # Build for all platforms using GoReleaser 60 - # This creates artifacts in dist/ directory 61 59 goreleaser build --clean --snapshot --config .goreleaser.yaml 62 60 63 61 # List what was built ··· 83 81 if [ -d "credential-helper_darwin_amd64_v1" ]; then 84 82 tar czf "docker-credential-atcr_${VERSION_NO_V}_Darwin_x86_64.tar.gz" \ 85 83 -C credential-helper_darwin_amd64_v1 docker-credential-atcr 84 + echo "Created: docker-credential-atcr_${VERSION_NO_V}_Darwin_x86_64.tar.gz" 86 85 fi 87 86 88 87 # Darwin arm64 ··· 90 89 if [ -d "$dir" ]; then 91 90 tar czf "docker-credential-atcr_${VERSION_NO_V}_Darwin_arm64.tar.gz" \ 92 91 -C "$dir" docker-credential-atcr 92 + echo "Created: docker-credential-atcr_${VERSION_NO_V}_Darwin_arm64.tar.gz" 93 93 break 94 94 fi 95 95 done ··· 98 98 if [ -d "credential-helper_linux_amd64_v1" ]; then 99 99 tar czf "docker-credential-atcr_${VERSION_NO_V}_Linux_x86_64.tar.gz" \ 100 100 -C credential-helper_linux_amd64_v1 docker-credential-atcr 101 + echo "Created: docker-credential-atcr_${VERSION_NO_V}_Linux_x86_64.tar.gz" 101 102 fi 102 103 103 104 # Linux arm64 ··· 105 106 if [ -d "$dir" ]; then 106 107 tar czf "docker-credential-atcr_${VERSION_NO_V}_Linux_arm64.tar.gz" \ 107 108 -C "$dir" docker-credential-atcr 109 + echo "Created: docker-credential-atcr_${VERSION_NO_V}_Linux_arm64.tar.gz" 108 110 break 109 111 fi 110 112 done 111 113 112 - echo "Created tarballs:" 113 - ls -lh *.tar.gz 2>/dev/null || echo "No tarballs created" 114 + echo "" 115 + echo "Tarballs ready:" 116 + ls -lh *.tar.gz 2>/dev/null || echo "Warning: No tarballs created" 114 117 115 - - name: Upload to Tangled.org 118 + - name: Generate checksums 116 119 command: | 117 120 VERSION=$(cat .version) 118 121 VERSION_NO_V=${VERSION#v} 119 122 120 - # TODO: Authenticate with goat CLI 121 - # You'll need to set up credentials/tokens for goat 122 - # Example (adjust based on goat's actual auth mechanism): 123 - # goat login --pds https://your-pds.example.com --handle your.handle 123 + cd dist 124 124 125 - # TODO: Upload each artifact to Tangled.org 126 - # This creates sh.tangled.repo.artifact records in your ATProto PDS 127 - # Adjust these commands based on scripts/publish-artifact.sh pattern 128 - 129 - # Example structure (you'll need to fill in actual goat commands): 130 - # for artifact in dist/*.tar.gz; do 131 - # echo "Uploading $artifact..." 132 - # goat upload \ 133 - # --repo "at-container-registry" \ 134 - # --tag "$VERSION" \ 135 - # --file "$artifact" 136 - # done 137 - 138 - echo "TODO: Implement goat upload commands" 139 - echo "See scripts/publish-artifact.sh for reference" 140 125 echo "" 141 - echo "After uploading, you'll receive a TAG_HASH from Tangled." 142 - echo "Update Formula/docker-credential-atcr.rb with:" 143 - echo " VERSION = \"$VERSION_NO_V\"" 144 - echo " TAG_HASH = \"<hash-from-tangled>\"" 126 + echo "==========================================" 127 + echo "SHA256 Checksums" 128 + echo "==========================================" 145 129 echo "" 146 - echo "Then run: scripts/update-homebrew-formula.sh $VERSION_NO_V <tag-hash>" 130 + 131 + # Generate checksums file 132 + sha256sum docker-credential-atcr_${VERSION_NO_V}_*.tar.gz 2>/dev/null | tee checksums.txt || echo "No checksums generated" 147 133 148 - - name: Generate checksums for verification 134 + - name: Next steps 149 135 command: | 150 136 VERSION=$(cat .version) 151 - VERSION_NO_V=${VERSION#v} 152 137 153 - cd dist 154 - 155 - echo "SHA256 checksums for Homebrew formula:" 156 - echo "=======================================" 157 - 158 - for file in docker-credential-atcr_${VERSION_NO_V}_*.tar.gz; do 159 - if [ -f "$file" ]; then 160 - sha256sum "$file" 161 - fi 162 - done 163 - 138 + echo "" 139 + echo "==========================================" 140 + echo "Release $VERSION is ready!" 141 + echo "==========================================" 142 + echo "" 143 + echo "Distribution tarballs are in: dist/" 144 + echo "" 145 + echo "Next steps:" 146 + echo "" 147 + echo "1. Upload tarballs to your hosting/CDN (or GitHub releases)" 148 + echo "" 149 + echo "2. For Homebrew users, update the formula:" 150 + echo " ./scripts/update-homebrew-formula.sh $VERSION" 151 + echo " # Then update Formula/docker-credential-atcr.rb and push to homebrew-tap" 164 152 echo "" 165 - echo "Copy these checksums to Formula/docker-credential-atcr.rb" 153 + echo "3. For curl/bash installation, users can download directly:" 154 + echo " curl -L <your-cdn>/docker-credential-atcr_<version>_<os>_<arch>.tar.gz | tar xz" 155 + echo " sudo mv docker-credential-atcr /usr/local/bin/"
+4 -2
cmd/appview/serve.go
··· 320 320 } 321 321 // Register crew regardless of migration (outside the migration block) 322 322 // Run in background to avoid blocking OAuth callback if hold is offline 323 + // Use background context - don't inherit request context which gets canceled on response 323 324 slog.Debug("Attempting crew registration", "component", "appview/callback", "did", did, "hold_did", holdDID) 324 - go func(ctx context.Context, client *atproto.Client, refresher *oauth.Refresher, holdDID string) { 325 + go func(client *atproto.Client, refresher *oauth.Refresher, holdDID string) { 326 + ctx := context.Background() 325 327 storage.EnsureCrewMembership(ctx, client, refresher, holdDID) 326 - }(ctx, client, refresher, holdDID) 328 + }(client, refresher, holdDID) 327 329 328 330 } 329 331
+1 -1
go.mod
··· 4 4 5 5 require ( 6 6 github.com/aws/aws-sdk-go v1.55.5 7 - github.com/bluesky-social/indigo v0.0.0-20251021193747-543ab1124beb 7 + github.com/bluesky-social/indigo v0.0.0-20251031012455-0b4bd2478a61 8 8 github.com/distribution/distribution/v3 v3.0.0 9 9 github.com/distribution/reference v0.6.0 10 10 github.com/earthboundkid/versioninfo/v2 v2.24.1
+2 -2
go.sum
··· 20 20 github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= 21 21 github.com/bitly/go-hostpool v0.0.0-20171023180738-a3a6125de932 h1:mXoPYz/Ul5HYEDvkta6I8/rnYM5gSdSV2tJ6XbZuEtY= 22 22 github.com/bitly/go-hostpool v0.0.0-20171023180738-a3a6125de932/go.mod h1:NOuUCSz6Q9T7+igc/hlvDOUdtWKryOrtFyIVABv/p7k= 23 - github.com/bluesky-social/indigo v0.0.0-20251021193747-543ab1124beb h1:zzyqB1W/itfdIA5cnOZ7IFCJ6QtqwOsXltmLunL4sHw= 24 - github.com/bluesky-social/indigo v0.0.0-20251021193747-543ab1124beb/go.mod h1:GuGAU33qKulpZCZNPcUeIQ4RW6KzNvOy7s8MSUXbAng= 23 + github.com/bluesky-social/indigo v0.0.0-20251031012455-0b4bd2478a61 h1:lU2NnyuvevVWtE35sb4xWBp1AQxa1Sv4XhexiWlrWng= 24 + github.com/bluesky-social/indigo v0.0.0-20251031012455-0b4bd2478a61/go.mod h1:GuGAU33qKulpZCZNPcUeIQ4RW6KzNvOy7s8MSUXbAng= 25 25 github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869 h1:DDGfHa7BWjL4YnC6+E63dPcxHo2sUxDIu8g3QgEJdRY= 26 26 github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869/go.mod h1:Ekp36dRnpXw/yCqJaO+ZrUyxD+3VXMFFr56k5XYrpB4= 27 27 github.com/bshuster-repo/logrus-logstash-hook v1.0.0 h1:e+C0SB5R1pu//O4MQ3f9cFuPGoOVeF2fE4Og9otCc70=