# build\(check\): parallelize the suite and lint workflows and Python \(\#302\) · lucenx/codexbar-plasma

[View on GitCafe](https://git.cafe/lucenx/codexbar-plasma/commit/1cb4c3503930060b156588e6ad81139eaf89d484)

Repository: [lucenx/codexbar-plasma](https://git.cafe/lucenx/codexbar-plasma)

Visibility: public

Requested revision: 1cb4c3503930060b156588e6ad81139eaf89d484

Requested commit: 1cb4c3503930060b156588e6ad81139eaf89d484

Commit: 1cb4c3503930060b156588e6ad81139eaf89d484

Tree: 2633cf3df9f2554d7e7050dd353552b17b211376

Author: Simone

Committer: GitHub

## Message

```
build(check): parallelize the suite and lint workflows and Python (#302)

`make check` ran as one sequential recipe, so a full run took about seven
minutes at 8% CPU on a 16-core machine: most `tests/test_*.py` modules start
their own qmltestrunner, and they waited for each other. Every check is now its
own target, the Python suite is one target per module, and `make check` opts
into `-j$(JOBS)` with `--output-sync=target`. The same suite now finishes in
138s locally. Each target is also usable on its own for a narrow iteration
loop, which AGENTS.md already asked for without providing a command.

Add two checks that report findings without reformatting anything:
`check-workflows` runs actionlint over `.github/workflows`, and
`check-python-lint` runs pyflakes over `scripts` and `tests`. Both are clean on
the current tree. Both skip with a message when their tool is absent, matching
the existing appstream behavior, and CI installs both: pyflakes from the pinned
APT indexes, actionlint from its official release pinned by version and SHA-256
because Ubuntu 24.04 has no package for it.

`tests/test_check_targets.py` keeps the new target list honest: a check script
or a defined target that never reaches CHECK_TARGETS now fails the suite.

qmlformat stays out: 45 of 48 QML files predate it, so adopting it would
rewrite the tree and invalidate the literal source fragments that the parity
and security checks assert.

Documentation impact: updated AGENTS.md, CONTRIBUTING.md, the development guide
(checkout requirements, regression checks, CI dependency pinning), and the
changelog under Unreleased, since contributors' supported workflow changes.
TODO.md tracks no check-suite work and is unaffected.

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
```

## Parents

- [7f2ab791624b803600083a23df44ae23410796b1](https://git.cafe/lucenx/codexbar-plasma/commit/7f2ab791624b803600083a23df44ae23410796b1?format=markdown)

[Source at this commit](https://git.cafe/lucenx/codexbar-plasma/tree/1cb4c3503930060b156588e6ad81139eaf89d484?format=markdown)
