Skip to content

Commit 11efa1b

Browse files
committed
ci: add CodeQL SAST workflow
- analyze Rust sources on push/PR to master + weekly, results to code-scanning - actions pinned by SHA, docs-only changes ignored, least-privilege permissions - changelog: document the SAST workflow under Security & governance
1 parent ea7edfc commit 11efa1b

2 files changed

Lines changed: 50 additions & 0 deletions

File tree

.github/workflows/codeql.yml

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
name: CodeQL
2+
3+
# Static application security testing (SAST). Analyzes the Rust sources with
4+
# CodeQL on every push/PR to master and weekly, publishing findings to the
5+
# Security tab (code-scanning).
6+
7+
on:
8+
push:
9+
branches: [ "master" ]
10+
paths-ignore: &doc-paths
11+
- '**.md'
12+
- 'docs/**'
13+
- 'mkdocs.yml'
14+
- 'LICENSE'
15+
pull_request:
16+
branches: [ "master" ]
17+
paths-ignore: *doc-paths
18+
schedule:
19+
- cron: '17 4 * * 1'
20+
21+
permissions:
22+
contents: read
23+
24+
jobs:
25+
analyze:
26+
name: Analyze (rust)
27+
runs-on: ubuntu-latest
28+
permissions:
29+
security-events: write # upload results to code-scanning
30+
actions: read
31+
contents: read
32+
33+
steps:
34+
- name: Checkout
35+
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
36+
37+
- name: Initialize CodeQL
38+
uses: github/codeql-action/init@8aad20d150bbac5944a9f9d289da16a4b0d87c1e # v4.36.2
39+
with:
40+
languages: rust
41+
build-mode: none
42+
43+
- name: Perform CodeQL analysis
44+
uses: github/codeql-action/analyze@8aad20d150bbac5944a9f9d289da16a4b0d87c1e # v4.36.2
45+
with:
46+
category: "/language:rust"

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,10 @@ for the full directory.
150150
- **`.github/dependabot.yml`** — weekly version updates for the
151151
`github-actions` and `cargo` ecosystems, keeping the pinned SHAs and
152152
crate dependencies fresh (Scorecard *Dependency-Update-Tool*).
153+
- **CodeQL (SAST)** — new `.github/workflows/codeql.yml` running static
154+
analysis on the Rust sources (push/PR to `master` + weekly), publishing
155+
to the Security tab. Satisfies the Scorecard *SAST* check (actions
156+
pinned by SHA, docs-only changes ignored).
153157
- **CI tweaks** — the Scorecard workflow gained `workflow_dispatch` for
154158
on-demand re-scans; the benchmark job is skipped for `dependabot[bot]`
155159
(dependency bumps don't need a bench run, and Dependabot's read-only

0 commit comments

Comments
 (0)