name: Nightly Security Scan on: schedule: - cron: '0 0 * * *' # 12am UTC daily runtime workflow_dispatch: jobs: scan-image: name: Scan Docker Image runs-on: ubuntu-latest steps: - name: Check out code uses: actions/checkout@v4 with: submodules: recursive - name: Build the Docker image run: docker build . -t appwrite_image:latest - name: Run Trivy vulnerability scanner on image uses: aquasecurity/trivy-action@0.20.0 with: image-ref: 'appwrite_image:latest' format: 'sarif' output: 'trivy-image-results.sarif' ignore-unfixed: 'false' severity: 'CRITICAL,HIGH' - name: Upload Docker Image Scan Results uses: github/codeql-action/upload-sarif@v2 with: sarif_file: 'trivy-image-results.sarif' scan-code: name: Scan Code runs-on: ubuntu-latest steps: - name: Check out code uses: actions/checkout@v4 - name: Run Trivy vulnerability scanner on filesystem uses: aquasecurity/trivy-action@0.20.0 with: scan-type: 'fs' format: 'sarif' output: 'trivy-fs-results.sarif' severity: 'CRITICAL,HIGH' - name: Upload Code Scan Results uses: github/codeql-action/upload-sarif@v2 with: sarif_file: 'trivy-fs-results.sarif'