Skip to content

ci: supply-chain baseline (P3): least-privilege jobs, zizmor, Dependabot cooldowns - #3

Merged
jschuller merged 1 commit into
mainfrom
ci/supply-chain-baseline
Oct 21, 2026
Merged

jschuller merged 1 commit into
mainfrom
ci/supply-chain-baseline

Conversation

@jschuller

Copy link
Copy Markdown
Owner

Supply-chain baseline, step P3 (Tier 2: public repos). References: jschuller/homelab-governance (ci.yml, .github/zizmor.yml, .github/dependabot.yml), jschuller/health-lakehouse#25, jschuller/chatops#15.

What changed

  • ci.yml: top-level permissions: {}; each job asks for contents: read only. A concurrency group (a newer push supersedes a running check).
  • zizmor 1.30.1 job (zizmorcore/zizmor-action v0.6.4 cc914d7f, 2026-09-09), configured by .github/zizmor.yml (hash-pin every action, Dependabot cooldown at least 7 days), as in homelab-governance.
  • New .github/dependabot.yml, each entry with a 7-day cooldown:
    • github-actions.
    • docker, for the two LOCAL MOD FROM lines in Dockerfile (the CLAUDE.md bump procedure still applies).
      • Dockerfile.unmodified is ServiceNow-signed vendor content, so exclude-paths leaves it alone.
      • Major bumps are ignored: EL9 is deliberate (AlmaLinux 10 needs x86-64-v3), and a builder JDK bump must pass the signature gate first.
      • Without majors, semver-major-days has nothing to act on.

Already in place and unchanged: checkout v7.0.1 by SHA with persist-credentials: false. The MID installer URL is not something Dependabot can track; it stays manual (scripts/get_mid_url.sh).

Checks

  • tests/get_mid_url_test.sh: all passed. shellcheck runs in CI.
  • zizmor 1.30.1 offline: no findings (2 suppressed by persona); the auditor persona reports 2 informational findings only.
  • check_pr_ci.py: no findings.

Nothing to apply; merging is the owner's.

…bot cooldowns

The workflow grants nothing and each job asks for contents: read; a concurrency group; a zizmor 1.30.1 job
(zizmor-action v0.6.4 by SHA) with .github/zizmor.yml as in homelab-governance; .github/dependabot.yml for the
pinned GitHub Actions and the Dockerfile's two LOCAL MOD FROM lines (Dockerfile.unmodified excluded, majors
ignored), each with a 7-day cooldown.
@jschuller
jschuller merged commit 06f553a into main Oct 21, 2026
2 checks passed
@jschuller
jschuller deleted the ci/supply-chain-baseline branch October 21, 2026 01:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants