registrystack / registrystack/registry-stack

Feature-gated registry-breg tests run in no CI job

Open
#946 0 comments 0 reactions 0 assignees View on GitHub
area:breg bug criticality:p2 github_actions rust triage:needs-implementation
Dominant language
Rust
Stars
2
Forks
0
Avg merge
2h 57m
Merged PRs (30d)
128

Description

Found in the 0.28.0 pre-release review (2026-09-08). Line references are as of main after #926.

The `breg` CI shard runs `cargo test` with default features (`default = []`), only the `relay-v2` shard passes `--all-features` (`.github/scripts/ci_changes.py:852`), and `products/breg/scripts/test-postgres.sh` lists its test targets explicitly. Tests that need `runtime,tooling` or `schema` and are not on that list therefore never execute in CI:

- `crates/registry-breg/tests/pilot_acceptance_fixtures.rs` (`required-features = ["runtime", "tooling"]`): `asset_placement_change_request_fixture_compiles_site_correction_plan`, `household_change_request_fixture_compiles_contact_registration_plan`, `change_request_pilot_fixture_journeys_preflight_against_their_exact_registries`.
- `crates/registry-breg/tests/action_evidence_compiler.rs::imported_contract_is_sealed_and_rederived` (`runtime,tooling`), which is the `BREG-SEC-41` evidence pin: a security-invariant test CI does not run.
- `crates/registry-breg/tests/action_evidence_compiler.rs::published_authoring_schema_accepts_farmer_v2_and_rejects_unknown_abi` (`schema`).
- `crates/registry-breg/tests/starter_projects.rs::published_starter_journeys_resolve_declared_fields_profiles_and_typed_aliases` (`runtime,tooling`).
- `crates/registry-breg/src/action_evidence_maintenance.rs::malformed_or_future_boundaries_fail_before_configuration_io` (`runtime,tooling`, `--lib`).

Proposed change: run the `breg` shard with the feature set these tests need (or add a `--features runtime,tooling,schema` pass), and add a gate that fails when a `required-features` test target or a `cfg(feature)`-gated test module is selected by no CI invocation, so the list above cannot silently grow again.

Acceptance: each test above appears in a CI log; the gate refuses a newly added gated test that no job selects.

Contributor guide

Open the contributing guide

Research direction

Start with .github/scripts/ci_changes.py:852 and products/breg/scripts/test-postgres.sh to trace the breg CI invocations and explicitly selected targets. Check the listed feature-gated tests in crates/registry-breg/tests and crates/registry-breg/src/action_evidence_maintenance.rs; done means every named test appears in a CI log and the gate rejects a gated test selected by no CI job.

Written by the indexing model from the issue text.

Assessment

Tech stack
github-actions, rust
Domain
ci-cd, testing
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Clearly specified
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.