name: Run Meta

on:
  schedule:
    - cron: '*/5 * * * *'
  workflow_dispatch:

jobs:
  run-docker:
    if: github.repository_owner == 'modrinth'
    runs-on: ubuntu-latest

    steps:
      - name: Checkout repository
        uses: actions/checkout@v3

      - name: Log in to GitHub Container Registry
        uses: docker/login-action@v2
        with:
          registry: ghcr.io
          username: ${{ github.actor }}
          password: ${{ secrets.GITHUB_TOKEN }}

      - name: Pull Docker image from GHCR
        run: docker pull ghcr.io/modrinth/daedalus:main

      - name: Run Docker container
        env:
          BASE_URL: ${{ secrets.BASE_URL }}
          S3_ACCESS_TOKEN: ${{ secrets.S3_ACCESS_TOKEN }}
          S3_SECRET: ${{ secrets.S3_SECRET }}
          S3_URL: ${{ secrets.S3_URL }}
          S3_REGION: ${{ secrets.S3_REGION }}
          S3_BUCKET_NAME: ${{ secrets.S3_BUCKET_NAME }}
          CLOUDFLARE_INTEGRATION: ${{ secrets.CLOUDFLARE_INTEGRATION }}
          CLOUDFLARE_TOKEN: ${{ secrets.CLOUDFLARE_TOKEN }}
          CLOUDFLARE_ZONE_ID: ${{ secrets.CLOUDFLARE_ZONE_ID }}
        run: |
          docker run \
            --name daedalus \
            -e RUST_LOG=warn,daedalus_client=trace \
            -e BASE_URL=$BASE_URL \
            -e S3_ACCESS_TOKEN=$S3_ACCESS_TOKEN \
            -e S3_SECRET=$S3_SECRET \
            -e S3_URL=$S3_URL \
            -e S3_REGION=$S3_REGION \
            -e S3_BUCKET_NAME=$S3_BUCKET_NAME \
            -e CLOUDFLARE_INTEGRATION=$CLOUDFLARE_INTEGRATION \
            -e CLOUDFLARE_TOKEN=$CLOUDFLARE_TOKEN \
            -e CLOUDFLARE_ZONE_ID=$CLOUDFLARE_ZONE_ID \
            ghcr.io/modrinth/daedalus:main
