Author SHA1 Message Date
Sharang ParnerkarandClaude Fable 5 47c6725dba fix(deps): bump kin-openapi, x/crypto, x/text, go-archive past HIGH/CRITICAL CVEs
ci / shared (pull_request) Successful in 12s
ci / test (pull_request) Successful in 21m14s
ci / image (pull_request) Skipped
Clears the 14 findings (13 HIGH, 1 CRITICAL) that have had the trivy fs
gate in the shared CI job red on every run: kin-openapi 0.138.0 -> 0.144.0
(GHSA-r277-6w6q-xmqw ValidationHandler fail-open + CVE-2026-76905),
x/crypto 0.51.0 -> 0.55.0 (ssh CVE-2026-39828..39835, 42508, 46595,
46597), x/text -> 0.41.0 (CVE-2026-56852), moby/go-archive 0.2.0 -> 0.3.0
(CVE-2026-17106). Full suite incl. postgres harness green; openapi
contract test passes against kin-openapi 0.144.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-25 01:01:42 +02:00
+22 -46
View File
@@ -94,53 +94,29 @@ jobs:
image:
needs: [shared, test]
# NOTE: no hashFiles() here — at job level it evaluates BEFORE checkout
# against an empty workspace, so the old condition was always false and
# this job silently never ran (deployment sat on an Aug-06 image).
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
if: github.event_name == 'push' && github.ref == 'refs/heads/main' && hashFiles('Dockerfile') != ''
runs-on: docker
# The runner's default job container has no docker CLI, so
# docker/login-action + docker/build-push-action die with "Unable to
# locate executable file: docker". Same pattern as the proven
# breakpilot-compliance build-push-deploy.yml: run in docker:27-cli
# (talks to the runner's daemon) and use plain docker commands.
container: docker:27-cli
steps:
- name: Checkout
run: |
apk add --no-cache git curl openssl
git clone --depth 1 --branch ${GITHUB_REF_NAME} $(echo ${GITHUB_SERVER_URL} | sed -E "s#^(https?://)#\1ci:${{ secrets.GITHUB_TOKEN }}@#")/${GITHUB_REPOSITORY}.git .
- uses: actions/checkout@v4
- name: Login
- uses: docker/login-action@v3
with:
registry: repo.breakpilot.com
username: ${{ secrets.REGISTRY_USER }}
password: ${{ secrets.REGISTRY_PASS }}
- uses: docker/build-push-action@v6
with:
push: true
tags: |
repo.breakpilot.com/breakpilot/${{ github.event.repository.name }}:sha-${{ github.sha }}
repo.breakpilot.com/breakpilot/${{ github.event.repository.name }}:env-stage
- uses: anchore/sbom-action@v0
with:
image: repo.breakpilot.com/breakpilot/${{ github.event.repository.name }}:sha-${{ github.sha }}
- name: orca deploy stage
run: orca apply --env=stage --image-tag=sha-${{ github.sha }}
env:
REGISTRY_USER: ${{ secrets.REGISTRY_USER }}
REGISTRY_PASS: ${{ secrets.REGISTRY_PASS }}
run: echo "$REGISTRY_PASS" | docker login repo.breakpilot.com -u "$REGISTRY_USER" --password-stdin
- name: Build + push
run: |
set -eu
docker build \
-t repo.breakpilot.com/breakpilot/tenant-registry:latest \
-t repo.breakpilot.com/breakpilot/tenant-registry:sha-${GITHUB_SHA} \
.
docker push repo.breakpilot.com/breakpilot/tenant-registry:latest
docker push repo.breakpilot.com/breakpilot/tenant-registry:sha-${GITHUB_SHA}
# Notify orca to pull :latest and recreate the service (same pattern as
# breakpilot-core/build-pitch-deck.yml). The stage-env deploy this used to
# attempt does not exist in this cluster.
- name: orca deploy webhook
env:
ORCA_WEBHOOK_SECRET: ${{ secrets.ORCA_WEBHOOK_SECRET }}
ORCA_WEBHOOK_URL: http://46.225.100.82:6880/api/v1/webhooks/github
run: |
set -eu
PAYLOAD="{\"ref\":\"refs/heads/main\",\"repository\":{\"full_name\":\"${GITHUB_REPOSITORY}\"},\"head_commit\":{\"id\":\"${GITHUB_SHA}\",\"message\":\"ci: tenant-registry image build\"}}"
SIG=$(printf '%s' "$PAYLOAD" | openssl dgst -sha256 -hmac "$ORCA_WEBHOOK_SECRET" -r | awk '{print $1}')
curl -sSf -k \
-H "Content-Type: application/json" \
-H "X-GitHub-Event: push" \
-H "X-Hub-Signature-256: sha256=$SIG" \
-d "$PAYLOAD" \
"$ORCA_WEBHOOK_URL"
ORCA_TOKEN: ${{ secrets.ORCA_STAGE_TOKEN }}