Skip to content
This repository was archived by the owner on Aug 4, 2025. It is now read-only.

Commit 4a2af6b

Browse files
Add detect-secrets integration with GitHub Actions and Makefile
Issue: https://github.ibm.com/cloudant/releng/issues/1062 Added GitHub Action to scan secrets on PRs Included Makefile for easy baseline updates Auto-installs detect-secrets and cleans up Added short README for developer usage Configured baseline with exclusions and plugin tweaks
1 parent a012f48 commit 4a2af6b

File tree

4 files changed

+14963
-0
lines changed

4 files changed

+14963
-0
lines changed
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
name: Detect Secrets Scan
2+
3+
on:
4+
push:
5+
branches: ["**"]
6+
pull_request:
7+
branches: [main]
8+
9+
jobs:
10+
detect-secrets:
11+
name: Scan for Secrets (uses committed baseline config)
12+
runs-on: ubuntu-latest
13+
14+
steps:
15+
- name: Checkout code
16+
uses: actions/checkout@v4
17+
18+
- name: Set up Python
19+
uses: actions/setup-python@v5
20+
with:
21+
python-version: '3.11'
22+
23+
- name: Install detect-secrets
24+
run: pip install git+https://github.com/ibm/detect-secrets.git@master#egg=detect-secrets
25+
26+
- name: Compare baseline
27+
run: |
28+
cp .secrets.baseline .secrets.baseline.bak
29+
detect-secrets scan --update .secrets.baseline --suppress-unscannable-file-warnings
30+
31+
grep -v '"generated_at":' .secrets.baseline.bak > before.cleaned
32+
grep -v '"generated_at":' .secrets.baseline > after.cleaned
33+
34+
if ! diff before.cleaned after.cleaned > secrets.diff; then
35+
echo "::error::Secrets baseline changed (excluding timestamp)."
36+
cat secrets.diff
37+
rm .secrets.baseline.bak before.cleaned after.cleaned secrets.diff
38+
exit 1
39+
else
40+
echo "✅ No actual secret changes detected."
41+
rm .secrets.baseline.bak before.cleaned after.cleaned secrets.diff
42+
fi

0 commit comments

Comments
 (0)