Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
60 commits
Select commit Hold shift + click to select a range
513dc57
feat: implement issue #547 — Compliance: secret_scan_ci_job_present
donpetry-bot Jun 10, 2026
a69ab0f
chore: apply manual instructions [skip ci-relay]
donpetry-bot Jun 10, 2026
adcf424
fix(reviews): address review comments [skip ci-relay]
donpetry-bot Jun 10, 2026
aec4754
Merge branch 'main' into dev-lead/issue-547-20260610-1406
don-petry Jun 10, 2026
24f15f0
Merge branch 'main' into dev-lead/issue-547-20260610-1406
don-petry Jun 10, 2026
df06774
Merge branch 'main' into dev-lead/issue-547-20260610-1406
don-petry Jun 10, 2026
0a06b6a
Merge branch 'main' into dev-lead/issue-547-20260610-1406
don-petry Jun 10, 2026
8046d2a
Merge branch 'main' into dev-lead/issue-547-20260610-1406
don-petry Jun 11, 2026
924f7e0
Merge branch 'main' into dev-lead/issue-547-20260610-1406
don-petry Jun 11, 2026
e0e5a7d
Merge branch 'main' into dev-lead/issue-547-20260610-1406
don-petry Jun 11, 2026
26188d1
Merge branch 'main' into dev-lead/issue-547-20260610-1406
don-petry Jun 11, 2026
32b6c3b
Merge branch 'main' into dev-lead/issue-547-20260610-1406
don-petry Jun 11, 2026
77d6e1d
Merge branch 'main' into dev-lead/issue-547-20260610-1406
don-petry Jun 11, 2026
888bb11
Merge branch 'main' into dev-lead/issue-547-20260610-1406
don-petry Jun 11, 2026
f8ed696
Merge branch 'main' into dev-lead/issue-547-20260610-1406
don-petry Jun 12, 2026
c1aeca2
Merge branch 'main' into dev-lead/issue-547-20260610-1406
don-petry Jun 12, 2026
62db57b
Merge branch 'main' into dev-lead/issue-547-20260610-1406
don-petry Jun 12, 2026
a15d7e4
Merge branch 'main' into dev-lead/issue-547-20260610-1406
don-petry Jun 12, 2026
dc4c7f6
Merge branch 'main' into dev-lead/issue-547-20260610-1406
don-petry Jun 12, 2026
61e812e
Merge branch 'main' into dev-lead/issue-547-20260610-1406
don-petry Jun 13, 2026
dbca955
Merge branch 'main' into dev-lead/issue-547-20260610-1406
don-petry Jun 13, 2026
dca3f6b
Merge branch 'main' into dev-lead/issue-547-20260610-1406
github-actions[bot] Jun 13, 2026
a02fc90
Merge branch 'main' into dev-lead/issue-547-20260610-1406
github-actions[bot] Jun 13, 2026
75d53ac
Merge branch 'main' into dev-lead/issue-547-20260610-1406
github-actions[bot] Jun 13, 2026
5b632b9
Merge branch 'main' into dev-lead/issue-547-20260610-1406
github-actions[bot] Jun 13, 2026
3733226
Merge branch 'main' into dev-lead/issue-547-20260610-1406
github-actions[bot] Jun 13, 2026
c561dfe
Merge branch 'main' into dev-lead/issue-547-20260610-1406
don-petry Jun 13, 2026
6179edb
Merge branch 'main' into dev-lead/issue-547-20260610-1406
don-petry Jun 13, 2026
9bd4a10
Merge branch 'main' into dev-lead/issue-547-20260610-1406
don-petry Jun 13, 2026
77d9f38
Merge branch 'main' into dev-lead/issue-547-20260610-1406
don-petry Jun 13, 2026
fe8b666
Merge branch 'main' into dev-lead/issue-547-20260610-1406
don-petry Jun 14, 2026
d59b6eb
Merge branch 'main' into dev-lead/issue-547-20260610-1406
don-petry Jun 14, 2026
ab36b93
Merge branch 'main' into dev-lead/issue-547-20260610-1406
don-petry Jun 14, 2026
05207a5
Merge branch 'main' into dev-lead/issue-547-20260610-1406
don-petry Jun 14, 2026
08f634f
Merge branch 'main' into dev-lead/issue-547-20260610-1406
don-petry Jun 14, 2026
01c3594
Merge branch 'main' into dev-lead/issue-547-20260610-1406
don-petry Jun 14, 2026
ac0349d
Merge branch 'main' into dev-lead/issue-547-20260610-1406
don-petry Jun 14, 2026
353db6b
Merge branch 'main' into dev-lead/issue-547-20260610-1406
don-petry Jun 14, 2026
ec3a330
Merge branch 'main' into dev-lead/issue-547-20260610-1406
don-petry Jun 14, 2026
2ff9aba
Merge branch 'main' into dev-lead/issue-547-20260610-1406
don-petry Jun 14, 2026
5166fa3
Merge branch 'main' into dev-lead/issue-547-20260610-1406
don-petry Jun 14, 2026
8c99aae
Merge branch 'main' into dev-lead/issue-547-20260610-1406
don-petry Jun 14, 2026
1c2eeac
Merge branch 'main' into dev-lead/issue-547-20260610-1406
don-petry Jun 14, 2026
e2c3cdf
Merge branch 'main' into dev-lead/issue-547-20260610-1406
don-petry Jun 14, 2026
dc71541
Merge branch 'main' into dev-lead/issue-547-20260610-1406
don-petry Jun 14, 2026
be3e02f
Merge branch 'main' into dev-lead/issue-547-20260610-1406
don-petry Jun 14, 2026
9929ff8
Merge branch 'main' into dev-lead/issue-547-20260610-1406
don-petry Jun 14, 2026
ebf6dda
Merge branch 'main' into dev-lead/issue-547-20260610-1406
don-petry Jun 14, 2026
1d429c1
Merge branch 'main' into dev-lead/issue-547-20260610-1406
don-petry Jun 15, 2026
d7f6253
Merge branch 'main' into dev-lead/issue-547-20260610-1406
don-petry Jun 15, 2026
d9cb9f3
Merge branch 'main' into dev-lead/issue-547-20260610-1406
don-petry Jun 15, 2026
8fc7652
Merge branch 'main' into dev-lead/issue-547-20260610-1406
don-petry Jun 15, 2026
8f697ce
Merge branch 'main' into dev-lead/issue-547-20260610-1406
don-petry Jun 15, 2026
0086fce
Merge branch 'main' into dev-lead/issue-547-20260610-1406
don-petry Jun 15, 2026
40995f6
Merge branch 'main' into dev-lead/issue-547-20260610-1406
don-petry Jun 15, 2026
775b6b9
Merge branch 'main' into dev-lead/issue-547-20260610-1406
don-petry Jun 15, 2026
8bcff44
Merge branch 'main' into dev-lead/issue-547-20260610-1406
don-petry Jun 15, 2026
6bb32b2
Merge branch 'main' into dev-lead/issue-547-20260610-1406
don-petry Jun 15, 2026
54d5755
Merge branch 'main' into dev-lead/issue-547-20260610-1406
don-petry Jun 15, 2026
3bb538e
Merge branch 'main' into dev-lead/issue-547-20260610-1406
don-petry Jun 15, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 8 additions & 15 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -124,25 +124,18 @@ jobs:
runs-on: ubuntu-latest
permissions:
contents: read
security-events: write
steps:
- name: Checkout (full history)
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
fetch-depth: 0

- name: Run gitleaks
# Intentionally uses the gitleaks CLI rather than gitleaks/gitleaks-action (replaced
# to fix issue #408 — action behavior changes caused spurious workflow failures).
# If the org push-protection standard's secret_scan_ci_job_present compliance check
# requires gitleaks/gitleaks-action specifically, update that standard in
# petry-projects/.github/standards/push-protection.md to also accept the CLI approach.
run: |
GITLEAKS_VERSION="8.30.1"
GITLEAKS_SHA="551f6fc83ea457d62a0d98237cbad105af8d557003051f41f3e7ca7b3f2470eb"
curl --fail --location --retry 3 --retry-delay 5 -so gitleaks.tar.gz \
"https://github.com/gitleaks/gitleaks/releases/download/v${GITLEAKS_VERSION}/gitleaks_${GITLEAKS_VERSION}_linux_x64.tar.gz"
echo "${GITLEAKS_SHA} gitleaks.tar.gz" | sha256sum -c -
tar xzf gitleaks.tar.gz gitleaks
chmod +x gitleaks
rm gitleaks.tar.gz
./gitleaks detect --source . --redact --verbose --exit-code 1
# SHA pinned per Action Pinning Policy (ci-standards.md#action-pinning-policy).
# Refresh: gh api repos/gitleaks/gitleaks-action/git/refs/tags/v2 --jq '.object.sha'
# then dereference if it points at an annotated tag.
uses: gitleaks/gitleaks-action@ff98106e4c7b2bc287b24eaf42907196329070c7 # v2.3.9
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITLEAKS_LICENSE: ${{ secrets.GITLEAKS_LICENSE }}
18 changes: 18 additions & 0 deletions tests/test_push_protection.bats
Original file line number Diff line number Diff line change
Expand Up @@ -144,3 +144,21 @@ teardown() {
# must not abort callers running under set -euo pipefail; exit code must be 0.
[ "$status" -eq 0 ]
}

# ---------------------------------------------------------------------------
# secret_scan_ci_job_present — ci.yml must use gitleaks/gitleaks-action
# (mirrors the org compliance check in petry-projects/.github/standards/
# push-protection.md#compliance-audit-checks)
# ---------------------------------------------------------------------------

@test "ci.yml secret-scan job uses gitleaks/gitleaks-action" {
local ci_yaml
ci_yaml="$(dirname "$BATS_TEST_FILENAME")/../.github/workflows/ci.yml"
grep -qE "uses:[[:space:]]*['\"]?gitleaks/gitleaks-action" "$ci_yaml"
}

@test "ci.yml secret-scan job has security-events write permission" {
local ci_yaml
ci_yaml="$(dirname "$BATS_TEST_FILENAME")/../.github/workflows/ci.yml"
grep -qE "security-events:[[:space:]]*['\"]?write['\"]?" "$ci_yaml"
}
Comment thread
don-petry marked this conversation as resolved.
Loading