Skip to content

Commit 632615a

Browse files
fix(ci): unblock appinspect.yml + guard codeql.yml for private repos
Two CI fixes plus a §7.5 honest-correction in APPINSPECT_FINDINGS.md. 1) appinspect.yml — remove `cache: pip` The job has been failing since 2026-05-17 17:12 with: "No file in /home/runner/work/wl_manager/wl_manager matched to [**/requirements.txt or **/pyproject.toml]" actions/setup-python@v5 with `cache: pip` requires one of those manifests to compute the cache key. This repo has only requirements-dev.txt — close-but-not-matching the cache glob. The single `pip install` in this workflow uses --no-cache-dir so the cache was a no-op anyway. Drop it. 2) codeql.yml — guard `if: github.event.repository.private == false` The first CodeQL run (after Batch 1 landed the workflow) failed with "Code scanning is not enabled for this repository". CodeQL requires "Code scanning" enabled at the repo level; for private repos that's gated behind GitHub Advanced Security (paid). For public repos it's free and auto-enables. The repo flips public in PUBLIC_RELEASE_PLAN.md Phase 3.4 — until then, skip the job cleanly. After the flip the `if:` evaluates true and CodeQL starts without any further config change. 3) docs/APPINSPECT_FINDINGS.md §7.5 + §8 revision-log correction The Phase 1.8 closure claimed "appinspect.yml CLI workflow green ✅ Phase 1.2" but in fact the workflow was failing the entire time. Content was always correct (Phase 1.3 baseline 0 error / 0 failure), only CI wiring broken. The error is a process bug: Phase 1 acceptance was declared without spot-checking every workflow's actual run status. Logged in qa-findings.jsonl as `false-completion-claim-without-ci-verification` for the bi-weekly review. Both workflow fixes will trigger fresh runs on this push. Expected outcome: appinspect.yml goes green (content was always clean); codeql.yml shows "Job skipped" (the guard is working as designed).
1 parent 900099a commit 632615a

3 files changed

Lines changed: 34 additions & 2 deletions

File tree

.github/workflows/appinspect.yml

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,11 +52,18 @@ jobs:
5252
- name: Checkout
5353
uses: actions/checkout@v4
5454

55+
# `cache: pip` was removed 2026-05-18 — actions/setup-python@v5
56+
# requires `requirements.txt` or `pyproject.toml` to compute the
57+
# cache key, and this repo has neither (only requirements-dev.txt,
58+
# not a name setup-python globs for). The single `pip install` in
59+
# this job uses `--no-cache-dir` anyway so caching was a no-op.
60+
# Specifying `cache-dependency-path: requirements-dev.txt` would
61+
# restore the cache, but with a single one-line install of a pinned
62+
# package the cache hit is worthless. Keep simple.
5563
- name: Set up Python 3.11
5664
uses: actions/setup-python@v5
5765
with:
5866
python-version: '3.11'
59-
cache: pip
6067

6168
# libmagic1 is required by splunk-appinspect's `python-magic`
6269
# transitive dep. Without it the install succeeds but every

.github/workflows/codeql.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,14 @@ concurrency:
4545
jobs:
4646
analyze:
4747
name: Analyze (${{ matrix.language }})
48+
# CodeQL requires "Code scanning" enabled at the repo level. For
49+
# PRIVATE repos that gate is GitHub Advanced Security (a paid
50+
# feature this project does not have); for PUBLIC repos it is free
51+
# and enables automatically. This `if:` guard skips the job
52+
# cleanly until the repo flips public in PUBLIC_RELEASE_PLAN.md
53+
# Phase 3.4. After that the guard evaluates true and the job runs
54+
# without any further config change.
55+
if: github.event.repository.private == false
4856
runs-on: ubuntu-latest
4957
timeout-minutes: 30
5058

docs/APPINSPECT_FINDINGS.md

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -491,7 +491,7 @@ manual triage outstanding.
491491

492492
| Criterion | Status |
493493
|-----------|--------|
494-
| `appinspect.yml` CLI workflow green | ✅ Phase 1.2 |
494+
| `appinspect.yml` CLI workflow green | ✅ Phase 1.2 — initial green flagged in error during Phase 1.7 closure (the workflow had been RED with an `actions/setup-python@v5` `cache: pip` config bug from 17:12 onward; the bug was a missing `requirements.txt`/`pyproject.toml` for the cache key, fixed 2026-05-18 in commit `<TBD>`. The local CLI's content findings — 0 error / 0 failure on both profiles in `.planning/appinspect/appinspect-*-phase1.json` (Phase 1.3 baseline) — were always correct; only the GHA wiring was broken.) |
495495
| `appinspect-api.yml` API workflow green | ✅ Phase 1.7 (run `26002056326`) |
496496
| 0 error-severity findings — `cloud` | ✅ (§5.1: 0 error / 1 failure suppressed via expect.yaml / 0 future_failure) |
497497
| 0 error-severity findings — `splunk-platform-standalone` | ✅ (§1) |
@@ -548,3 +548,20 @@ checkpoint at week 4) is **not applicable**. Next milestone per
548548
Note: the revision log was renumbered from §7 to §8 to accommodate
549549
the new Phase 1.8 closure section without breaking the sequential
550550
numbering (§1–§8). Internal cross-references updated.
551+
- 2026-05-18 — **correction to §7.5 row 1**. The Phase 1.8 closure
552+
claimed `appinspect.yml` CLI workflow was green; in fact the GHA
553+
job had been failing since 2026-05-17 17:12 with an
554+
`actions/setup-python@v5` `cache: pip` configuration bug — the
555+
cache key requires `requirements.txt` or `pyproject.toml` and this
556+
repo has only `requirements-dev.txt`. The bug was not in
557+
AppInspect content (Phase 1.3 baseline `.planning/appinspect/*-phase1.json`
558+
was always 0 error / 0 failure) but in CI wiring. Fix: removed
559+
`cache: pip` from the setup-python step (the only `pip install` in
560+
this workflow uses `--no-cache-dir` so caching was a no-op anyway).
561+
This row's status fixed in the same commit. **Lesson logged in
562+
`~/.claude/state/qa-findings.jsonl` as
563+
`false-completion-claim-without-ci-verification`** — Phase 1
564+
acceptance was declared complete without spot-checking every
565+
workflow's actual run status; the QA process must include a `gh
566+
run list` cross-check on every claimed-green workflow at
567+
phase-closure boundaries.

0 commit comments

Comments
 (0)