96 Commits

Author SHA1 Message Date
George Sapkin
bbaa539fbc ci: set explicit workflow permissions
Add explicit permissions for modifying pull requests to labeler and
multi-arch-test-build.

Signed-off-by: George Sapkin <george@sapk.in>
2025-12-04 06:00:35 +02:00
George Sapkin
7658669759 multi-arch-test-build: post formal summaries to PR
Post formality check summaries to a PR.

Signed-off-by: George Sapkin <george@sapk.in>
2025-12-03 20:15:14 +01:00
George Sapkin
2c558a851f ci: label formality failures
Add or remove 'not following guidelines' label based on formality check
status.

Signed-off-by: George Sapkin <george@sapk.in>
2025-12-03 11:20:05 +01:00
George Sapkin
a9ae28811a ci: add PR labeler workflow
Label based on target release branch. Labels must be manually defined to
avoid giving the action unnecessary permissions. Release labels must be
defined in the config after each release is forked.

Signed-off-by: George Sapkin <george@sapk.in>
2025-12-03 11:20:05 +01:00
George Sapkin
f08c7993bd check-autorelease-deprecation: drop workflow
Drop the workflow since the setting has been deprecated over three years
ago.

Link: https://github.com/openwrt/packages/pull/27799#issuecomment-3506689211
Signed-off-by: George Sapkin <george@sapk.in>
2025-11-08 19:04:34 +02:00
Josef Schlehofer
4474f539bb multi-arch-test-build: run it only after the Formality check succeeds
Most of the time, when people contribute to the repository for the first time
 (or after a longer break), the multi-arch-test-build passes, but the
formality check fails and requires the contributor to make some changes.

This creates unnecessary load on the CI/CD, since the multi-arch-test-build
runs again even though it already passed, while other PRs are waiting for a runner.
Hopefully, this change will help decrease the waiting time.

Proposed changes:

- Run the formality check first, and only trigger the package tests afterwards.
This can be done using needs: https://docs.github.com/en/actions/reference/workflows-and-actions/workflow-syntax#jobsjob_idneeds

- Merge formal.yml into multi-arch-test-build.yml so that needs can be used.

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
2025-10-05 13:33:33 +02:00
Wesley Gimenes
ae6fd69de5 gihub: fix PR template broken URL
changes the relative URL in the PR template to an absolute URL
to resolve a "Not Found" error.

Signed-off-by: Wesley Gimenes <wehagy@proton.me>
2025-09-04 11:16:08 +02:00
Wesley Gimenes
38b89da400 github: Add fields to help users in the bug report
Not everyone filling out the bug report is an expert.
These fields, with additional explanations, can hopefully
help users provide more accurate information.

Add fields to guide users in completing the bug report.

Signed-off-by: Wesley Gimenes <wehagy@proton.me>
2025-06-03 08:51:43 +02:00
Wesley Gimenes
c323222c63 github: require user to check all bug report fields
Previously, users could leave fields blank,
resulting in missing information in the bug report.
Now, it is mandatory for all fields to be filled out,
ensuring that no essential information is overlooked.

Signed-off-by: Wesley Gimenes <wehagy@proton.me>
2025-06-03 08:51:43 +02:00
Josef Schlehofer
1f189894dc github: Creating issue: Add external links
This is heavily inspired by OpenWrt main repository [1]
as in the packages feed we would like to follow
and be in sync with the main repository.

Having external, well, contact links, where users
can ask or propose feature request and even find links
for documentation or contacting us is a good idea.
Might help to improve the current state of this repository.

[1] 57c104ef7f/.github/ISSUE_TEMPLATE/config.yml

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
2025-06-03 07:59:41 +02:00
Josef Schlehofer
67dc75f941 github: Use GitHub Issue Forms with yaml
This replaces the old issue templates with the new one.
It is going to reflect changes and require more details.

Issue Forms as also used in the main repository and in LuCI,
it helps users to create structured issue.

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
2025-06-03 07:59:41 +02:00
Josef Schlehofer
c623dbf30d github: Use Markdown and slight changes to PR template
The previous pull request was kinda not exactly tested.
This one should be better and more visible.

Fixes: 9a273c3e79 ("github: Improve Pull Request template")

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
2025-06-02 20:06:52 +02:00
Josef Schlehofer
9a273c3e79 github: Improve Pull Request template
By updating pull request template, this ensures that all newly patches
will be hopefully submitted to upstream, which help us that we dont need to
maintain these patches for ages. Also, all patches should be applied by git am.
This is important, because this follows OpenWrt main repo contribution policy
and we will know, who is the author of the patch and what it does (=
commit subject, commit description).

Also, we don't need to know on which host env, we compiled package.
If there is something host related, we can request details.

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
2025-06-02 10:40:58 +02:00
Josef Schlehofer
91a366e870 CI: move script into separate directory
This change follows the structure of GitHub workflow
folders from the main OpenWrt repository, where scripts
are in separate folder.

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
2025-05-25 18:34:41 +02:00
Josef Schlehofer
3621fded1e CI: formal check: use shared workflow in actions-shared-workflows
Lets switch to shared workflow in actions-shared-workflows instead of having
this separate file here. It will track and use the latest changes to avoid
being outdated.

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
2025-05-25 18:34:41 +02:00
Paul Spooren
57394d53af ci: drop APK version checking
APK is now the default, the SDK action will try to compile things and
fails if the version doesn't fit.

Signed-off-by: Paul Spooren <mail@aparcar.org>
2024-12-04 12:21:47 +01:00
Christian Marangi
2a35a9cab2 CI: multi-arch-test-build: move to shared workflow
Move multi-arch-test-build to shared workflow.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-11-08 19:36:52 +01:00
Daniel Golle
0455db48ff ci: avoid subshell invocation on APK version check
Use return code instead of scraping the stdio of `apk version --check`.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-09-02 11:02:09 -07:00
Paul Spooren
95908326b5 ci: final round of APK CI fixes
Using -ne wasn't such a good idea since it would do a numeric compare.
Now use -n which checks if the length is non-zero. APK prints the
problematic version if - problematic - so this should now do the trick.

Signed-off-by: Paul Spooren <mail@aparcar.org>
2024-08-17 20:26:59 -07:00
Paul Spooren
1019631a5a ci: fix APK version detection
This action was mostly based on the autorelease CI job and somehow there
is an error that if multiple packages are affected, the path is
concatenated instead of adding a space.

Secondly the APK return code 0 wasn't good enough for the if condition
and caused it to trigger even on valid versions.

Signed-off-by: Paul Spooren <mail@aparcar.org>
2024-08-16 13:24:41 +02:00
Paul Spooren
4a136ee40a ci: check if packages use an APK compatible version
APK uses a deterministic version schema, have the CI check that changed
packages actually follow that version schema.

Signed-off-by: Paul Spooren <mail@aparcar.org>
2024-08-15 13:28:12 +02:00
Josef Schlehofer
07c1218009 Revert "ci: no longer require real name"
It was decided that we should require to use real name once again.
There was discussion about it on the mailing list [1], which
was based on the commit in different OpenWrt repo [2]

This reverts commit 7e6cd98ad4.

[1] https://lists.openwrt.org/pipermail/openwrt-devel/2024-April/042711.html
[2] 12d9551f2d

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
2024-06-05 10:42:08 +02:00
Josef Schlehofer
70c27beb09 Revert "github: Improve Pull Request template"
This commit was accidently pushed to wrong remote and
it should be properly reviewed.

This reverts commit 6859b0a6f2.
2024-05-24 00:57:26 +02:00
Josef Schlehofer
6859b0a6f2 github: Improve Pull Request template
Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
2024-05-24 00:50:58 +02:00
Paul Spooren
d359fa04ed ci: set correct arch for rootfs tests
With the commit 01e5cfc "CI: Add target/arch tags (no suffix) for
snapshot images"[1] the os/platform is set for all images, which is usually
different from what the GitHub action runner uses (x86). The Docker
deamon still tries to fetch the x86 version and fails.

This commit explicitly sets the fitting arch.

[1]: 01e5cfccd7

Signed-off-by: Paul Spooren <mail@aparcar.org>
2024-03-15 11:36:28 +01:00
Tianling Shen
7542362bd6 ci: bump checkout/upload-artifact to v4
Fix Node.js 16 deprecation warning.
Ref: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-01-29 09:40:40 +01:00
Paul Spooren
7e6cd98ad4 ci: no longer require real name
This goes in accordance with the Linux Kernel:

> using a known identity (sorry, no anonymous contributions.)

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/process/submitting-patches.rst?id=HEAD#n442

Signed-off-by: Paul Spooren <mail@aparcar.org>
2024-01-10 17:22:54 +01:00
Yegor Yefremov
13553e6641 CI: allow PRs for CONTRIBUTING.md and README.md files
Also grep for CONTRIBUTING.md and README.md in the subject.

Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
2023-12-01 15:13:42 -08:00
Jeffery To
562f5df67f CI: Fix CI_HELPER
Commit 18d3c529fa caused CI_HELPER to be
set to "''" (two single quotes), leading to an error when test.sh tries
to source $CI_HELPER.

CI_HELPER is not set anywhere else and not passed into the container
environment, so there is no need to test if it has a value.

This fixes the value of CI_HELPER.

Fixes: 18d3c529fa ("github-ci: error on any shell errors")

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2023-12-01 11:23:37 -08:00
Jeffery To
aca4330c04 CI: Update sdk action, always upload artifacts
The updated version of gh-action-sdk will return compiled packages and
build logs for both build success and build errors.

This ensures these artifacts are always uploaded. This also sets the V
environment variable to enable verbose build output.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2023-11-08 09:30:59 +01:00
Jeffery To
5422bd6218 CI: Fix finding test script
Currently, the run-test code tries to find the package source directory
based on the directory name only. This fails for the Go compiler package
because there is more than one directory named "golang".

This uses the full path listed in the "Source:" line of the control file
to find the package source directory.

This also:

* Checks for the test script earlier, to avoid installing and removing
  ipk files when there is no test script to be run

* Makes PKG_VERSION parsing more lenient, as the package may not have a
  PKG_RELEASE, e.g. attendedsysupgrade-common

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2023-07-17 20:17:44 +08:00
Tianling Shen
bf88b371c5 CI: update build architectures
- armvirt target has been renamed to armsr (Arm SystemReady) [1].
- armsr-armv8 has been switched to aarch64_generic architecture [2].

1. 40b02a2301
2. e0f06ddc23

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-06-16 12:30:32 +08:00
Jeffery To
3b59118c4f CI: Add build test for riscv64_riscv64
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2023-06-02 18:52:45 +02:00
Jeffery To
1651f7f16d CI: Sort build architectures in alphabetical order
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2023-06-02 18:52:45 +02:00
Christian Marangi
d26e21ef40 CI: add concurrency rules to skip redundant build
Add concurrency rules to skip redundant build to skip extra build test
on force push on pull request.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2023-05-26 14:55:52 +02:00
Jeffery To
5ce254fd8e CI: Do package run-tests only if target packages were built
Currently, the package run-test phase will fail for PRs that only
add/update host-only packages, as no target packages (*.ipk) are built.

This checks if any target packages are built before attempting the
run-tests.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2023-05-10 11:52:51 +02:00
Jeffery To
955a90944b CI: Run "apt-get update" before installing signify-openbsd
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2023-05-10 11:52:51 +02:00
Van Waholtz
20a803aa03 CI: Enable runtime_test for mips_24kc
Signed-off-by: Van Waholtz <brvphoenix@gmail.com>
2023-05-01 15:11:44 +03:00
Gerard Ryan
7dd26ee760 cache-domains: added pre-test.sh CI step
Some packages variants have conflicting dependencies with the
base packages and the CI test will fail to install before anything
can be done by the packages to setup the system for install.

This change adds a pre-test.sh that runs before the install so things
like the default libustream variant can be swapped out as shown in the
updated cache-domains.

Signed-off-by: Gerard Ryan <G.M0N3Y.2503@gmail.com>
2023-05-01 13:38:17 +03:00
Jeffery To
e9bb948402 CI: Add local feed for CI-built packages
To test each package, the CI-built target package (ipk) file is
installed, but currently the target package's dependencies are installed
from the standard opkg feeds.

There are cases when the CI-built target packages should be
installed/tested together:

* If a pull request contains several new packages that depend on each
  other, the test step will fail as the new dependencies cannot be found
  in the current packages feed.

* If a pull request upgrades a source package that builds several target
  packages that depend on each other, the test step may fail due to the
  version/ABI mismatch between a newer target package and the older
  dependencies installed from the packages feed.

This sets up a local feed for the CI-built packages so that dependencies
are also installed from the same set of packages.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2023-04-19 13:43:24 +08:00
Jeffery To
f0d5e470e1 CI: Add --autoremove, ignore removal errors
836b4e1c73 added
--force-removal-of-dependent-packages but it does not do what the commit
message says it does.

When package A depends on package B (package B is a dependency of
package A; package A is a dependent of package B), trying to remove
package B while package A is installed will result in an error. Adding
--force-removal-of-dependent-packages in this case will cause the
removal of package B and package A (package B's dependent).

But in the case of the CI testing step, it is package A that is being
installed and removed. Removing package A with
--force-removal-of-dependent-packages will not cause package B (package
A's dependency) to be removed.

This adds --autoremove to actually remove the package's dependencies.

This also ignores any errors returned by opkg remove as --autoremove can
sometimes falsely return an error[1].

[1]: https://github.com/openwrt/openwrt/issues/12241

Fixes: 836b4e1c73 ("github-ci: add --force-removal-of-dependent-packages")
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2023-03-22 11:48:22 +08:00
Tianling Shen
29041e8f8e CI: update build architectures
Removed arc_archs - archs38 was marked as source-only [1].
Renamed powerpc_8540 to powerpc_8548 [2].

1. https://git.openwrt.org/?p=openwrt/openwrt.git;a=commit;h=c01641bcc7236d2e2de3ea65444b0cf2898df351
2. https://git.openwrt.org/?p=openwrt/openwrt.git;a=commit;h=2cad88b99fdae9766de84e6c1cb56f111eb53748

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-03-13 11:03:53 +01:00
Alois Klink
18d3c529fa github-ci: error on any shell errors
Enable `errexit` and `nounset` [POSIX shell options][1]
in `.github/workflows/entrypoint.sh` so that the script fails
if any command within the script fails.

[1]: https://pubs.opengroup.org/onlinepubs/9699919799//utilities/V3_chap02.html#set

Reported-by: Marius Dinu <m95d+git@psihoexpert.ro>
Fixes: https://github.com/openwrt/packages/issues/19953
Signed-off-by: Alois Klink <alois@aloisklink.com>
2022-12-08 10:55:52 +01:00
Paul Spooren
75ff4ba358 ci: only comment AUTORELEASE deprecation if exists
If it doesn't exists, don't confuse the contributors.

Signed-off-by: Paul Spooren <mail@aparcar.org>
2022-12-02 19:59:44 +01:00
Paul Spooren
61d59fd542 CI: deprecate $(AUTORELEASE) via comments
Autorelease causes some issues like heavy bandwidth usage as well as
non-deterministic package releases whenever someone doesn't use the full
git log.

With this comment all modified packages are checked and if they use
the autorelease feature, kindly comment to the user to change that.

Signed-off-by: Paul Spooren <paul.spooren@rhebo.com>
[ move check to separate workflow to handle ci limitation ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2022-11-27 15:16:20 +01:00
Christian Marangi
52570d4242 ci: update github actions to v3
Update checkout and upload-artifact action to v3 to mute nodejs
deprecation warning.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2022-10-25 22:13:24 +02:00
Jeffery To
37f9b77b01 ci: Use openwrt/gh-action-sdk@v5
The previous build errors with v5 have been fixed. This version builds
packages as a normal user instead of as root.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2022-05-31 09:47:35 +02:00
Rosen Penev
489cffadd2 Revert "ci: Use openwrt/gh-action-sdk@v5"
This reverts commit 7b7265293f.
2022-05-18 06:51:33 -07:00
Jeffery To
7b7265293f ci: Use openwrt/gh-action-sdk@v5
This version builds packages as a normal user instead of as root.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2022-05-18 11:42:18 +02:00
Jeffery To
6b2294ac37 ci: Look for changed packages in the PR branch only
Fixes https://github.com/openwrt/packages/issues/15267.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2022-05-14 21:33:21 -07:00