Skip to content

ci: run all maintained unit suites in CI - #1249

Merged
hanthor merged 8 commits into
projectbluefin:mainfrom
arteeh:ci/1167-register-unit-suites
Sep 26, 2026
Merged

hanthor merged 8 commits into
projectbluefin:mainfrom
arteeh:ci/1167-register-unit-suites

Conversation

@arteeh

@arteeh arteeh commented Sep 25, 2026

Copy link
Copy Markdown
Contributor

What does this change?

Run all 44 maintained unit suites in CI by registering the 18 currently missing suites, installing jsonschema and just, and triggering tests for all script changes and changes to the workflow itself. Keep script/config pytest execution separate from the unchanged Bazaar coverage gate. Update the testing contract and workflow skill with the registration requirements.

Why?

Closes #1167.

Both prerequisite PRs #1106 and #1166 are merged, so this includes ujust and ublue-image-repo; the registration gate was already wired into CI. It also includes suites added since the issue was filed. test_bazaar_hook.py was removed in #1155 and is intentionally not referenced.

Validation

  • All 44 on-disk suites match the workflow registrations; no dangling references.
  • Added Python suites: 42 passed.
  • Added Bats suites plus registration gate: 172 passed, 1 skipped because local zsh is unavailable (CI installs it).
  • Existing coverage command: 73 passed, 94.37% coverage (80% required).
  • just check, pre-commit run --all-files, and actionlint .github/workflows/*.yml passed.
  • Skill and testing documentation updated; internal links validated by pre-commit.

CI results will be reviewed after the PR opens; no image content changed.

— hive: backend=codex model=gpt-6-astra effort=medium

🐝 Hive Agent: contributor | SHA: b7965a6

Register all current suites, install missing dependencies, and widen the
workflow triggers while preserving the Bazaar coverage gate.

Hive-Run: projectbluefin#1167
Hive-Plan: issue-1167-recommendation
Hive-Spec: issue-1167#recommendation-1-7
Assisted-by: GPT-6 Astra via GitHub Copilot
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Signed-off-by: arteeh <arteeh@users.noreply.github.com>

@hanthor hanthor left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Running all the maintained suites is a good idea, and splitting the pytest step keeps the Bazaar coverage denominator clean. Some changes are needed first:

  • unit-tests.yml "Install just": curl https://sh.rustup.rs | sh plus an unpinned cargo install --locked just build from source is slow and pipes a remote script into a shell. It's copied from validate.yml, but it shouldn't spread. Please use sudo apt-get install -y just (Ubuntu 24.04 universe) or a SHA-pinned setup action, and ideally fix validate.yml the same way.
  • This registers tests/test_bluefin_countme.bats, which #1205 deletes. Please coordinate with that PR.
  • There's a textual conflict with #1207 in unit-tests.yml.
  • No checks have run on this head, so the new registrations haven't been validated in CI. Please push again or re-run so they execute.

@castrojo

Copy link
Copy Markdown
Contributor

@hanthor Pushed commit 53f2e42 replacing the rustup/cargo source build of just with native apt-get install -y just. This triggers the full unit-tests suite run across all newly registered suites. Awaiting CI run results and re-review.

@hanthor hanthor left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, dropping the rustup/cargo build is the right direction. It doesn't work as-is, though:

  • .github/workflows/unit-tests.yml:42: Ubuntu 24.04 ships just 1.21.0, and [group(...)] needs 1.27+. That's why test is red: bats tests/test_brew_tap_trust.bats tests 2-5 fail because just can't parse apps.just. Please use a SHA-pinned setup action (e.g. extractions/setup-just or taiki-e/install-action) that installs a current just.
  • unit-tests.yml:156-157 still runs tests/test_bluefin_countme.bats, which #1205 deletes. Whichever PR lands second needs to drop it (#1205 registers test_projectbluefin_countme.bats instead).
  • Still a textual conflict with #1207 in unit-tests.yml.

@hanthor hanthor left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks. taiki-e/install-action pinned to a SHA gets a current just, and test is green now, including test_brew_tap_trust.bats. The ujust/rechunker test fixes for the new runner look fine too.

On the earlier points:

  • test_bluefin_countme.bats (unit-tests.yml:163-164) is correct against main as it stands. #1205 is still waiting on a policy decision, so this lands first and #1205 drops the step when it rebases.
  • #1207 is conflicting with main on its own, so it will have to resolve against this on its rebase. That doesn't block this PR.

Approving.

@hanthor
hanthor enabled auto-merge September 25, 2026 23:59

@castrojo castrojo left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed. All 44 maintained unit suites are registered in CI, Justfile test recipe and unit-tests.yml are synchronized, Bazaar coverage remains isolated with threshold maintained, and all checks are passing. Independent approval (2/2) satisfying repository ruleset.

@hanthor
hanthor added this pull request to the merge queue Sep 26, 2026
Merged via the queue into projectbluefin:main with commit 1cc229a Sep 26, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[quality] missing-workflow: unit-tests.yml runs 27 of 40 suites — 13 maintained test suites never execute in CI

3 participants