Commit graph

107 commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
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
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
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
Pablo Correa Gómez
af81f21fba
ci: simplify local usage of generate_build_jobs
There's no need why we can't have a default value

Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7725>
2026-01-24 22:09:38 +00:00
Stefan Hansson
e331eb74f8
CI: remove package count check
Closes https://gitlab.postmarketos.org/postmarketOS/pmaports/-/issues/4278

Signed-off-by: Stefan Hansson <newbyte@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7822>
2026-01-23 13:47:00 +00:00
Pablo Correa Gómez
55a97f8085
ci: fix generation of build-jobs.yaml on devices without kernel variants
The check in Python did not work with devices without kernel variants
due to it returning None and that breaking the has_kernel_variants
check. Fix that, and also adding the kernel variant to install
packages, which was missed. In the process, rename kernels to
kernel_variants. All devices have at least one kernel, but not all
have "variants" :)

Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7489>
2026-01-15 07:48:41 +00:00
Pablo Correa Gómez
11e8136f44
ci: fetch ci-common files from "main" branch
Relates https://gitlab.postmarketos.org/postmarketOS/postmarketos/-/issues/122

Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7726>
2026-01-14 16:48:52 +00:00
Aelin
38acf0cfdd
Build loongarch64 in CI and mark it as supported
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7738>
2026-01-13 14:31:30 +00:00
Pablo Correa Gómez
cd5aaf8e9f
ci: cache get_base_commit function calls
The commit shall not be updated during a CI run, and this calls git
fetch, which is considerably slow at times. This reduces the git fetch
calls down to 1 from 3 in the generate-build-jobs step.

Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7649>
2025-12-27 01:19:44 +00:00
Pablo Correa Gómez
e41cce98e8
ci: use functools.cache instead of implementing custom cache global
Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7649>
2025-12-27 01:19:44 +00:00
Pablo Correa Gómez
51a7792aac
ci: get supported arches from pmbootstrap instead of hard-coding
supported_binary reads the pmaports.cfg file, and if that is changed
in the future, we can be pretty sure we will get what we expect.

Fixes #4195

Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7648>
2025-12-26 18:29:12 +00:00
Pablo Correa Gómez
93dfbad7ba
ci: remove unused imports
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7590>
2025-12-26 13:29:15 +00:00
Luca Weiss
cabfabb88c
ci: build_changed_aports: Skip packages in 'archived' category
Per definition, those might not be buildable anymore, so stop trying to
validate building them.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7480>
2025-12-04 21:00:29 +09:00
Jens Reidel
6e0d8aa09a
ci: Raise pmb timeout to 1 hour
Signed-off-by: Jens Reidel <adrian@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7391>
2025-11-26 12:05:05 +00:00
Stefan Hansson
9f355d95a2
CI: Don't check kconfig for archived kernels
It doesn't make any sense to require people to fix the kconfig just
because they want to move a device into archived or fix some minor issue
in an archived device. So, let's not enforce this on archived devices
since that's supposed to be where broken devices go.

Signed-off-by: Stefan Hansson <newbyte@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7338>
2025-11-12 23:52:42 +00:00
Stefan Hansson
53a56f7c37
CI: Allow skipping archived in get_changed_packages()
Packages can be moved to archive because they don't meet a certain
quality standard, so it is useful to be able to exclude them from
certain checks as to not block packages from being moved there just
because they don't comply with our standards.

Signed-off-by: Stefan Hansson <newbyte@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7338>
2025-11-12 23:52:42 +00:00
Clayton Craft
30e0f6d779
ci: deviceinfo_linting: add support for ci:skip-dint
Sometimes we just want to merge when deviceinfo is failing linting (e.g.
when moving a device pkg from a higher category to a lower one)

This should be used sparingly...

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7311>
2025-11-10 19:54:29 +00:00
Jens Reidel
5d45751d38
ci: Add tag to skip kconfig checks
Signed-off-by: Jens Reidel <adrian@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7220>
2025-10-20 19:26:35 +02:00
Jens Reidel
d173406ed9
ci: lib: Run jobs for ppc64le
Signed-off-by: Jens Reidel <adrian@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7140>
2025-10-04 15:53:42 +00:00
Clayton Craft
bde9dca58c
ci: apkbuild lint: allow all valid kconfigcheck categories
This only allowed categories that were aliases (and only categories
under those), but stuff like `pmb:kconfigcheck-uefi` was flagged as an
invalid option by the linting.

This change parses aliases AND all categories in the kconfigcheck and
allows those as options.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7101>
2025-10-01 12:11:05 +00:00
Clayton Craft
95a1a60e4b
ci: wiki: support only running for changed devices
The device wiki check currently runs for *all* devices in any given
MR, and can sometimes fail (e.g. if someone edits the wiki for some
unrelated device.) It's not fair to block MRs for devices when the
check fails on unrelated devices. This changes the default behavior to
only run on devices that are changed in the branch. This also adds an
`--all` flag that restores the previous behavior, this could be run on
the pmaports master branch to test general compliance for all devices
without blocking MRs where the check fails for unrelated devices.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7098>
2025-09-29 12:46:33 -07:00
Clayton Craft
2fe8c34193
ci: lib: check_changed_aports_versions: re-add upstream branch
This was effectively dropped in bc3fb78958, but broke later use of the
'upstream' branch.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6703>
2025-09-25 15:22:07 -07:00
Pablo Correa Gómez
bc3fb78958
ci: lib: integrate add_upstream_git_remote into get_base_commit
add_upstream_git_remote was just being run at beginning of every
method using get_changed_packages or get_changed_files, to have
upstream available to use get_base_commit. So then, just move it to
get_base_commit. As a positive side-effect, since the previous commit
get_base_commit will just use the gitlab variable if available. So in
CI we will just completely avoid running these two commands!

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7078>
2025-09-25 20:02:53 +00:00
Pablo Correa Gómez
7bf7616490
ci: common: don't run git if we can just get the base sha from gitlab
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7078>
2025-09-25 20:02:53 +00:00
Pablo Correa Gómez
1d6eea7261
ci: common: remove unused import
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7078>
2025-09-25 20:02:49 +00:00