Skip to content

Commit b88190a

Browse files
committed
ci: PLT-770: update gitleks
1 parent 9693be0 commit b88190a

File tree

1 file changed

+84
-0
lines changed

1 file changed

+84
-0
lines changed

.github/workflows/gitleaks.yml

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
name: "Gitleaks"
2+
3+
on:
4+
push:
5+
branches:
6+
- master
7+
tags-ignore:
8+
- '**'
9+
pull_request:
10+
types:
11+
- opened
12+
- synchronize
13+
- reopened
14+
- ready_for_review
15+
branches:
16+
- master
17+
- 'release/**'
18+
19+
env:
20+
ACTIONS_STEP_DEBUG: '${{ secrets.ACTIONS_STEP_DEBUG }}'
21+
22+
jobs:
23+
gitleaks:
24+
name: "Gitleaks"
25+
runs-on: ubuntu-latest
26+
steps:
27+
- uses: hmarr/debug-action@v3.0.0
28+
29+
- name: install
30+
shell: bash
31+
run: |
32+
set -euo pipefail
33+
arch="$(uname)_$(uname -m)"
34+
platform=$(echo $arch | tr '[:upper:]' '[:lower:]' )
35+
echo "PLATFORM=$platform" >> $GITHUB_ENV
36+
echo "GITLEAKS_VERSION=$(curl -s https://api.github.com/repos/gitleaks/gitleaks/releases/latest | grep '"tag_name":' | sed -E 's/.*"v([^"]+)".*/\1/')" >> $GITHUB_ENV
37+
38+
- name: Cache gitleaks archive
39+
id: cache_gitleaks
40+
uses: actions/cache@v4
41+
with:
42+
path: /usr/local/bin/gitleaks
43+
key: gitleaks-${{ env.PLATFORM }}-${{ env.GITLEAKS_VERSION }}
44+
45+
- name: Download and configure gitleaks
46+
shell: bash
47+
run: |
48+
set -euo pipefail
49+
if [[ "${{ steps.cache_gitleaks.outputs.cache-hit }}" != "true" ]]; then
50+
DOWNLOAD_URL="https://github.com/gitleaks/gitleaks/releases/download/v${{ env.GITLEAKS_VERSION }}/gitleaks_${{ env.GITLEAKS_VERSION }}_linux_x64.tar.gz"
51+
echo "Download Gitleaks ${{ env.GITLEAKS_VERSION }} for ${{ env.PLATFORM }} from ${DOWNLOAD_URL}"
52+
curl -fsSL "$DOWNLOAD_URL" | tar xzf - -C /usr/local/bin
53+
fi
54+
chmod +x /usr/local/bin/gitleaks
55+
56+
- name: Checkout
57+
uses: actions/checkout@v4
58+
with:
59+
submodules: 'recursive'
60+
token: ${{ secrets.GIT_PAT }}
61+
fetch-depth: 0
62+
63+
- name: Run gitleaks
64+
run: |
65+
set -euo pipefail ${ACTIONS_STEP_DEBUG:+-x}
66+
67+
gitleaks \
68+
detect \
69+
--source="." \
70+
--redact \
71+
-v \
72+
--exit-code=2 \
73+
--report-format=sarif \
74+
--report-path=results.sarif \
75+
--log-level=debug \
76+
--log-opts='${{ github.event.pull_request.base.sha || github.event.before }}..${{ github.event.pull_request.head.sha || github.event.after }}'
77+
78+
- name: Upload test results
79+
if: failure()
80+
uses: actions/upload-artifact@v4
81+
with:
82+
name: GitLeaks results
83+
path: results.sarif
84+
retention-days: 14

0 commit comments

Comments
 (0)