TEST-INFRA: [ci-pipeline-design] Combine lint, typecheck, security, and quality jobs #3360

Open
opened 2026-04-05 14:32:05 +00:00 by freemo · 1 comment
Owner

Metadata

  • Branch: task/ci-static-analysis-job-consolidation
  • Commit Message: chore(ci): consolidate lint, typecheck, security, and quality into static-analysis job
  • Milestone: (backlog — see note below)
  • Parent Epic: #1678

Background and context

The ci.yml workflow currently defines separate jobs for lint, typecheck, security, and quality. These jobs are all relatively small and fast, and they share a significant amount of boilerplate for setting up the environment (installing Node.js, checking out code, installing uv and nox, and caching uv packages).

Combining these jobs into a single static-analysis job would have several benefits:

  • Reduced Overhead: It would reduce the overhead of creating and setting up a new environment for each job.
  • Faster Feedback: It would provide faster feedback to developers, as all static analysis checks would be run in a single job.
  • Improved Readability: It would make the workflow file more concise and easier to read.

Expected behavior

The ci.yml workflow has a single static-analysis job that runs all static analysis checks (lint, typecheck, security, quality) sequentially within one environment setup, reducing CI overhead and improving feedback time.

Acceptance criteria

  • A new static-analysis job exists in ci.yml that runs all four checks.
  • The old lint, typecheck, security, and quality jobs have been removed.
  • The needs section of downstream jobs (coverage, docker) references static-analysis.
  • The CI pipeline passes successfully end-to-end.

Subtasks

  • Create a new static-analysis job in ci.yml.
  • Move the steps from the lint, typecheck, security, and quality jobs to the new static-analysis job.
  • Remove the old lint, typecheck, security, and quality jobs.
  • Update the needs section of the coverage and docker jobs to depend on the new static-analysis job.

Definition of Done

  • All subtasks above are checked off.
  • The ci.yml workflow has a single static-analysis job that runs all the static analysis checks.
  • The old lint, typecheck, security, and quality jobs have been removed.
  • The CI pipeline still passes successfully.
  • The commit is pushed to task/ci-static-analysis-job-consolidation with the message chore(ci): consolidate lint, typecheck, security, and quality into static-analysis job.
  • The corresponding PR has been merged.
  • All nox stages pass
  • Coverage >= 97%

Backlog note: This issue was discovered during autonomous operation
on milestone v3.7.0. It does not block milestone completion and has been
placed in the backlog for human review and future milestone assignment.


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

## Metadata - **Branch**: `task/ci-static-analysis-job-consolidation` - **Commit Message**: `chore(ci): consolidate lint, typecheck, security, and quality into static-analysis job` - **Milestone**: *(backlog — see note below)* - **Parent Epic**: #1678 ## Background and context The `ci.yml` workflow currently defines separate jobs for `lint`, `typecheck`, `security`, and `quality`. These jobs are all relatively small and fast, and they share a significant amount of boilerplate for setting up the environment (installing Node.js, checking out code, installing `uv` and `nox`, and caching `uv` packages). Combining these jobs into a single `static-analysis` job would have several benefits: - **Reduced Overhead:** It would reduce the overhead of creating and setting up a new environment for each job. - **Faster Feedback:** It would provide faster feedback to developers, as all static analysis checks would be run in a single job. - **Improved Readability:** It would make the workflow file more concise and easier to read. ## Expected behavior The `ci.yml` workflow has a single `static-analysis` job that runs all static analysis checks (`lint`, `typecheck`, `security`, `quality`) sequentially within one environment setup, reducing CI overhead and improving feedback time. ## Acceptance criteria - A new `static-analysis` job exists in `ci.yml` that runs all four checks. - The old `lint`, `typecheck`, `security`, and `quality` jobs have been removed. - The `needs` section of downstream jobs (`coverage`, `docker`) references `static-analysis`. - The CI pipeline passes successfully end-to-end. ## Subtasks - [ ] Create a new `static-analysis` job in `ci.yml`. - [ ] Move the steps from the `lint`, `typecheck`, `security`, and `quality` jobs to the new `static-analysis` job. - [ ] Remove the old `lint`, `typecheck`, `security`, and `quality` jobs. - [ ] Update the `needs` section of the `coverage` and `docker` jobs to depend on the new `static-analysis` job. ## Definition of Done - [ ] All subtasks above are checked off. - [ ] The `ci.yml` workflow has a single `static-analysis` job that runs all the static analysis checks. - [ ] The old `lint`, `typecheck`, `security`, and `quality` jobs have been removed. - [ ] The CI pipeline still passes successfully. - [ ] The commit is pushed to `task/ci-static-analysis-job-consolidation` with the message `chore(ci): consolidate lint, typecheck, security, and quality into static-analysis job`. - [ ] The corresponding PR has been merged. - All nox stages pass - Coverage >= 97% > **Backlog note:** This issue was discovered during autonomous operation > on milestone v3.7.0. It does not block milestone completion and has been > placed in the backlog for human review and future milestone assignment. --- **Automated by CleverAgents Bot** Supervisor: Test Infrastructure | Agent: ca-new-issue-creator
Author
Owner

Issue triaged by project owner:

  • State: Verified
  • Priority: Backlog (unchanged)
  • Story Points: 3 — M
  • MoSCoW: Could Have — CI pipeline optimization. Combining jobs reduces CI time but is not blocking development.
  • Parent Epic: #1678 (CI Execution Time Optimization)

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

Issue triaged by project owner: - **State**: Verified - **Priority**: Backlog (unchanged) - **Story Points**: 3 — M - **MoSCoW**: Could Have — CI pipeline optimization. Combining jobs reduces CI time but is not blocking development. - **Parent Epic**: #1678 (CI Execution Time Optimization) --- **Automated by CleverAgents Bot** Supervisor: Project Owner | Agent: ca-project-owner
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#3360
No description provided.