diff --git a/.github/workflows/build_and_push_docker_image.yml b/.github/workflows/build_and_push_docker_image.yml index 06c109c..155942a 100644 --- a/.github/workflows/build_and_push_docker_image.yml +++ b/.github/workflows/build_and_push_docker_image.yml @@ -1,36 +1,51 @@ -name: Build and Push Docker Image +name: Publish Message History Server Image on: push: branches: - main - - 'refs/tags/*' jobs: - build: - runs-on: ubuntu-latest - + push_to_registry: + name: Push Docker image to GitHub Packages + runs-on: warp-ubuntu-latest-x64-16x + permissions: + contents: read + packages: write steps: - - name: Checkout code - uses: actions/checkout@v3 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 - - - name: Login to GitHub Container Registry - uses: docker/login-action@v2 - with: - registry: ghcr.io - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - - name: Build and Push Docker image - uses: docker/build-push-action@v4 - with: - context: . - push: true - tags: ghcr.io/${{ github.repository }}/message-history-server:latest - - - name: Logout from GitHub Container Registry - run: docker logout ghcr.io + - name: Check out the repo + uses: actions/checkout@v2 + + - name: Log in to the Container registry + uses: docker/login-action@v1 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Extract metadata (tags, labels) for Docker + id: meta + uses: docker/metadata-action@v3 + with: + images: ghcr.io/xmtp/message-history-server + + - name: Build and push Docker image + uses: docker/build-push-action@v5 + id: push + with: + context: . + file: Dockerfile + push: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + + - name: Deploy (dev) + uses: xmtp-labs/terraform-deployer@v1 + with: + terraform-token: ${{ secrets.TERRAFORM_TOKEN }} + terraform-org: xmtp + terraform-workspace: dev + variable-name: validation_service_image + variable-value: "ghcr.io/xmtp/message-history-server@${{ steps.push.outputs.digest }}" + variable-value-required-prefix: "ghcr.io/xmtp/message-history-server@sha256:"