← Back to issue list

ci: fix actionlint findings ahead of Starbase merge

View original Github issue

Metadata

Project
charmcraft
Number
#2897
Type
pull request
State
closed
Author
jahn-junior
Labels
—
Created
Updated
Closed

Current evaluation

PR #2897 (4 workflow files, +10/-32) fixing actionlint/zizmor findings — dropped paths-ignore from merge_group triggers, quoted shell expansions and $CHARMCRAFT_JSON/$proj_file, bound matrix.system via env. Approved by 2 reviewers, merged; OSV-scanner failure ruled unrelated.

Resolution: closed resolved

Reason: The pull request itself was the resolution: it was approved by 2 reviewers with 0 unresolved review comments and closed as merged into main, clearing the actionlint/zizmor findings (including the zizmor template-injection in spread-docs.yaml) ahead of the Starbase merge. The author confirmed the only failing check (Security scan / OSV-scanner) and the lint failure were unrelated to these changes.

Evaluated by: mr-cal-bot

No scores available.

Issue body

## Why The upcoming Starbase merge wires `actionlint` into CI/lint for the first time via a new `lint-actions` Make target and a new `.github/actionlint.yaml` config. This PR fixes the findings `actionlint` (and `zizmor`) surface against workflows on `main` today, so the merge lands with a clean run. It intentionally does not add `.github/actionlint.yaml` itself — that config is Starbase's own tool wiring and belongs in that merge, not here. ## What - `spread.yaml` / `tests.yaml`: remove `paths-ignore` from the `merge_group` trigger (actionlint flags this combination as invalid — `paths-ignore` has no effect on `merge_group` events) - `spread.yaml` / `spread-docs.yaml`: quote unquoted shell expansions (`$(spread -list ...)`, `$(go env GOPATH)`) flagged by shellcheck via actionlint - `schema.yaml`: quote `$CHARMCRAFT_JSON` and `$proj_file` in the ajv validation loop - `spread-docs.yaml`: bind `matrix.system` to an `env:` var instead of interpolating it directly into the `run:` shell script, fixing a `zizmor` `template-injection` finding ## Validation - `actionlint`: exit code 0, zero findings (verified locally with a temporary, uncommitted `actionlint.yaml` declaring the self-hosted runner labels already in use, since actionlint needs that config to avoid unrelated "unknown label" noise across the whole repo — that file is not part of this PR) - `uvx zizmor .github/workflows/spread-docs.yaml`: confirms the `template-injection` finding is resolved; remaining findings (`artipacked`, `excessive-permissions`, `unpinned-uses`) are pre-existing and out of scope for this PR - All touched YAML files validated with `python3 -c "import yaml; yaml.safe_load(...)"`

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed resolved PR #2897 (4 workflow files, +10/-32) fixing actionlint/zizmor findings — dropped paths-ignore from merge_group triggers, quoted shell expansions and $CHARMCRAFT_JSON/$proj_file, bound matrix.system via env. Approved by 2 reviewers, merged; OSV-scanner failure ruled unrelated.
stealth/space-bunny-alpha — closed resolved PR cleaning up actionlint/zizmor findings in workflows (dropped paths-ignore from merge_group, quoted shell expansions, matrix.system via env) was approved by 2 reviewers, no unresolved comments, and closed as merged; failing OSV-scanner confirmed unrelated.
stealth/space-bunny-alpha
Impact: 32
Quick Win: 13
Complexity: 22
Confidence: 68
Actionability: 52
needs review New maintainer PR (+10/-32, 4 workflow files) fixing actionlint/zizmor findings: drops paths-ignore from merge_group triggers, quotes shell expansions, and binds matrix.system via env in spread-docs.yaml. No reviews yet; 2 unresolved comments, lint/files and OSV-scanner failing.
stealth/space-bunny-alpha
Impact: 22
Quick Win: 10
Complexity: 15
Confidence: 72
Actionability: 55
needs review Maintainer PR fixing actionlint findings ahead of a Starbase merge: adds .github/actionlint.yaml runner labels, drops paths-ignore from merge_group triggers, and quotes shell vars in workflows. 0 reviews, 2 unresolved comments, OSV-scanner failing, test jobs pending.
stealth/space-bunny-alpha
Impact: 32
Quick Win: 13
Complexity: 23
Confidence: 82
Actionability: 52
needs review Adds actionlint runner labels and fixes workflow triggers and shell quoting; local actionlint and YAML validation reportedly pass, but CI still has lint/files and OSV failures with spread jobs pending.
stealth/space-bunny-alpha
Impact: 24
Quick Win: 8
Complexity: 19
Confidence: 86
Actionability: 43
needs review Adds actionlint runner configuration and fixes workflow merge_group filters, shell quoting, and validation quoting; local checks pass, but OSV and files-lint CI checks fail.
stealth/space-bunny-alpha
Impact: 30
Quick Win: 9
Complexity: 30
Confidence: 78
Actionability: 45
needs review Adds actionlint config and fixes workflow shell quoting and merge_group filters for the Starbase merge. Local validation is reported passing, but CI has OSV/lint failures, pending build checks, and an unresolved review thread.

Update history

Date Change
closed
updated
updated
updated
updated
updated
created

Related issues

Issue Project State Summary Similarity
#2893 ci: fix actionlint findings ahead of Starbase merge charmcraft closed Closed unmerged; its actionlint fixes were superseded by merged PR charmcraft#2897 and Starbase merge charmcraft#2899.
82%
#585 fix(ci): resolve all zizmor findings in GitHub workflows starbase merged Merged in canonical/starbase#585 as commit f86068e, hardening GitHub workflows and reducing zizmor findings from 44 to 0; all CI checks passed.
73%
#6393 ci: fix zizmor warnings snapcraft merged Merged PR #6393 as commit c41c04835, correcting Zizmor warnings originating from the Starbase merge in #6391.
72%
#6462 chore(merge): update starbase (2026-10-02) snapcraft merged Starbase sync PR #6462 merged, adding Copilot setup workflow, zizmor config, docs-clean target, and conflict resolutions keeping child-repo versions. Two spread tests failing, noted unrelated.
71%