Skip to content

[Automation] Update supported library versions 2026-07-21T13:57 #5720

[Automation] Update supported library versions 2026-07-21T13:57

[Automation] Update supported library versions 2026-07-21T13:57 #5720

# Scans allowed Docker images with grype via checkAllowedDockerImages (§TCK-test-harness.6):
# changed images on PRs, all images on a weekly schedule. §CI-scan-docker-images.
name: "Scan docker images from the allowed docker images list"
on:
# we run this job if somebody wants to add/update allowed docker images
pull_request:
# we run this job once a week to check if new vulnerabilities are found in existing images
schedule:
- cron: "0 0 * * 6"
permissions:
contents: read
jobs:
scan-images:
name: "🔎 Scan docker images"
runs-on: "ubuntu-22.04"
steps:
- name: "☁️ Checkout repository"
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
with:
fetch-depth: 0
- name: "🔎 Detect relevant file changes"
id: filter
uses: ./.github/actions/detect-file-changes
with:
file-patterns: |
- 'tests/tck-build-logic/src/main/resources/allowed-docker-images/**'
- uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4
if: github.event_name == 'schedule' || steps.filter.outputs.changed == 'true'
with:
distribution: 'graalvm'
java-version: '25'
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: "Install required tools"
if: github.event_name == 'schedule' || steps.filter.outputs.changed == 'true'
run: |
GRYPE_VERSION="v0.104.0"
GRYPE_VERSION_NO_V="${GRYPE_VERSION#v}"
GRYPE_TARBALL="grype_${GRYPE_VERSION_NO_V}_linux_amd64.tar.gz"
GRYPE_BASE_URL="https://github.com/anchore/grype/releases/download/${GRYPE_VERSION}"
curl -sSfL -o "${GRYPE_TARBALL}" "${GRYPE_BASE_URL}/${GRYPE_TARBALL}"
curl -sSfL -o grype_checksums.txt "${GRYPE_BASE_URL}/grype_${GRYPE_VERSION_NO_V}_checksums.txt"
grep " ${GRYPE_TARBALL}$" grype_checksums.txt | sha256sum -c -
tar -xzf "${GRYPE_TARBALL}" grype
sudo install -m 0755 grype /usr/local/bin/grype
sudo apt-get install jq
- name: "🔎 Check changed docker images"
if: github.event_name == 'pull_request' && steps.filter.outputs.changed == 'true'
run: ./gradlew checkAllowedDockerImages --baseCommit=${{ github.event.pull_request.base.sha }} --newCommit=${{ github.event.pull_request.head.sha }}
- name: "🔎 Check all docker images"
if: github.event_name == 'schedule' && github.repository == 'oracle/graalvm-reachability-metadata'
run: ./gradlew checkAllowedDockerImages