name: release

on:
  push:
    branches:
      - main

env:
  PROJECT_ID: garrison-298703
  REGION: us-west2
  GAR_LOCATION: us-west2-docker.pkg.dev/garrison-298703/bolanos-dev-docker-snapshot
  REPO_NAME: phoenix-web

concurrency: ${{ github.workflow }}-${{ github.ref }}

permissions: {}
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
        with:
          submodules: true
      - uses: oven-sh/setup-bun@v1
      - run: bun i
      - run: bun test app

  deploy:
    runs-on: ubuntu-latest
    needs: build
    steps:
      - uses: actions/checkout@v4
        with:
          submodules: true
      - uses: oven-sh/setup-bun@v1
      - run: bun i
      - run: bun run build

      - id: "auth"
        uses: "google-github-actions/auth@v2"
        with:
          credentials_json: "${{ secrets.GCLOUD_ACCOUNT_KEY }}"

      - name: "set up cloud sdk"
        uses: "google-github-actions/setup-gcloud@v2"

      - name: "docker auth"
        run: gcloud auth configure-docker ${{ env.REGION }}-docker.pkg.dev --quiet

      - name: docker build
        run: docker build . --tag ${{ env.GAR_LOCATION }}/${{ env.REPO_NAME }}

      - name: docker push
        run: docker push ${{ env.GAR_LOCATION }}/${{ env.REPO_NAME }}