Skip to content

CI: apkbuild-linting: Use a single invocation

Administrator requested to merge feature/one-call-to-lint-them-all into master

This replaces the current loop calling pmbootstrap lint once for each package with a single invocation for increased performance.

Here are some measurements for linting all packages under main/.

Before this change:

$ time .gitlab-ci/apkbuild-linting.py > /dev/null

real    3m55,840s
user    3m48,592s
sys     0m16,913s

After this change but without postmarketOS/pmbootstrap!2100:

$ time .gitlab-ci/apkbuild-linting.py > /dev/null

real    0m14,359s
user    0m17,994s
sys     0m6,488s

After this change with postmarketOS/pmbootstrap!2100:

$ time .gitlab-ci/apkbuild-linting.py > /dev/null

real    0m6,411s
user    0m13,334s
sys     0m2,417s

Note that postmarketOS/pmbootstrap!2100 is not required for that little bit of extra performance but rather because it allows to differentiate between linting errors for different packages in the output.

Linting issues are still only printed at the end and not while they stream in. However, the performance increase is so massive that this probably doesn't make a huge difference anymore.

Depends: postmarketOS/pmbootstrap!2100

Closes: #564 (closed)

Merge request reports

Loading