Commit Graph
304 Commits
Author SHA1 Message Date
Stefan Hansson 6788e21f3a CI: Switch out old custom service manager options with new ones
It's probably a good thing that the old options become warnings/errors
with this since we don't want to use them even if pmbootstrap
technically maintains support for at least pmb:systemd for compatibility
reasons.

Signed-off-by: Stefan Hansson <newbyte@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8545>
2026-08-15 19:10:13 +02:00
Aelin 2bf2f3329e treewide: remove pmb:strict from options
pmbootstrap 3.11 is strict-by-default and previous versions had a broken
implementation which broke upon a full bootstrap of e.g. the systemd
repo. I think it's therefore safe to remove this already, even without
bumping pmbootstrap_min_version.

[ci:skip-vercheck]: doesn't affect any artifacts

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/9112>
2026-08-14 11:05:44 +02:00
Pablo Correa Gómez 14b13a20d1 ci: fix broken check_changed_versions
The keep_dir option was added but not used, and the "APKBUILD" suffix
was also forgotten in the commit that changed the script last.

Fixes 5d8cf85911

Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/9373>
2026-08-12 10:41:30 +02:00
Pablo Correa Gómez d035338047 ci: fix remaining ruff issues and run ruff format
We only disable LOG015 rule, as in the simple situation of pmaports,
it doesn't matter too much if in pytest we are using the root logger
or a custom one.

Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/9363>
2026-08-12 05:39:47 +00:00
Pablo Correa Gómez 6c7b46ef97 ci: remove shebang, tests are not executable
Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/9363>
2026-08-12 05:39:47 +00:00
Pablo Correa Gómez 47748f6158 ci: automatic ruff checks for ruff 0.16.0
run ruff check --fix with ruff 0.16.0, review, and commit

Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/9363>
2026-08-12 05:39:43 +00:00
Pablo Correa Gómez bec46b5311 ci: simplify logic in check_changed_versions
Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/9363>
2026-08-12 05:39:40 +00:00
Pablo Correa Gómez 5d8cf85911 ci: allow to fetch the complete path changed packages
This is useful for pytest-commits use-cases

Fixes #4663

Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/9363>
2026-08-12 05:39:37 +00:00
Pablo Correa Gómez 8722dd75aa ci: add a tag to allow skipping hw-ci jobs
There is the ocasional or rare case in which this can be useful
independently of [ci:skip-build], like if something is very urgent and
blocked due to something that only affects HW-CI. We already do not
block merging if actual HW fails the tests to avoid reliability
issues, so this is purely for software bugs.

Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/9348>
2026-08-08 20:40:30 +00:00
Clayton Craft a8cd964e9f main/postmarketos-base-ui: don't use dnsmasq for filtering
This reverts 4b516916dc

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/9005>
2026-08-05 11:01:57 -07:00
Clayton Craft b0953c42d9 ci: add generic kernel check
This runs 'kconfig generate' for all archs that the generic kernels
support in order to make sure that kconfig-generic.toml changes are
valid for everything for the kernels it would apply to. This is meant
to catch kconfig changes that might introduce options that don't exist
on some kernel/arch combos or that might be missing other kconfig
dependencies.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/9250>
2026-08-05 13:20:24 +00:00
Stefan Hansson a9897a91e2 CI: Adapt to new pmbootstrap arch checking API
See https://gitlab.postmarketos.org/postmarketOS/pmbootstrap/-/merge_requests/3004

Signed-off-by: Stefan Hansson <newbyte@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/9104>
2026-07-21 21:01:58 +02:00
Aster Boese 0715fcdb82 ci: grep: always run nonfree-firmware check
Changes the nonfree-firmware check to check all APKBUILDs outside
of 'archived' to align better with the other checks. This is now
possible now that no package uses the old nonfree-firmware logic
outside of 'archived'.

Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/9086>
2026-07-20 15:10:00 +00:00
Aelin a83b5f262f ci: Commit all changes in linux-next
We regenerate the configs, but we only commit the APKBUILD. This
resulted in checksum mismatches.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/9095>
2026-07-20 09:14:05 +00:00
Aelin 7c34fe98a2 ci: Regenerate linux-next configs
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7937>
2026-07-11 02:30:02 +02:00
Aster Boese 1ab5c4ed75 ci: fix test_providers.py to not fail if provider_priority is 0
As per the apk-tools and abuild source code, 0 is a perfectly valid integer
for provider_priority, but our Python tests currently fail with a priority of 0
because 0 and None are the same in the if statement that checks priority.

Changes the if statement that checks priority to fail if the priority is
explicitly None.

Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8973>
2026-07-06 20:47:06 +00:00
Aster Boese a6cef777a0 ci: grep: disallow contributor comments
[ci:skip-grep]
[ci:skip-kconfigcheck]
[ci:skip-vercheck]

Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8950>
2026-07-06 20:41:44 +02:00
Aster Boese a74048b1e2 ci: grep: disallow /etc/phoc.ini
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8845>
2026-07-05 12:05:55 +02:00
Aster Boese 12ed1e8f99 ci: grep: remove device exceptions from wallpaper check
Every excepted device is either fixed or in archived. If the devices are
moved back, they should be fixed during the move.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8922>
2026-06-27 21:56:52 +00:00
Aster Boese 51d322dd4b ci: grep: disallow nonfree-firmware subpackages
The original disallowing of these subpackages happened in 2024.
It was expected that device packages would be voluntarily migrated
by the maintainers to reflect this new rule. But, this never happened.
Thus, enforcing this on all new and changed packages will force
the fixing of these packages.

This is not a treewide because so many packages still use the
nonfree-firmware subpackage logic that an MR would be an absolute pain
to handle and rebase. This is also a very easy fix to incorporate into
unrelated changes.

See https://postmarketos.org/edge/2024/02/15/default-nonfree-fw/

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8914>
2026-06-27 12:39:53 +02:00
Aelin 34a631a01e ci: Tag x86 and x86_64 jobs with architecture tags
The OSUOSL x86_64 runners have the x86, x86_64 and shared tags. Let's
unify this and use the architecture tags instead of "shared" for these
as well.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8913>
2026-06-26 23:42:11 +00:00
Aster Boese e603f09fd6 CI: grep: disallow /etc/local.d
/etc/local.d/ is reserved entirely for sysadmins for usage with OpenRC.
There was an effort to move this path to *-openrc subpackages in
abuild!484, but it was stalled for this reason. As such, it makes
the most sense to disallow all files in /etc/local.d/ in packaging.

Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8745>
2026-06-24 12:15:19 +02:00
Aelin 093fd51946 ci: Also require building with LLVM for modified kernel packages
Previously, we only checked that new or moved kernel APKBUILDs in
testing or above were building the kernel with LLVM. Now that it is also
formally a requirement for testing, we should change this check to also
enforce it when making modifications to a kernel APKBUILD in testing or
above.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8888>
2026-06-23 22:50:18 +00:00
Ferass El Hafidi 16125a7bbf CI: remove armhf
Signed-off-by: Ferass El Hafidi <funderscore@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8884>
2026-06-23 05:03:43 +00:00
Pablo Correa Gómez e06d0ec2f2 ci: removed drop pmb options
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
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