Commit f508c03
fix(ci): remove the unrunnable SonarCloud step breaking Governance + CodeQL (#139)
## What
Removes `SonarSource/sonarqube-scan-action@master` from four workflows.
This single unpinned action is the **sole cause of both remaining red
checks on `main`**.
## Why both checks are red
| Check | Error |
|---|---|
| `governance / Workflow security linter` | `ERROR: Found unpinned
actions:`<br>`.github/workflows/codeql.yml:58: uses:
SonarSource/sonarqube-scan-action@master` |
| `CodeQL Security Analysis` | `##[error]The action
sonarsource/sonarqube-scan-action@master is not allowed in
hyperpolymath/maa-framework because all actions must be pinned to a
full-length commit SHA.` |
The CodeQL one is a **startup rejection** by the org ruleset — the
`analyze` job died with zero steps executed. No lint-shaped error, and
nothing useful in `gh pr checks`.
## Why removed, not pinned
Pinning alone cannot make this step work. Measured:
- **No `SONAR_TOKEN` secret** on this repo (`gh secret list` — 8
secrets, none is Sonar)
- **No sonar config** anywhere in the tree (`git ls-tree -r origin/main
| grep -i sonar` → empty)
- **No `with:` or `env:`** on the step, so no project key and no
organization
- It was appended **inside the CodeQL matrix job**, so it would run once
per language
- In two files it was jammed between a step and the next job key **with
no blank line**
Pinning would have swapped a pinning error for an auth error and left
`main` red.
## Scope
| File | Status |
|---|---|
| `.github/workflows/codeql.yml` | **live** — this is the one breaking
CI |
| `aletheia/.github/workflows/codeql.yml` | inert |
| `aletheia/.github/workflows/rust-ci.yml` | inert |
| `aletheia/extraction/rhodibot/.github/workflows/ci.yml` | inert |
The three `aletheia/` copies are inert because **Actions reads
`.github/workflows/` at the repository root only** — that subtree has
never executed. They are removed anyway so the defect cannot return the
moment anyone promotes one of those files to the root. Trailing newlines
the sweep dropped are also restored.
## Verification
- All four files parse — `yq eval '.jobs | keys'`
- Job keys intact — `test,security,coverage` and
`check,test,build,self-verify`
- Governance linter replicated locally: `All actions are SHA-pinned` +
`All workflows have SPDX headers + permissions`
## Adopting SonarCloud properly later
One root workflow only, pinned to a SHA, with `SONAR_TOKEN` wired and a
`sonar-project.properties` committed. Note the estate finding that a
minted repo's `sonar.projectKey` can still point at the template's Sonar
project.
## Not in this PR
- **#124 / #125** (aletheia CLI + clippy) — blocked on a product
decision about the source of truth for RSR checks
- The `squisher-corpus` `guix.scm` clobber — **not on `origin/main`**;
`origin/main`'s copy is correct. Local-only, handled separately.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>1 parent 7b6a293 commit f508c03
4 files changed
Lines changed: 0 additions & 10 deletions
File tree
- .github/workflows
- aletheia
- .github/workflows
- extraction/rhodibot/.github/workflows
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
53 | 53 | | |
54 | 54 | | |
55 | 55 | | |
56 | | - | |
57 | | - | |
58 | | - | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
40 | 40 | | |
41 | 41 | | |
42 | 42 | | |
43 | | - | |
44 | | - | |
45 | | - | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
28 | 28 | | |
29 | 29 | | |
30 | 30 | | |
31 | | - | |
32 | | - | |
33 | 31 | | |
34 | 32 | | |
35 | 33 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
45 | 45 | | |
46 | 46 | | |
47 | 47 | | |
48 | | - | |
49 | | - | |
50 | 48 | | |
51 | 49 | | |
52 | 50 | | |
| |||
0 commit comments