name: ci

on:
  push:
    branches:
      - "main"
    paths:
      - "apps/**"
      - "services/**"
      - "packages/**"

jobs:
  build:
    runs-on: ubuntu-latest
    environment: docker
    steps:
      - uses: actions/checkout@v3
        name: Check out code
        with:
          submodules: recursive

      - name: Login to Gitea Docker Registry
        uses: docker/login-action@v3
        with:
          registry: gitea.futureporn.net
          username: ${{ secrets.DOCKER_USERNAME }}
          password: ${{ secrets.DOCKER_PASSWORD }}

      - name: Build futureporn/aquatic
        uses: docker/build-push-action@v6
        with:
          context: ./apps/aquatic
          file: ./apps/aquatic/docker/aquatic_udp_futureporn.Dockerfile
          push: true
          tags: gitea.futureporn.net/futureporn/aquatic:latest

      - name: Build futureporn/tracker-helper
        uses: docker/build-push-action@v6
        with:
          context: ./services/tracker-helper
          push: true
          tags: gitea.futureporn.net/futureporn/tracker-helper:latest
          labels: |
            org.opencontainers.image.description=Custom Aquatic helper service, adding info_hash accesslist operations via HTTP
            org.opencontainers.image.title=tracker-helper
            org.opencontainers.image.licenses=unlicense
            org.opencontainers.image.source=https://gitea.futureporn.net/futureporn/fp
            org.opencontainers.image.url=https://gitea.futureporn.net/futureporn/-/packages/container/tracker-helper
          secrets: |
            TRACKER_HELPER_USERNAME=${{ secrets.TRACKER_HELPER_USERNAME }}
            TRACKER_HELPER_PASSWORD=${{ secrets.TRACKER_HELPER_PASSWORD }}

      - name: Build futureporn/tracker
        uses: docker/build-push-action@v6
        with:
          context: ./apps/tracker
          push: true
          tags: gitea.futureporn.net/futureporn/tracker:latest
          labels: |
            org.opencontainers.image.description=Aquatic tracker with custom helper service, adding info_hash accesslist operations via HTTP
            org.opencontainers.image.title=tracker
            org.opencontainers.image.licenses=unlicense
            org.opencontainers.image.source=https://gitea.futureporn.net/futureporn/fp
            org.opencontainers.image.url=https://gitea.futureporn.net/futureporn/-/packages/container/tracker
          secrets: |
            TRACKER_HELPER_USERNAME=${{ secrets.TRACKER_HELPER_USERNAME }}
            TRACKER_HELPER_PASSWORD=${{ secrets.TRACKER_HELPER_PASSWORD }}

      # - name: Build futureporn/bright
      #   uses: docker/build-push-action@v6
      #   with:
      #     context: ./apps/bright
      #     push: true
      #     tags: gitea.futureporn.net/futureporn/bright:latest
      #     build-args: |
      #       MIX_ENV=prod
      #     labels: |
      #       org.opencontainers.image.description=The Galaxy's Best VTuber hentai site
      #       org.opencontainers.image.title=bright
      #       org.opencontainers.image.created={{commit_date 'YYYY-MM-DDTHH:mm:ss.SSS[Z]'}}
      #       org.opencontainers.image.version={{version}}
      #       org.opencontainers.image.licenses=unlicense
      #       org.opencontainers.image.source=https://gitea.futureporn.net/futureporn/fp
      #       org.opencontainers.image.url=https://gitea.futureporn.net/futureporn/-/packages/container/bright