Add Docker Scout login fallback and temporary caching.
All checks were successful
Container CVE Scan (development) / Scan backend/frontend images for CVEs (push) Successful in 1m57s
PostgreSQL Compatibility Matrix / PG14 smoke (push) Successful in 8s
PostgreSQL Compatibility Matrix / PG15 smoke (push) Successful in 7s
PostgreSQL Compatibility Matrix / PG16 smoke (push) Successful in 7s
PostgreSQL Compatibility Matrix / PG17 smoke (push) Successful in 8s
PostgreSQL Compatibility Matrix / PG18 smoke (push) Successful in 7s
All checks were successful
Container CVE Scan (development) / Scan backend/frontend images for CVEs (push) Successful in 1m57s
PostgreSQL Compatibility Matrix / PG14 smoke (push) Successful in 8s
PostgreSQL Compatibility Matrix / PG15 smoke (push) Successful in 7s
PostgreSQL Compatibility Matrix / PG16 smoke (push) Successful in 7s
PostgreSQL Compatibility Matrix / PG17 smoke (push) Successful in 8s
PostgreSQL Compatibility Matrix / PG18 smoke (push) Successful in 7s
This update introduces a fallback mechanism for Docker Scout login when DockerHub credentials are unavailable, ensuring the workflow does not fail. It also replaces direct Docker config usage with temporary caching to improve flexibility and reduce dependency on runner environment setups.
This commit is contained in:
@@ -24,6 +24,21 @@ jobs:
|
|||||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||||
|
|
||||||
|
- name: Docker Scout login bootstrap
|
||||||
|
continue-on-error: true
|
||||||
|
run: |
|
||||||
|
if [ -z "${{ secrets.DOCKERHUB_USERNAME }}" ] || [ -z "${{ secrets.DOCKERHUB_TOKEN }}" ]; then
|
||||||
|
echo "Docker Scout login skipped: DOCKERHUB_USERNAME/DOCKERHUB_TOKEN not set."
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
mkdir -p "$RUNNER_TEMP/scout-docker-config"
|
||||||
|
printf '%s' "${{ secrets.DOCKERHUB_TOKEN }}" | docker run --rm -i \
|
||||||
|
-e DOCKER_CONFIG=/home/scout/.docker \
|
||||||
|
-v "$RUNNER_TEMP/scout-docker-config:/home/scout/.docker" \
|
||||||
|
docker/scout-cli:latest login \
|
||||||
|
--username "${{ secrets.DOCKERHUB_USERNAME }}" \
|
||||||
|
--password-stdin || true
|
||||||
|
|
||||||
- name: Build backend image (local)
|
- name: Build backend image (local)
|
||||||
uses: docker/build-push-action@v6
|
uses: docker/build-push-action@v6
|
||||||
with:
|
with:
|
||||||
@@ -100,15 +115,12 @@ jobs:
|
|||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
if [ ! -f "$HOME/.docker/config.json" ]; then
|
if [ ! -f "$HOME/.docker/config.json" ]; then
|
||||||
echo "Docker Hub Scout scan skipped: docker login config not found in runner." > scout-backend.txt
|
echo "Runner Docker config not found; continuing with Scout login cache if present." > scout-backend.txt
|
||||||
exit 0
|
|
||||||
fi
|
fi
|
||||||
docker run --rm \
|
docker run --rm \
|
||||||
-v /var/run/docker.sock:/var/run/docker.sock \
|
-v /var/run/docker.sock:/var/run/docker.sock \
|
||||||
-v "$HOME/.docker:/home/scout/.docker:ro" \
|
-v "$RUNNER_TEMP/scout-docker-config:/home/scout/.docker" \
|
||||||
-e DOCKER_CONFIG=/home/scout/.docker \
|
-e DOCKER_CONFIG=/home/scout/.docker \
|
||||||
-e DOCKER_SCOUT_HUB_USER="${{ secrets.DOCKERHUB_USERNAME }}" \
|
|
||||||
-e DOCKER_SCOUT_HUB_PAT="${{ secrets.DOCKERHUB_TOKEN }}" \
|
|
||||||
docker/scout-cli:latest cves nexapg-backend:dev-scan \
|
docker/scout-cli:latest cves nexapg-backend:dev-scan \
|
||||||
--only-severity critical,high,medium,low > scout-backend.txt 2>&1 || {
|
--only-severity critical,high,medium,low > scout-backend.txt 2>&1 || {
|
||||||
echo "" >> scout-backend.txt
|
echo "" >> scout-backend.txt
|
||||||
@@ -123,15 +135,12 @@ jobs:
|
|||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
if [ ! -f "$HOME/.docker/config.json" ]; then
|
if [ ! -f "$HOME/.docker/config.json" ]; then
|
||||||
echo "Docker Hub Scout scan skipped: docker login config not found in runner." > scout-frontend.txt
|
echo "Runner Docker config not found; continuing with Scout login cache if present." > scout-frontend.txt
|
||||||
exit 0
|
|
||||||
fi
|
fi
|
||||||
docker run --rm \
|
docker run --rm \
|
||||||
-v /var/run/docker.sock:/var/run/docker.sock \
|
-v /var/run/docker.sock:/var/run/docker.sock \
|
||||||
-v "$HOME/.docker:/home/scout/.docker:ro" \
|
-v "$RUNNER_TEMP/scout-docker-config:/home/scout/.docker" \
|
||||||
-e DOCKER_CONFIG=/home/scout/.docker \
|
-e DOCKER_CONFIG=/home/scout/.docker \
|
||||||
-e DOCKER_SCOUT_HUB_USER="${{ secrets.DOCKERHUB_USERNAME }}" \
|
|
||||||
-e DOCKER_SCOUT_HUB_PAT="${{ secrets.DOCKERHUB_TOKEN }}" \
|
|
||||||
docker/scout-cli:latest cves nexapg-frontend:dev-scan \
|
docker/scout-cli:latest cves nexapg-frontend:dev-scan \
|
||||||
--only-severity critical,high,medium,low > scout-frontend.txt 2>&1 || {
|
--only-severity critical,high,medium,low > scout-frontend.txt 2>&1 || {
|
||||||
echo "" >> scout-frontend.txt
|
echo "" >> scout-frontend.txt
|
||||||
|
|||||||
Reference in New Issue
Block a user