Skip to content

ci: test the starflow lint workflow split - #1389

Closed
lengau wants to merge 1 commit into
mainfrom
work/starflow-lint-jobs
Closed

lengau wants to merge 1 commit into
mainfrom
work/starflow-lint-jobs

Conversation

@lengau

@lengau lengau commented Oct 15, 2026

Copy link
Copy Markdown
Collaborator

Summary

Points the lint job at canonical/starflow/.github/workflows/lint-python.yaml@work/separate-linkcheck to exercise the lint workflow that is being reworked in canonical/starflow#199.

That change splits the lint workflow into separate jobs and renames the lint make target to lint-code:

Job Target Runs when
filter none always; classifies changed files
files make -k lint-code source files changed
docs make -k docs-lint documentation changed
linkcheck make -k docs-linkcheck documentation changed

This repository had no lint-code target, so the aggregate lint target is split to match the repositories that already provide it. lint still runs everything for local use.

Scope

Workflow reference and Makefile only. No source changes.

The docs and linkcheck jobs are expected to be skipped on this pull request, because it touches no documentation. They are exercised by pull requests that change docs/, Markdown, or reStructuredText files.

Relationship to canonical/starflow#199

This pull request is an integration test for canonical/starflow#199. It should not be merged before that one lands, and the reference should be moved back to main afterwards.

Each repository that is testing this branch is listed in the table on canonical/starflow#199.

Points the lint job at
`canonical/starflow/.github/workflows/lint-python.yaml@work/separate-linkcheck`
to exercise the lint workflow being reworked in canonical/starflow#199.

That change splits the lint workflow into separate jobs and renames the `lint`
make target to `lint-code`. Alongside the workflow reference, this splits the
aggregate `lint` target so the code linters can be addressed as `lint-code`,
matching the repositories that already provide it. `lint` still runs everything
for local use.

`docs-lint` and the `docs-%` passthrough that supplies `docs-linkcheck` already
exist here, so no other make target is needed.
Copilot AI lite review requested due to automatic review settings October 15, 2026 00:23
Comment thread .github/workflows/qa.yaml
- '!({docs/**,*.md,**/*.md,.readthedocs.yaml})'
lint:
uses: canonical/starflow/.github/workflows/lint-python.yaml@main
uses: canonical/starflow/.github/workflows/lint-python.yaml@work/separate-linkcheck

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Documentation changes would run link checking twice, and a link failure would still fail the docs job.

1 open finding
What changed in this PR

This PR tests the split Starflow lint workflow in this repository ahead of canonical/starflow#199.

Changes:

  • Points CI at the workflow’s test branch.
  • Adds lint-code while keeping an aggregate lint target.
File Description
Makefile Adds the code-only lint target and updates aggregate lint.
.github/​workflows/​qa.yaml Uses the split workflow’s test branch.

🧠 Review effort: Lite


💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread Makefile

.PHONY: lint
lint: lint-ruff lint-ty lint-codespell lint-prettier lint-shellcheck lint-docs lint-twine lint-uv-lockfile ## Run all linters
lint: lint-code lint-docs lint-twine lint-uv-lockfile ## Run all linters
@lengau

lengau commented Oct 15, 2026

Copy link
Copy Markdown
Collaborator Author

Status of this integration test for canonical/starflow#199 is recorded in a table in that pull request.

The files job here runs the new make -k lint-code. It fails on lint errors in files this pull request does not touch:

error[invalid-mutable-override]: Invalid override of attribute `summary`
error[invalid-mutable-override]: Invalid override of attribute `description`
error[invalid-mutable-override]: Invalid override of attribute `base`
make: *** [common.mk:123: lint-ruff] Error 1
make: *** [common.mk:180: lint-ty] Error 1

These come from the astral-ty beta snap and the ruff pydantic plugin. This repository's main branch has not run the code linters since 2026-09-28, so there is no recent run to compare against. The diagnostic class matches the failure that bincraft, charmcraft, and craft-store are hitting on their main branches today.

Reported files, none of them modified here:

rockcraft/services/package.py:19
rockcraft/services/project.py:17
rockcraft/models/project.py:93
tests/unit/test_oci.py:16

@lengau

lengau commented Oct 16, 2026

Copy link
Copy Markdown
Collaborator Author

Closing: integration test of canonical/starflow#199 complete. Results recorded in canonical/starflow#199.

@lengau lengau closed this Oct 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants