Trivy Periodic Image Scan #103
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
# | |
# This workflow scans the published container images | |
# for new vulnerabilities daily, publishing findings. | |
# Findings will be associated with the 'main' branch | |
# of the repo' in the GitHub Security tab. | |
# | |
name: Trivy Periodic Image Scan | |
on: | |
schedule: | |
# run hourly, 10 minutes after the hour | |
- cron: "10 * * * *" # daily "0 0 * * *" | |
jobs: | |
lower-case: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Ensure image name is lower case | |
id: image_name | |
uses: vishalmamidi/lowercase-action@v1 | |
with: | |
string: ghcr.io/${{ github.repository }}:main # if rebuilding for a new tag does not also rebuild 'main', then change this to scan the latest tag | |
outputs: | |
lowercase: ${{ steps.image_name.outputs.lowercase }} | |
periodic-scan: | |
needs: lower-case | |
uses: "./.github/workflows/trivy.yml" | |
with: | |
SOURCE_TYPE: image | |
IMAGE_NAME: ${{ needs.lower-case.outputs.lowercase }} | |
# If scan failed, rebuild the image | |
update-image: | |
needs: periodic-scan | |
runs-on: ubuntu-latest | |
if: ${{needs.periodic-scan.outputs.trivy_conclusion == 'failure' }} | |
# tag the repo to trigger a new build | |
steps: | |
- name: Bump version and push tag | |
id: tag_version | |
uses: mathieudutour/[email protected] | |
with: | |
github_token: ${{ secrets.GITHUB_TOKEN }} | |
... |