name: Test and Build Docker Image on: push: pull_request: workflow_dispatch: schedule: - cron: "0 0 * * *" jobs: test: runs-on: ubuntu-latest env: SECRET_KEY: 1234567890 DEBUG: True ADMIN_EMAIL: 4153203+TheLovinator1@users.noreply.github.com EMAIL_HOST_USER: ${{ secrets.EMAIL_HOST_USER }} EMAIL_HOST_PASSWORD: ${{ secrets.EMAIL_HOST_PASSWORD }} steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 with: python-version: 3.13 - run: pipx install uv - run: uv venv - run: source .venv/bin/activate - run: pip install -r requirements.txt - run: pip install -r requirements-dev.txt - run: pytest build: runs-on: ubuntu-latest permissions: contents: read packages: write if: github.event_name != 'pull_request' concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true needs: test steps: - uses: actions/checkout@v4 - uses: docker/setup-buildx-action@v3 - uses: docker/login-action@v3 with: registry: ghcr.io username: ${{ github.repository_owner }} password: ${{ secrets.GITHUB_TOKEN }} - uses: docker/build-push-action@v5 with: context: . push: ${{ github.event_name != 'pull_request' }} tags: | ghcr.io/thelovinator1/feedvault:latest