From 56ae34ceeb74a6cf2982263d8499584e9ea4130b Mon Sep 17 00:00:00 2001 From: Devin Ivy Date: Tue, 16 Jan 2024 11:21:42 -0500 Subject: [PATCH] setup workflow for bsync build --- .../workflows/build-and-push-bsync-aws.yaml | 55 ++++++++++++++++++ .../workflows/build-and-push-bsync-ghcr.yaml | 57 +++++++++++++++++++ 2 files changed, 112 insertions(+) create mode 100644 .github/workflows/build-and-push-bsync-aws.yaml create mode 100644 .github/workflows/build-and-push-bsync-ghcr.yaml diff --git a/.github/workflows/build-and-push-bsync-aws.yaml b/.github/workflows/build-and-push-bsync-aws.yaml new file mode 100644 index 00000000000..ec9341c7c57 --- /dev/null +++ b/.github/workflows/build-and-push-bsync-aws.yaml @@ -0,0 +1,55 @@ +name: build-and-push-bsync-aws +on: + push: + branches: + - bsync-build + - services/bsync +env: + REGISTRY: ${{ secrets.AWS_ECR_REGISTRY_USEAST2_PACKAGES_REGISTRY }} + USERNAME: ${{ secrets.AWS_ECR_REGISTRY_USEAST2_PACKAGES_USERNAME }} + PASSWORD: ${{ secrets.AWS_ECR_REGISTRY_USEAST2_PACKAGES_PASSWORD }} + IMAGE_NAME: bsync-app-view + +jobs: + bsync-container-aws: + if: github.repository == 'bluesky-social/atproto' + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + id-token: write + + steps: + - name: Checkout repository + uses: actions/checkout@v3 + + - name: Setup Docker buildx + uses: docker/setup-buildx-action@v2 + + - name: Log into registry ${{ env.REGISTRY }} + uses: docker/login-action@v2 + with: + registry: ${{ env.REGISTRY }} + username: ${{ env.USERNAME}} + password: ${{ env.PASSWORD }} + + - name: Extract Docker metadata + id: meta + uses: docker/metadata-action@v4 + with: + images: | + ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + tags: | + type=sha,enable=true,priority=100,prefix=,suffix=,format=long + + - name: Build and push Docker image + id: build-and-push + uses: docker/build-push-action@v4 + with: + context: . + push: ${{ github.event_name != 'pull_request' }} + file: ./services/bsync/Dockerfile + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + cache-from: type=gha + cache-to: type=gha,mode=max diff --git a/.github/workflows/build-and-push-bsync-ghcr.yaml b/.github/workflows/build-and-push-bsync-ghcr.yaml new file mode 100644 index 00000000000..8ecb3a5b8d5 --- /dev/null +++ b/.github/workflows/build-and-push-bsync-ghcr.yaml @@ -0,0 +1,57 @@ +name: build-and-push-bsync-ghcr +on: + push: + branches: + - bsync-build + - services/bsync +env: + REGISTRY: ghcr.io + USERNAME: ${{ github.actor }} + PASSWORD: ${{ secrets.GITHUB_TOKEN }} + + # github.repository as / + IMAGE_NAME: ${{ github.repository }} + +jobs: + bsync-container-ghcr: + if: github.repository == 'bluesky-social/atproto' + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + id-token: write + + steps: + - name: Checkout repository + uses: actions/checkout@v3 + + - name: Setup Docker buildx + uses: docker/setup-buildx-action@v2 + + - name: Log into registry ${{ env.REGISTRY }} + uses: docker/login-action@v2 + with: + registry: ${{ env.REGISTRY }} + username: ${{ env.USERNAME }} + password: ${{ env.PASSWORD }} + + - name: Extract Docker metadata + id: meta + uses: docker/metadata-action@v4 + with: + images: | + ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + tags: | + type=sha,enable=true,priority=100,prefix=bsync:,suffix=,format=long + + - name: Build and push Docker image + id: build-and-push + uses: docker/build-push-action@v4 + with: + context: . + push: ${{ github.event_name != 'pull_request' }} + file: ./services/bsync/Dockerfile + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + cache-from: type=gha + cache-to: type=gha,mode=max