name: Build and Push omni-relayer Docker Image on: push: branches: - master - main paths: - 'omni-relayer/**' release: types: [published] workflow_dispatch: env: REGISTRY: europe-west4-docker.pkg.dev PROJECT_ID: bridge-misc REPOSITORY: omni-bridge-docker-images jobs: build-and-push: runs-on: warp-ubuntu-latest-x64-2x permissions: contents: read id-token: write steps: - name: Checkout repository uses: actions/checkout@v5 - name: Setup SSH uses: webfactory/ssh-agent@v0.7.0 with: ssh-private-key: | ${{ secrets.SSH_BRIDGE_INDEXER }} ${{ secrets.SSH_BOREALIS }} - name: Authenticate to Google Cloud uses: google-github-actions/auth@v2 with: credentials_json: ${{ secrets.GCP_SA_KEY }} - name: Configure Docker to use gcloud as credential helper run: gcloud auth configure-docker ${{ env.REGISTRY }} - name: Extract metadata id: meta uses: docker/metadata-action@v5 with: images: ${{ env.REGISTRY }}/${{ env.PROJECT_ID }}/${{ env.REPOSITORY }}/omni-relayer tags: | type=ref,event=branch type=ref,event=pr type=semver,pattern={{version}} type=semver,pattern={{major}}.{{minor}} type=semver,pattern={{major}} type=sha,prefix={{branch}} type=raw,value=latest,enable={{is_default_branch}} - name: Build and push uses: Warpbuilds/build-push-action@v6 with: context: ./omni-relayer file: ./omni-relayer/Dockerfile push: true tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} platforms: linux/amd64 ssh: | default=${{ env.SSH_AUTH_SOCK }} profile-name: "bridge-docker-builder" - name: Output image digest run: echo "Image pushed with digest ${{ steps.build.outputs.digest }}"