Skip to content

Commit b1d2385

Browse files
szachovyCopilot
andcommitted
Add CodeQL code scanning and extend Dependabot coverage
- Add CodeQL workflow for Python static analysis on push and weekly schedule - Add github-actions ecosystem to Dependabot for CI/CD action version updates - Add terraform ecosystem to Dependabot for provider version updates - Document supply chain security (code scanning and dependency management) in SECURITY.md - Update CHANGELOG.md Closes #29 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent c881b96 commit b1d2385

4 files changed

Lines changed: 59 additions & 0 deletions

File tree

.github/dependabot.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,11 @@ updates:
99
directory: "./tests/testsuite/roles/testing/files"
1010
schedule:
1111
interval: "weekly"
12+
- package-ecosystem: "github-actions"
13+
directory: "/"
14+
schedule:
15+
interval: "weekly"
16+
- package-ecosystem: "terraform"
17+
directory: "./tests/setup"
18+
schedule:
19+
interval: "weekly"

.github/workflows/codeql.yml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
---
2+
name: "CodeQL"
3+
4+
on: # yamllint disable-line rule:truthy
5+
push:
6+
branches: "**"
7+
schedule:
8+
- cron: "0 6 * * 1"
9+
10+
jobs:
11+
analyze:
12+
runs-on: "ubuntu-22.04"
13+
permissions:
14+
security-events: "write"
15+
strategy:
16+
fail-fast: false
17+
matrix:
18+
language: ["python"]
19+
steps:
20+
- uses: "actions/checkout@v4"
21+
- uses: "github/codeql-action/init@v3"
22+
with:
23+
languages: "${{ matrix.language }}"
24+
- uses: "github/codeql-action/analyze@v3"
25+
with:
26+
category: "/language:${{ matrix.language }}"

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1111

1212
* [PERFORMANCE.md](./docs/PERFORMANCE.md), [SECURITY.md](./docs/SECURITY.md) and
1313
[RELIABILITY.md](./docs/RELIABILITY.md) documents in the documentation. (#93)
14+
* CodeQL code scanning workflow for Python static analysis. (#29)
15+
* Dependabot updates for `github-actions` and `terraform` ecosystems. (#29)
1416

1517
### Changed
1618

docs/SECURITY.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,3 +119,26 @@ sources.
119119
- Gunicorn (port 8088) binds to `localhost` only, accessible exclusively through the Nginx reverse proxy.
120120
- IPv6 should be disabled or configured to be non-routable to prevent unintended network exposure.
121121
- DNS resolution between nodes is required for InnoDB Cluster group replication and SSH connectivity.
122+
123+
## Supply Chain Security
124+
125+
### Code Scanning
126+
127+
[CodeQL](https://codeql.github.com/) runs on every push and weekly via a scheduled workflow, performing static
128+
analysis on all Python source code. Results are reported to the GitHub Security tab under
129+
[Code scanning alerts](https://github.com/szachovy/superset-cluster/security/code-scanning).
130+
131+
### Dependency Management
132+
133+
[Dependabot](https://docs.github.com/en/code-security/dependabot) is configured to monitor and automatically
134+
propose updates for the following ecosystems on a weekly schedule:
135+
136+
| Ecosystem | Directory | Scope |
137+
|-----------|-----------|-------|
138+
| `docker` | `./tests/setup` | Base image updates |
139+
| `pip` | `./tests/testsuite/roles/testing/files` | Python test dependencies |
140+
| `github-actions` | `/` | CI/CD action versions |
141+
| `terraform` | `./tests/setup` | Terraform provider versions |
142+
143+
Dependabot alerts for known vulnerabilities are available in the
144+
[Security tab](https://github.com/szachovy/superset-cluster/security/dependabot).

0 commit comments

Comments
 (0)