chore(ci): run PR checks as parallel just jobs #227

Merged
jwilger merged 1 commit from chore/218-just-ci-jobs into main 2026-05-16 17:16:01 -07:00
Owner

Closes #218.

Summary

  • Replaced the monolithic flake-check PR gate with separate fmt, clippy, test, deny, and build Forgejo jobs.
  • Kept Nix as CI tool provisioning while each deterministic job runs the corresponding just recipe.
  • Gated semantic review on all deterministic jobs and disabled persisted checkout credentials for PR-controlled just jobs.
  • Updated the Quickstart CI example and added a CI workflow contract test.

Verification

  • rtk cargo test -p ar-gateway --test ci_workflow_contract pr_ci_exposes_separate_just_based_deterministic_jobs -- --exact
  • rtk cargo fmt --all -- --check
  • nix develop --command just fmt
  • nix develop --command git push -u origin chore/218-just-ci-jobs (pre-push full-verification hook completed before push)

Notes

  • Local just was not directly available on PATH; commands requiring just were run through nix develop.
Closes #218. ## Summary - Replaced the monolithic `flake-check` PR gate with separate `fmt`, `clippy`, `test`, `deny`, and `build` Forgejo jobs. - Kept Nix as CI tool provisioning while each deterministic job runs the corresponding `just` recipe. - Gated semantic review on all deterministic jobs and disabled persisted checkout credentials for PR-controlled just jobs. - Updated the Quickstart CI example and added a CI workflow contract test. ## Verification - `rtk cargo test -p ar-gateway --test ci_workflow_contract pr_ci_exposes_separate_just_based_deterministic_jobs -- --exact` - `rtk cargo fmt --all -- --check` - `nix develop --command just fmt` - `nix develop --command git push -u origin chore/218-just-ci-jobs` (pre-push full-verification hook completed before push) ## Notes - Local `just` was not directly available on PATH; commands requiring `just` were run through `nix develop`.
chore(ci): split PR checks into just jobs
All checks were successful
CI / Format check (pull_request) Successful in 6s
CI / Clippy (pull_request) Successful in 43s
CI / Dependency policy (pull_request) Successful in 12s
CI / Test (pull_request) Successful in 1m0s
CI / Build (pull_request) Successful in 39s
CI / Build PR artifacts (no token) (pull_request) Successful in 2s
CI / Request auto_review semantic review (pull_request) Successful in 1s
CI / Publish PR artifact packages (pull_request) Successful in 2s
auto_review auto_review: 1 warning
740a35238b
auto-review left a comment

The PR refactors the CI workflow by splitting the monolithic flake-check job into separate fmt, clippy, test, deny, and build jobs, each running a corresponding just command. This change aims to improve parallelism and clarity in the CI process. The update appears safe to merge, but ensure all necessary checks are covered in the new setup.

Walkthrough

  • .forgejo/workflows/ci.yml:
    • Removed the flake-check job and replaced it with separate jobs for fmt, clippy, test, deny, and build.
    • Each job runs a specific just command and disables persisted credentials for security.
    • The semantic-review job now depends on all these new jobs instead of the single flake-check job.
  • crates/ar-gateway/tests/ci_workflow_contract.rs:
    • Added a new test to ensure the CI workflow exposes separate jobs for each just command and checks for the absence of the flake-check job.
  • docs/QUICKSTART.md:
    • Updated the CI example to reflect the new job structure, replacing flake-check with the new jobs and updating dependencies accordingly.
The PR refactors the CI workflow by splitting the monolithic `flake-check` job into separate `fmt`, `clippy`, `test`, `deny`, and `build` jobs, each running a corresponding `just` command. This change aims to improve parallelism and clarity in the CI process. The update appears safe to merge, but ensure all necessary checks are covered in the new setup. ## Walkthrough - **.forgejo/workflows/ci.yml**: - Removed the `flake-check` job and replaced it with separate jobs for `fmt`, `clippy`, `test`, `deny`, and `build`. - Each job runs a specific `just` command and disables persisted credentials for security. - The `semantic-review` job now depends on all these new jobs instead of the single `flake-check` job. - **crates/ar-gateway/tests/ci_workflow_contract.rs**: - Added a new test to ensure the CI workflow exposes separate jobs for each `just` command and checks for the absence of the `flake-check` job. - **docs/QUICKSTART.md**: - Updated the CI example to reflect the new job structure, replacing `flake-check` with the new jobs and updating dependencies accordingly.
@ -8,21 +8,23 @@ permissions:
contents: read
Owner

🟡 Warning: Lines 8–23: The flake-check job has been removed, but the fmt job does not include a check for nix flake check. Ensure that the necessary checks are covered in the new jobs or explicitly state why they are no longer needed.

🟡 **Warning:** **Lines 8–23:** The `flake-check` job has been removed, but the `fmt` job does not include a check for `nix flake check`. Ensure that the necessary checks are covered in the new jobs or explicitly state why they are no longer needed.
jwilger marked this conversation as resolved
jwilger deleted branch chore/218-just-ci-jobs 2026-05-16 17:16:01 -07:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Slipstream/auto_review!227
No description provided.