name: Trivy Container Scanning

on:
  workflow_call:

jobs:
  build:
    name: Build and Scan Container
    runs-on: ubuntu-latest
    strategy:
      fail-fast: true
    steps:
      - name: Checkout code
        uses: actions/checkout@v4

      - name: Build Dockerfile
        run: |
          docker build -t mealie --file=./docker/Dockerfile .

      - name: Run Trivy vulnerability scanner
        uses: aquasecurity/trivy-action@master
        with:
          ignore-unfixed: true
          image-ref: "mealie"
          format: "sarif"
          output: "trivy-results.sarif"
        env:
          TRIVY_DB_REPOSITORY: ghcr.io/aquasecurity/trivy-db,public.ecr.aws/aquasecurity/trivy-db

      - name: Upload Trivy scan results to GitHub Security tab
        uses: github/codeql-action/upload-sarif@v3
        with:
          sarif_file: "trivy-results.sarif"
