TEST-INFRA: [ci-pipeline-design] Combine small CI jobs #1653

Closed
opened 2026-04-02 23:24:08 +00:00 by freemo · 1 comment
Owner

Metadata

  • Branch: task/v3.8.0-ci-pipeline-design-combine-small-jobs
  • Commit Message: chore(ci): combine lint, typecheck, security, and quality jobs into static-analysis
  • Milestone: v3.8.0
  • Parent Epic: #1647

Background and Context

The lint, typecheck, security, and quality jobs in the ci.yml workflow are all relatively small and each incurs the full overhead of setting up the runner environment, checking out the repository, and installing dependencies. Combining these into a single static-analysis job eliminates this redundant setup cost and reduces total pipeline execution time.

Expected Behavior

A single static-analysis job in ci.yml runs all four checks (lint, typecheck, security, quality) sequentially within one environment setup, replacing the four separate jobs. The status-check job is updated to depend on static-analysis instead of the four individual jobs.

Acceptance Criteria

  • A new static-analysis job exists in .forgejo/workflows/ci.yml.
  • The steps from the old lint, typecheck, security, and quality jobs are present inside static-analysis.
  • The old lint, typecheck, security, and quality jobs are removed.
  • The status-check job lists static-analysis as a dependency (not the four removed jobs).
  • All CI checks that previously ran still run under the new job.
  • Total pipeline execution time is reduced due to fewer environment setups.

Subtasks

  • Create a new static-analysis job in .forgejo/workflows/ci.yml
  • Move all steps from the lint job into static-analysis
  • Move all steps from the typecheck job into static-analysis
  • Move all steps from the security job into static-analysis
  • Move all steps from the quality job into static-analysis
  • Remove the now-empty lint, typecheck, security, and quality jobs
  • Update the status-check job's needs: list to reference static-analysis
  • Verify the CI pipeline still executes all the same checks as before
  • Run nox (all default sessions), fix any errors
  • Verify coverage >= 97% via nox -s coverage_report

Definition of Done

This issue is complete when:

  • All subtasks above are completed and checked off.
  • The lint, typecheck, security, and quality jobs are combined into a single static-analysis job.
  • The CI pipeline still runs all the same checks as before.
  • The total pipeline execution time is reduced.
  • All nox stages pass.
  • Coverage >= 97%
  • A Git commit is created where the first line of the commit message matches the Commit Message in Metadata exactly, followed by a blank line, then additional lines providing relevant details about the implementation.
  • The commit is pushed to the remote on the branch matching the Branch in Metadata exactly.
  • The commit is submitted as a pull request to master, reviewed, and merged before this issue is marked done.

Automated by CleverAgents Bot
Supervisor: Test Infrastructure | Agent: ca-new-issue-creator

## Metadata - **Branch**: `task/v3.8.0-ci-pipeline-design-combine-small-jobs` - **Commit Message**: `chore(ci): combine lint, typecheck, security, and quality jobs into static-analysis` - **Milestone**: v3.8.0 - **Parent Epic**: #1647 ## Background and Context The `lint`, `typecheck`, `security`, and `quality` jobs in the `ci.yml` workflow are all relatively small and each incurs the full overhead of setting up the runner environment, checking out the repository, and installing dependencies. Combining these into a single `static-analysis` job eliminates this redundant setup cost and reduces total pipeline execution time. ## Expected Behavior A single `static-analysis` job in `ci.yml` runs all four checks (`lint`, `typecheck`, `security`, `quality`) sequentially within one environment setup, replacing the four separate jobs. The `status-check` job is updated to depend on `static-analysis` instead of the four individual jobs. ## Acceptance Criteria - A new `static-analysis` job exists in `.forgejo/workflows/ci.yml`. - The steps from the old `lint`, `typecheck`, `security`, and `quality` jobs are present inside `static-analysis`. - The old `lint`, `typecheck`, `security`, and `quality` jobs are removed. - The `status-check` job lists `static-analysis` as a dependency (not the four removed jobs). - All CI checks that previously ran still run under the new job. - Total pipeline execution time is reduced due to fewer environment setups. ## Subtasks - [ ] Create a new `static-analysis` job in `.forgejo/workflows/ci.yml` - [ ] Move all steps from the `lint` job into `static-analysis` - [ ] Move all steps from the `typecheck` job into `static-analysis` - [ ] Move all steps from the `security` job into `static-analysis` - [ ] Move all steps from the `quality` job into `static-analysis` - [ ] Remove the now-empty `lint`, `typecheck`, `security`, and `quality` jobs - [ ] Update the `status-check` job's `needs:` list to reference `static-analysis` - [ ] Verify the CI pipeline still executes all the same checks as before - [ ] Run `nox` (all default sessions), fix any errors - [ ] Verify coverage >= 97% via `nox -s coverage_report` ## Definition of Done This issue is complete when: - [ ] All subtasks above are completed and checked off. - [ ] The `lint`, `typecheck`, `security`, and `quality` jobs are combined into a single `static-analysis` job. - [ ] The CI pipeline still runs all the same checks as before. - [ ] The total pipeline execution time is reduced. - [ ] All nox stages pass. - [ ] Coverage >= 97% - [ ] A Git commit is created where the **first line** of the commit message matches the Commit Message in Metadata exactly, followed by a blank line, then additional lines providing relevant details about the implementation. - [ ] The commit is pushed to the remote on the branch matching the **Branch** in Metadata exactly. - [ ] The commit is submitted as a **pull request** to `master`, reviewed, and **merged** before this issue is marked done. --- **Automated by CleverAgents Bot** Supervisor: Test Infrastructure | Agent: ca-new-issue-creator
freemo added this to the v3.8.0 milestone 2026-04-02 23:24:29 +00:00
Author
Owner

Closing as duplicate of #1604 (CI setup consolidation).


Automated by CleverAgents Bot
Supervisor: Project Owner | Agent: ca-project-owner

Closing as duplicate of #1604 (CI setup consolidation). --- **Automated by CleverAgents Bot** Supervisor: Project Owner | Agent: ca-project-owner
freemo 2026-04-02 23:33:51 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference
cleveragents/cleveragents-core#1653
No description provided.