Give linting its own workflow instead of a job inside tests.yml #115

Closed
opened 2026-08-22 09:49:38 -05:00 by bermudalamb · 1 comment
Owner

The lint job runs inside tests.yml alongside the unit and end-to-end suites. It is the fastest check in the pipeline and the one most often broken, and reporting it as one job among the suites means a lint failure and a test failure look alike at a glance. Moving it to .gitea/workflows/lint.yml, same triggers and same steps, makes a lint result its own line in Actions.

Two comments end up in the wrong place if the move is done as a straight copy, and both are worth fixing with it.

tests.yml keeps the six-line note explaining the lint policy: that only defect-catching rules fail the build, that everything else warns, and why no --max-warnings flag appears. With the job gone it sits directly above backend-unit, where a reader would fairly take it as describing the unit tests.

lint.yml inherits tests.yml's header about backend-integration living in its own manual workflow after it held the runner for three hours. That is worth saying where someone might expect integration tests to run. In a workflow that only runs ESLint it explains the absence of something nobody was looking for.

Verification

Parse both files rather than read them, and check the job names. lint.yml should declare exactly lint; tests.yml should declare backend-unit and frontend-e2e. A copy-and-delete edit invites exactly two failures, a job lost in the move or one declared in both places, and parsing catches both.

Status

Already implemented and merged in PR #114, commit 0051467, so this is filed as a record after the fact.

That commit's subject and its Refs line both say #113. That was a guess at this issue's number, made before the issue existed; #113 went to the pull request for #111 instead. The reference is stale and points at the wrong thing. Correcting it would mean rewriting merged history on main, so it is being left alone and recorded here instead.

The `lint` job runs inside `tests.yml` alongside the unit and end-to-end suites. It is the fastest check in the pipeline and the one most often broken, and reporting it as one job among the suites means a lint failure and a test failure look alike at a glance. Moving it to `.gitea/workflows/lint.yml`, same triggers and same steps, makes a lint result its own line in Actions. Two comments end up in the wrong place if the move is done as a straight copy, and both are worth fixing with it. `tests.yml` keeps the six-line note explaining the lint policy: that only defect-catching rules fail the build, that everything else warns, and why no `--max-warnings` flag appears. With the job gone it sits directly above `backend-unit`, where a reader would fairly take it as describing the unit tests. `lint.yml` inherits `tests.yml`'s header about `backend-integration` living in its own manual workflow after it held the runner for three hours. That is worth saying where someone might expect integration tests to run. In a workflow that only runs ESLint it explains the absence of something nobody was looking for. ## Verification Parse both files rather than read them, and check the job names. `lint.yml` should declare exactly `lint`; `tests.yml` should declare `backend-unit` and `frontend-e2e`. A copy-and-delete edit invites exactly two failures, a job lost in the move or one declared in both places, and parsing catches both. ## Status Already implemented and merged in PR #114, commit 0051467, so this is filed as a record after the fact. That commit's subject and its `Refs` line both say `#113`. That was a guess at this issue's number, made before the issue existed; #113 went to the pull request for #111 instead. The reference is stale and points at the wrong thing. Correcting it would mean rewriting merged history on `main`, so it is being left alone and recorded here instead.
Author
Owner

Closing as done. Implemented on branch feature/113-split-lint-workflow, merged to main via PR #114 on 2026-08-22, commit 0051467.

Verified by parsing both workflow files rather than reading them: lint.yml declares one job, lint; tests.yml declares backend-unit and frontend-e2e. No job was lost in the move and none is declared twice. Both comment relocations described above were made as part of the same commit.

Closing as done. Implemented on branch `feature/113-split-lint-workflow`, merged to `main` via PR #114 on 2026-08-22, commit 0051467. Verified by parsing both workflow files rather than reading them: `lint.yml` declares one job, `lint`; `tests.yml` declares `backend-unit` and `frontend-e2e`. No job was lost in the move and none is declared twice. Both comment relocations described above were made as part of the same commit.
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: bermudalamb/redefined-designs#115