A lexicon-driven AppView for ATProto. happyview.dev
backfill firehose jetstream atproto appview oauth lexicon
8
fork

Configure Feed

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

ci: split GHCR and ATCR

Trezy 828754a6 cba22b71

+36 -12
+36 -12
.github/workflows/docker.yml
··· 46 46 username: ${{ secrets.ATCR_USERNAME }} 47 47 password: ${{ secrets.ATCR_PASSWORD }} 48 48 49 - - name: Extract metadata (tags, labels) 50 - id: meta 49 + - name: Extract GHCR metadata 50 + id: meta-ghcr 51 51 uses: docker/metadata-action@v5 52 52 with: 53 - images: | 54 - ${{ env.GHCR_IMAGE }} 55 - ${{ env.ATCR_IMAGE }} 53 + images: ${{ env.GHCR_IMAGE }} 56 54 tags: | 57 55 type=semver,pattern={{version}} 58 56 type=semver,pattern={{major}}.{{minor}} 59 57 type=semver,pattern={{major}} 60 58 type=sha 61 59 62 - - name: Build and push by digest 60 + - name: Extract ATCR metadata 61 + id: meta-atcr 62 + uses: docker/metadata-action@v5 63 + with: 64 + images: ${{ env.ATCR_IMAGE }} 65 + tags: | 66 + type=semver,pattern={{version}} 67 + type=semver,pattern={{major}}.{{minor}} 68 + type=semver,pattern={{major}} 69 + type=sha 70 + 71 + - name: Build and push to GHCR by digest 63 72 id: build 64 73 uses: docker/build-push-action@v5 65 74 with: 66 75 context: . 67 76 platforms: ${{ matrix.platform }} 68 - labels: ${{ steps.meta.outputs.labels }} 77 + labels: ${{ steps.meta-ghcr.outputs.labels }} 69 78 build-args: | 70 79 HAPPYVIEW_VERSION=${{ github.event.release.tag_name }} 71 80 cache-from: type=gha,scope=build-${{ matrix.platform }} 72 81 cache-to: type=gha,scope=build-${{ matrix.platform }},mode=max,ignore-error=true 73 - outputs: type=image,"name=${{ env.GHCR_IMAGE }},${{ env.ATCR_IMAGE }}",push-by-digest=true,name-canonical=true,push=true 82 + outputs: type=image,"name=${{ env.GHCR_IMAGE }}",push-by-digest=true,name-canonical=true,push=true 83 + 84 + - name: Push to ATCR by digest 85 + id: build-atcr 86 + continue-on-error: true 87 + uses: docker/build-push-action@v5 88 + with: 89 + context: . 90 + platforms: ${{ matrix.platform }} 91 + labels: ${{ steps.meta-atcr.outputs.labels }} 92 + build-args: | 93 + HAPPYVIEW_VERSION=${{ github.event.release.tag_name }} 94 + cache-from: type=gha,scope=build-${{ matrix.platform }} 95 + outputs: type=image,"name=${{ env.ATCR_IMAGE }}",push-by-digest=true,name-canonical=true,push=true 74 96 75 97 - name: Create GHCR manifest 76 98 run: | 77 - GHCR_TAGS=$(jq -cr '.tags | map(select(startswith("ghcr.io"))) | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") 99 + GHCR_TAGS=$(jq -cr '.tags | map("-t " + .) | join(" ")' <<< '${{ steps.meta-ghcr.outputs.json }}') 78 100 docker buildx imagetools create --append $GHCR_TAGS \ 79 101 ${{ env.GHCR_IMAGE }}@${{ steps.build.outputs.digest }} 2>/dev/null || \ 80 102 docker buildx imagetools create $GHCR_TAGS \ 81 103 ${{ env.GHCR_IMAGE }}@${{ steps.build.outputs.digest }} 82 104 83 105 - name: Create ATCR manifest 106 + if: steps.build-atcr.outcome == 'success' 107 + continue-on-error: true 84 108 run: | 85 - ATCR_TAGS=$(jq -cr '.tags | map(select(startswith("atcr.io"))) | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") 109 + ATCR_TAGS=$(jq -cr '.tags | map("-t " + .) | join(" ")' <<< '${{ steps.meta-atcr.outputs.json }}') 86 110 if [ -n "$ATCR_TAGS" ]; then 87 111 docker buildx imagetools create --append $ATCR_TAGS \ 88 - ${{ env.ATCR_IMAGE }}@${{ steps.build.outputs.digest }} 2>/dev/null || \ 112 + ${{ env.ATCR_IMAGE }}@${{ steps.build-atcr.outputs.digest }} 2>/dev/null || \ 89 113 docker buildx imagetools create $ATCR_TAGS \ 90 - ${{ env.ATCR_IMAGE }}@${{ steps.build.outputs.digest }} 114 + ${{ env.ATCR_IMAGE }}@${{ steps.build-atcr.outputs.digest }} 91 115 fi 92 116