Pablo Correa Gómez
3c159f1682
ci: simplify pmb usage
...
pmb.helpers.package.check_arch with binary=False is a complex way of
fetching the APKBUILD and checking it against
pmb.helpers.pmaports.check_arches. Since we already have the APKBUILD,
just check the arches directly.
Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org >
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8854 >
2026-06-21 14:39:53 +00:00
Aelin
e7fe5dab0e
ci: Switch to Alpine 3.24 for CI runs
...
Now that Alpine 3.24 is out and the issues with Python 3.14 are
resolved, we can safely upgrade in CI.
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8859 >
2026-06-19 10:52:05 +00:00
Oliver Smith
734884e864
CI: apkbuild-lint: add a skip-apkbuild-lint tag
...
As we are now moving to a newer, stricter version, we might want to skip
fixing APKBUILDs in some MRs. And this is in general useful to have.
Signed-off-by: Oliver Smith <ollieparanoid@postmarketos.org >
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8735 >
2026-06-07 10:09:20 +00:00
Oliver Smith
87502f982e
CI: apkbuild-lint: make output more readable
...
Add empty lines around the apkbuild-lint output, so it is easy to spot.
Also note when it is starting and if it was successful (vs. not having
any output on success).
Signed-off-by: Oliver Smith <ollieparanoid@postmarketos.org >
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8735 >
2026-06-07 10:09:20 +00:00
Oliver Smith
ac3e4f8a70
CI: apkbuild-lint: fix checking only the 1st file
...
apkbuild-lint only checks the file from the first parameter:
$ apkbuild-lint main/postmarketos-ui-phosh/APKBUILD
IC[AL65]:main/postmarketos-ui-phosh/APKBUILD:66:2:non-local 'install' variable in function 'openrc'. Add install scripts to global install variable instead.
MC[AL49]:main/postmarketos-ui-phosh/APKBUILD:46:1:invalid option 'pmb:drm'
MC[AL49]:main/postmarketos-ui-phosh/APKBUILD:46:1:invalid option 'pmb:systemd'
$ apkbuild-lint main/hello-world/APKBUILD main/postmarketos-ui-phosh/APKBUILD
(empty output!)
Loop over the APKBUILDs we want to lint so all of them get checked.
Signed-off-by: Oliver Smith <ollieparanoid@postmarketos.org >
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8735 >
2026-06-07 10:09:17 +00:00
Aster Boese
67d104aa0b
ci: verify-checksums: ignore archived
...
Because archived is neglected, the sources of packages therein can have
dead links, causing any MR that touches them to fail. Since we don't want
to fix archived packages, just ignore them entirely.
Signed-off-by: Aster Boese <asterboese@mailbox.org >
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8661 >
2026-05-29 17:36:08 +00:00
Clayton Craft
4121c0d740
main/postmarketos-duranium: drop subpartition script, expand udev disk hack
...
systemd 261 can now natively detect and mount subpartitions.
Fixes #4544
This also works around an issue where udiskie will prompt for mounting
the /usr partitions on disk, when they are subpartitions. I didn't
file a bug upstream because it's really not clear to me what to blame
(udisks2? udiskie? udev?)
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org >
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8660 >
2026-05-28 22:56:37 +00:00
Aelin
ed13c0ed9e
ci: Run armhf jobs natively
...
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8654 >
2026-05-27 18:35:22 +00:00
Aster Boese
7a6d8d5e9c
ci: grep: add option to ignore grep.sh errors
...
Adds an option to ignore grep.sh errors in instances where there may be false
positives due to git weirdness. e.g. git not tracking renames and instead
seeing them as new packages.
Signed-off-by: Aster Boese <asterboese@mailbox.org >
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8652 >
2026-05-27 15:29:12 +02:00
Stefan Hansson
2dec667f00
CI: Add check for required pmbootstrap version's age
...
While ideally everyone would be running the latest pmbootstrap version,
in practice people don't always update right away. And even if they want
to, their distribution may not have the latest version packaged yet.
Let's enforce some wiggle room here so distributions have time to catch
up before we require newer versions.
Signed-off-by: Stefan Hansson <newbyte@postmarketos.org >
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8550 >
2026-05-13 21:16:39 +00:00
Aelin
531c8cdcaa
ci: Run armv7 jobs on native runner
...
We now have a runner capable of running 32-bit ARM jobs natively, so
switch to it to relieve the QEMU runner and get faster builds.
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8539 >
2026-05-12 21:03:00 +02:00
Aelin
2b26a11a85
ci: Tag aarch64 builds for aarch64 rather than arm64
...
Our aarch64 runners are tagged with both the aarch64 and the arm64 tag,
let's use the aarch64 tag to be consistent with the architecture naming
in APK.
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8539 >
2026-05-12 20:46:34 +02:00
Stefan Hansson
aa19f54ef9
Revert "ci: shellcheck: update mkinitfs hook paths"
...
This reverts commit 59beb3ba91 .
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8511 >
2026-05-10 13:43:38 +00:00
Casey Connolly
3622865c9e
CI: fix autoupdate
...
Reference the main branch instead of master.
Signed-off-by: Casey Connolly <kcxt@postmarketos.org >
2026-05-07 23:14:34 +02:00
Aster Boese
c883d781bd
ci: grep: enforce installing kernel modules to /usr/lib/modules/
...
Signed-off-by: Aster Boese <asterboese@mailbox.org >
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8374 >
2026-05-04 09:43:12 +02:00
Stefan Hansson
c6caa19a8f
Revert "linux-postmarketos-allwinner: HACK: disable cross-native"
...
This was only needed as a temporary workaround[1].
This reverts commit a184bf63e2 .
[1]: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8295#note_546725
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8476 >
2026-05-03 09:27:01 +02:00
Aster Boese
59beb3ba91
ci: shellcheck: update mkinitfs hook paths
...
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8413 >
2026-04-23 19:04:55 +00:00
Stefan Hansson
a184bf63e2
linux-postmarketos-allwinner: HACK: disable cross-native
...
To avoid issue described here:
https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8295#note_5453
Signed-off-by: Stefan Hansson <newbyte@postmarketos.org >
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8295 >
2026-04-18 14:40:07 +00:00
Aelin
4e97050cf4
CI: build-jobs: Pull from Alpine's registry
...
Dockerhub does not support loongarch64, but Alpine's registry does. We
need to hardcode the latest stable release here until the latest tag is
made to point at a stable release rather than edge.
Fixes: a0bc3115a9 ("CI: build-jobs: use Alpine stable")
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8353 >
2026-04-14 06:08:31 +00:00
Oliver Smith
a0bc3115a9
CI: build-jobs: use Alpine stable
...
Fix that the build-jobs were using Alpine edge. This seems
unintentional, or at least inconsistent. Before this patch we had:
$ git grep alpine:latest
.ci/build-jobs.yaml.j2:image: registry.alpinelinux.org/img/alpine:latest
.gitlab-ci.yml:image: alpine:latest
It turns out that "registry.alpinelinux.org/img/alpine:latest" is
actually alpine edge:
$ docker run --rm registry.alpinelinux.org/img/alpine:latest cat /etc/os-release
Unable to find image 'registry.alpinelinux.org/img/alpine:latest' locally
latest: Pulling from img/alpine
d4a983187cfd: Pull complete
Digest: sha256:47b4a945203d4bad4e0c7840d64044da50a719d0cd0512a50e3ab473240635ea
Status: Downloaded newer image for registry.alpinelinux.org/img/alpine:latest
NAME="Alpine Linux"
ID=alpine
VERSION_ID=3.21.0_alpha20240923
PRETTY_NAME="Alpine Linux edge"
HOME_URL="https://alpinelinux.org/ "
BUG_REPORT_URL="https://gitlab.alpinelinux.org/alpine/aports/-/issues "
And alpine:latest is stable (when fetched from docker hub, with podman
it could be configured to point at alpine's registry as well, which
means it is edge... but the OSUOSL CI runners use docker):
$ docker run --rm alpine:latest cat /etc/os-release
Unable to find image 'alpine:latest' locally
latest: Pulling from library/alpine
589002ba0eae: Already exists
Digest: sha256:25109184c71bdad752c8312a8623239686a9a2071e8825f20acb8f2198c3f659
Status: Downloaded newer image for alpine:latest
NAME="Alpine Linux"
ID=alpine
VERSION_ID=3.23.3
PRETTY_NAME="Alpine Linux v3.23"
HOME_URL="https://alpinelinux.org/ "
BUG_REPORT_URL="https://gitlab.alpinelinux.org/alpine/aports/-/issues "
Using stable makes more sense here, so temporary bugs in edge don't
break our CI. It is currently somewhat broken because running
pmbootstrap with python 3.14 and musl results in crashes with "No file
descriptors available" errors in some situations.
Related: https://gitlab.postmarketos.org/postmarketOS/postmarketos/-/work_items/141
Signed-off-by: Oliver Smith <ollieparanoid@postmarketos.org >
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8340 >
2026-04-12 19:29:04 +00:00
Clayton Craft
5d73bec629
ci/shellcheck: add duranium scripts
...
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org >
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8330 >
2026-04-12 17:17:55 +00:00
Achill Gilgenast
e38532b7f7
ci: relax pkgrel changes for packages that don’t have remote sources
...
Motivation is to avoid unnecessary overhead for MR authors & no reason to
actually use pkgrel for meta-packages.
So instead, recommend pkgver-bumps & pkgrel=0 for metapackages, but don't
block MRs when they bumped the "wrong" one. Just make everyone's life easier.
Discussed at <https://docs.postmarketos.org/policies-and-processes/governance/team-meetings/meeting-notes.html > (2026-03-16)
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8302 >
2026-04-10 12:08:26 +00:00
Luca Weiss
1ab8eefdd5
CI: Run dint job on all files on deviceinfo_schema.toml change
...
Similar to kconfigcheck.toml, let's run the dint job on all deviceinfo
files when the spec itself is changed. This allows to catch possible new
warnings and errors early and fix them.
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8139 >
2026-03-20 01:57:32 +00:00
Aster Boese
5da1b74db0
ci: replace master strings with main
...
Signed-off-by: Aster Boese <asterboese@mailbox.org >
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8183 >
2026-03-15 17:47:40 +00:00
Aelin
a3e0b0db8d
ci: Require maintainers for new packages
...
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8171 >
2026-03-14 11:23:21 +00:00
Pablo Correa Gómez
cb182b59ca
ci: don't set the CI_TRON_KERNEL_CMDLINE__DEVICEINFO globally
...
This breaks the oneplus-fajita, since its own console argument is not
picked. And the other options don't make sense there anyway.
Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org >
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7881 >
2026-03-12 19:17:36 +00:00
Pablo Correa Gómez
ee7c30c4f6
ci: skip "docs" folder as part of get_changed_packages test
...
Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org >
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7881 >
2026-03-12 19:17:36 +00:00
Pablo Correa Gómez
ac541f7afb
ci: small simplification in generate_build_jobs
...
We don't need to check against "is_present_in_ci", since we already
did not consider devices that did not have a gitlab_ci_fragment
Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org >
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7881 >
2026-03-12 19:17:12 +00:00
Pablo Correa Gómez
a74918cca6
ci: define the kind of tests to run in each jinja template
...
This is the main entrypoint to understand what tests each device is
running. Therefore, it avoids one extra level of indirection, and
allows for different devices to run different kind of tests in the
future.
Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org >
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7881 >
2026-03-12 19:17:08 +00:00
Stefan Hansson
cfff222fb2
CI: Add mypy check
...
Signed-off-by: Stefan Hansson <newbyte@postmarketos.org >
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7960 >
2026-03-12 18:53:15 +00:00
Stefan Hansson
38434fbed9
CI: lib/generate_build_jobs.py: Fix type error
...
Caught by mypy.
Signed-off-by: Stefan Hansson <newbyte@postmarketos.org >
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7960 >
2026-03-12 18:53:15 +00:00
Luca Weiss
eecf3e2080
ci: check_devices_in_wiki: Skip packages in 'archived' category
...
Per definition, those are not available anymore, so stop trying to
validate them.
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8035 >
2026-02-18 22:04:39 +01:00
Pablo Correa Gómez
f31d40626a
ci: update ci-common template
...
Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org >
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7927 >
2026-02-04 18:46:15 +01:00
Aelin
4b01acf1ec
ci: Lint when LLVM is not used for a new or moved mainline kernel package
...
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7920 >
2026-02-04 13:35:24 +00:00
Pablo Correa Gómez
bad5420f36
ci: fix typo and more printing in generate_build_jobs
...
There is usually a benefit of having CI jobs print properly what is
going on.
Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org >
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7868 >
2026-02-01 21:06:25 +00:00
Pablo Correa Gómez
ddb822187a
ci: make removed=False the default for get_changed_files
...
Eventually we probably want this everywhere.
Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org >
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7868 >
2026-02-01 21:06:25 +00:00
Pablo Correa Gómez
67045e0cbd
ci: use more removed=False for get_changed_files
...
Most of the things don't really need it.
Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org >
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7868 >
2026-02-01 21:06:22 +00:00
Pablo Correa Gómez
6fb42ecb3f
ci: enable unused-import in ruff
...
This was not possible to remove while add_pmbootstrap_to_import_path
was in use, since that module wasn't actually used, but just
imported. As the previous commit shows, this was important to have
enabled.
Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org >
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7868 >
2026-02-01 21:06:18 +00:00
Pablo Correa Gómez
fe7af59c58
ci: remove unused imports
...
As detected and fixed by ruff
Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org >
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7868 >
2026-02-01 21:06:18 +00:00
Pablo Correa Gómez
41e2d23210
ci: remove add_pmbootstrap_to_import_path
...
Unused since the previous commit
Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org >
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7868 >
2026-02-01 21:06:18 +00:00
Pablo Correa Gómez
69e772d561
ci: remove unnecessary add_pmbootstrap_to_import_path
...
Since the previous commit we just set the PYTHONPATH globally, which
is saner than include this everywhere.
Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org >
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7868 >
2026-02-01 21:06:18 +00:00
Pablo Correa Gómez
e01c66bb46
ci: set PYTHONPATH for the pmb module globally
...
Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org >
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7868 >
2026-02-01 21:06:14 +00:00
Pablo Correa Gómez
c38534993e
ci: rename script run by kconfig.sh to be consistent with its name
...
This makes it easier to navigate the CI code
Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org >
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7868 >
2026-02-01 21:06:14 +00:00
Pablo Correa Gómez
32e058f2ea
ci: rename commits ci script to check-changed-versions
...
So it actually explains what it does. In the process, make the name of
the Python file it executes also consistent.
Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org >
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7868 >
2026-02-01 21:06:14 +00:00
Pablo Correa Gómez
ba2237700a
ci: update reasons for using 'native'
...
Just requiring pmbootstrap installed is no reason to run 'native', as
other tests show. Now the messages are also consistent.
Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org >
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7868 >
2026-02-01 21:06:11 +00:00
Pablo Correa Gómez
5d8c30c8e9
ci: enable a few ruff checks
...
These are all already functional. The only one missing is unused
imports due to "add_pmbootstrap_to_import_path"
Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org >
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7868 >
2026-02-01 21:06:07 +00:00
Stefan Hansson
cc2725aa49
CI: remove pmb:gpu-accel from custom_valid_options
...
This is not used anywhere in pmaports any more and it has been
deprecated for a while, so let's finally get rid of it.
Signed-off-by: Stefan Hansson <newbyte@postmarketos.org >
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7847 >
2026-01-28 13:21:45 +00:00
Clayton Craft
f68c270d4d
ci/deviceinfo_linting: only line deviceinfo files in the devices repo
...
If devicepkg-dev changes, we don't want to lint the test deviceinfo
files there...
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org >
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7830 >
2026-01-27 12:33:06 -08:00
Aelin
933414e7d1
ci: Add pmb:generic-kernel to custom valid options
...
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7844 >
2026-01-26 09:37:54 +00:00
Aelin
2056701d6c
ci: Drop KERNEL_NAME
...
Only Alpine kernels use the vmlinuz-VARIANT naming scheme, postmarketOS
kernel images are always called vmlinuz.
Since we only use our own kernels now, we can completely get rid of the
variable and always look for vmlinuz.
[ci:skip-vercheck]: the checks can't handle bumping pkgver *and* pkgrel
[ci:skip-build]: takes a long time and already built successfully in CI
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7398 >
2026-01-24 22:29:22 +00:00