diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d8ab81972..de1088365 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,6 +1,6 @@ --- # yaml-language-server: $schema=https://json.schemastore.org/github-workflow.json -name: Jellyseerr CI +name: Seerr CI on: pull_request: diff --git a/.github/workflows/preview.yml b/.github/workflows/preview.yml index 96e280e31..4b86393ce 100644 --- a/.github/workflows/preview.yml +++ b/.github/workflows/preview.yml @@ -1,6 +1,6 @@ --- # yaml-language-server: $schema=https://json.schemastore.org/github-workflow.json -name: Jellyseerr Preview +name: Seerr Preview on: push: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index cad9f2c45..2baa23854 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,6 +1,6 @@ --- # yaml-language-server: $schema=https://json.schemastore.org/github-workflow.json -name: Jellyseerr Release +name: Seerr Release on: workflow_dispatch: diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml index 8d940f04e..3a4ce1099 100644 --- a/.github/workflows/stale.yml +++ b/.github/workflows/stale.yml @@ -1,6 +1,6 @@ --- # yaml-language-server: $schema=https://json.schemastore.org/github-workflow.json -name: Close stale issues and PRs +name: Close Stale Issues and PRs on: schedule: diff --git a/.github/workflows/trivy-scan.yml b/.github/workflows/trivy-scan.yml new file mode 100644 index 000000000..d38021e94 --- /dev/null +++ b/.github/workflows/trivy-scan.yml @@ -0,0 +1,61 @@ +--- +# yaml-language-server: $schema=https://json.schemastore.org/github-workflow.json +name: Trivy Container Vulnerability Scan + +on: + workflow_run: + workflows: + - Jellyseerr Release + types: + - completed + schedule: + - cron: '50 7 * * 5' + workflow_dispatch: + +permissions: + contents: read + +concurrency: + group: trivy-scan-${{ github.ref }} + cancel-in-progress: true + +jobs: + trivy: + if: ${{ github.event_name != 'workflow_run' || github.event.workflow_run.conclusion == 'success' }} + name: Scan latest container image + runs-on: ubuntu-24.04 + + permissions: + contents: read + security-events: write + + env: + TRIVY_CACHE_DIR: .trivycache + + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + fetch-depth: 0 + persist-credentials: false + + - name: Cache Trivy DB + uses: actions/cache@v4 + with: + path: .trivycache + key: trivy-${{ runner.os }}-${{ hashFiles('**/Dockerfile') }} + restore-keys: | + trivy-${{ runner.os }}- + + - name: Run Trivy image scan + uses: aquasecurity/trivy-action@b6643a29fecd7f34b3597bc6acb0a98b03d33ff8 # v0.33.1 + with: + image-ref: ghcr.io/${{ github.repository }}:latest + format: sarif + output: trivy.sarif + ignore-unfixed: true + + - name: Upload SARIF to code scanning + uses: github/codeql-action/upload-sarif@v3 + with: + sarif_file: trivy.sarif