name: Build And Publish Docker

on:
  push:
    branches:
      - "main"
jobs:
  build:
    runs-on: debian-bookworm
    steps:
      - uses: actions/checkout@v4
        with:
          submodules: 'true'
      - name: Install deps
        run: curl -fsSL https://get.docker.com -o get-docker.sh && DEBIAN_FRONTEND=noninteractive sh get-docker.sh

      - name: Set up Docker Buildx
        id: buildx
        uses: docker/setup-buildx-action@master

      - name: Login to Self-Hosted Registry
        uses: docker/login-action@v2
        with:
          registry: git.myco.systems
          username: ${{ secrets.REGISTRY_USER }}
          password: ${{ secrets.PERSONAL_ACCESS_TOKEN }}

      - name: Set ENV
        run: |
          rm ./valhalla-app/.env
          echo "SKIP_PREFLIGHT_CHECK=true" >> ./valhalla-app/.env
          echo "REACT_APP_VALHALLA_URL=http://localhost:8002" >> ./valhalla-app/.env
          echo "REACT_APP_NOMINATIM_URL=https://nominatim.openstreetmap.org" >> ./valhalla-app/.env
          echo "REACT_APP_TILE_SERVER_URL=\"https://tile.openstreetmap.org/{z}/{x}/{y}.png\"" >> ./valhalla-app/.env
          echo "REACT_APP_CENTER_COORDS=\"33.76471961134097,-84.34884911233736\"" >> ./valhalla-app/.env

      - name: Build and Push
        uses: docker/build-push-action@v4
        with:
          builder: ${{ steps.buildx.outputs.name }}
          context: ./valhalla-app
          file: ./valhalla-app/Dockerfile
          platforms: linux/arm64/v8
          push: true
          tags: |
            "git.myco.systems/brooke/valhalla-app-container:latest"