name: Build and push
on:
  push:
    branches: [main]
  pull_request:
    branches: [main]
  workflow_dispatch:

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Setup Node.js
        uses: actions/setup-node@v4
        with:
          node-version: '26'

      - name: Enable Corepack
        run: corepack enable

      - name: Install dependencies
        run: yarn install --immutable

      - name: Lint
        run: yarn lint

      - name: Test
        run: yarn test
      
      - name: Build
        run: yarn build

  # publish:
  #   needs: [build]
  #   runs-on: ubuntu-latest
  #   if: github.ref == 'refs/heads/main' 
  #   steps:
  #     - uses: docker/setup-buildx-action@v3
  #     - name: Login to Gitea registry
  #       uses: docker/login-action@v3
  #       with:
  #         registry: docker.allmy.work
  #         username: ${{ gitea.actor }}
  #         password: ${{ secrets.REGISTRY_TOKEN }}
  #     - name: Build and push
  #       uses: docker/build-push-action@v6
  #       with:
  #         context: .
  #         push: ${{ gitea.event_name != 'pull_request' }}
  #         build-args: |
  #           PB_PUBLIC_URL=${{ vars.PB_PUBLIC_URL }}
  #         tags: |
  #           docker.allmy.work/${{ gitea.repository }}:latest
  #           docker.allmy.work/${{ gitea.repository }}:${{ gitea.sha }}
  #         cache-from: type=registry,ref=docker.allmy.work/${{ gitea.repository }}:buildcache
  #         cache-to: type=registry,ref=docker.allmy.work/${{ gitea.repository }}:buildcache,mode=max