Commit Graph
115 Commits
Author SHA1 Message Date
Josef Schlehofer 0b25808414 ci: add nightly LLM review workflow
Implement a nightly LLM review workflow that triggers
 a reusable digest workflow from openwrt/actions-shared-workflows.

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
(cherry picked from commit 3dc3c3d9e0)
2026-07-19 22:35:07 +02:00
dependabot[bot] f7a86dd564 ci: bump lewagon/wait-on-check-action from 1.8.0 to 1.8.1
Bumps [lewagon/wait-on-check-action](https://github.com/lewagon/wait-on-check-action) from 1.8.0 to 1.8.1.
- [Release notes](https://github.com/lewagon/wait-on-check-action/releases)
- [Changelog](https://github.com/lewagon/wait-on-check-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/lewagon/wait-on-check-action/compare/v1.8.0...v1.8.1)

---
updated-dependencies:
- dependency-name: lewagon/wait-on-check-action
  dependency-version: 1.8.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
(cherry picked from commit a9c87d92f7)
2026-07-19 22:35:02 +02:00
Josef Schlehofer 747627ad8d ci: migrate to webhook-based stale bot
While at it, we synchronized .github/formalities.json with the current
default settings of the webhook bot.

Since the bot is shared across all OpenWrt repositories, the stale PR
cleanup is disabled by default at the repository level. Because this
repository wants to use stale triage, we explicitly enable it here.

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
(cherry picked from commit f8b5d93366)
2026-07-19 22:34:58 +02:00
Josef Schlehofer bf2a2b39fd ci: trigger build on pull_request and wait for FormalityCheck
- Change trigger back to pull_request to ensure it runs correctly on fork PRs
- Add a wait-for-formalities job that polls the GITHUB_TOKEN for FormalityCheck status
- Execute the feeds package test build only when the formalities check succeeds

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
(cherry picked from commit b73e173d4d)
2026-06-30 18:00:45 +02:00
Josef Schlehofer ef0ef18f57 ci: update trigger to check_suite for test build
- Change trigger from check_run to check_suite completed event
- Run feeds test build only when all checks in the suite succeed

Fixes: ef633e9 ("ci: replace GitHub actions (labeler, formalities) by webhook")

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
(cherry picked from commit 5bd5e68a08)
2026-06-30 18:00:37 +02:00
Josef Schlehofer 6ba04980e7 ci: replace GitHub actions (labeler, formalities) by webhook
- Added file .github/formalities.json, which can be configured
in this repository, otherwise it uses defaults.

- Removed GitHub Action Labeler workflow as it was implemented
by webhook to be faster

- Updated multi-arch-test-build.yml to run builds when Formalities Check passes

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
(cherry picked from commit ef633e987f)
2026-06-30 18:00:31 +02:00
Josef Schlehofer fef9428c80 ci: labeler: avoid checking out fork codebase
Refactor the PR labeler workflow to checkout the base repository ref
instead of the pull request head ref from forks, resolving checkout
errors inside the pull_request_target context.

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
(cherry picked from commit 620251632b)
2026-06-30 18:00:24 +02:00
dependabot[bot] 00478e6665 ci: bump actions/checkout from 6 to 7
Bumps [actions/checkout](https://github.com/actions/checkout) from 6 to 7.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v6...v7)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
(cherry picked from commit d339e31768)
2026-06-30 18:00:16 +02:00
Josef Schlehofer 04e1c87f3f Revert "ci: cancel in-progress Test and Build runs on PR update"
The previous commit broke the CI/CD pipeline, which now fails with the following error:
```
Canceling since a deadlock was detected for concurrency group: 'Test and Build-refs/pull/foo/merge' between a top level workflow and 'Feeds Package Test Build'
```

This likely occurs because the reusable workflow [1] already defines its own concurrency group.

[1] https://github.com/openwrt/actions-shared-workflows/blame/7325a2849900f35af61a08ccd7311b0c8d439246/.github/workflows/multi-arch-test-build.yml#L13

This reverts commit 753e26a131.

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
(cherry picked from commit bfe91d3205)
2026-06-30 18:00:10 +02:00
Hauke Mehrtens ae7cbeab87 ci: cancel in-progress Test and Build runs on PR update
When a contributor pushes a new commit to an open PR, the previous
Test and Build run is no longer informative and only consumes a
runner slot that the new run could use. Add a concurrency group
keyed on the workflow name and ref so a fresh push cancels the
prior in-progress run for the same PR.

Since this workflow only triggers on pull_request, the ref is
always refs/pull/<num>/merge (unique per PR), so cancel-in-progress
can be set unconditionally.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 753e26a131)
2026-06-30 18:00:03 +02:00
George Sapkin 47693f58e1 ci: mark and close PRs with formality issues
Add a recurring workflow that runs every day at 5:30 and marks all PRs
that have formality check failures (i.e. marked as 'not following
guidelines') that have not been active in the past 14 days as stale.
Close stale PRs after 14 more days.

Signed-off-by: George Sapkin <george@sapk.in>
(cherry picked from commit 5e9229551d)
2026-06-30 17:59:57 +02:00
George Sapkin 6a5e7a77d1 ci: relax subject and line length checks
Relax subject length checks to 60/80 and line length to 100 to match the
actions repo.

Link: https://github.com/openwrt/actions-shared-workflows/pull/95
Signed-off-by: George Sapkin <george@sapk.in>
(cherry picked from commit 3f7ff4c50c)
2026-06-30 17:59:50 +02:00
George Sapkin e6b256fe8c ci: bump HyperStickler to v1-rc.1
Update HyperStickler and disable branch check.

Changes: https://github.com/GeorgeSapkin/hyperstickler/releases/tag/v1-rc.1
Signed-off-by: George Sapkin <george@sapk.in>
(cherry picked from commit 0cb66163db)
2026-06-30 17:59:44 +02:00
George Sapkin 9b7993739b ci: add day of the week and labels to dependabot
Run dependabot every Saturday and label PRs with GitHub/CI and
dependencies labels.

Signed-off-by: George Sapkin <george@sapk.in>
(cherry picked from commit b19c784ca4)
2026-06-30 17:59:38 +02:00
dependabot[bot] fe6bd11080 ci: bump actions/checkout from 5 to 6
Bumps [actions/checkout](https://github.com/actions/checkout) from 5 to 6.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
(cherry picked from commit 32197de82c)
2026-06-30 17:59:26 +02:00
George Sapkin 1734cb6f19 ci: add dependabot
Add dependabot config to automatically check for action updates once a
week and open PRs if any are found.

Signed-off-by: George Sapkin <george@sapk.in>
(cherry picked from commit c1f0e9ce19)
2026-06-30 17:59:21 +02:00
George Sapkin 1660211944 ci: switch formal to an external action
Switch formal to use HyperStickler directly to test it in packages,
before introducing it into the main actions repo.

Link: https://github.com/marketplace/actions/hyperstickler
Signed-off-by: George Sapkin <george@sapk.in>
(cherry picked from commit 4369bd6f1e)
2026-06-30 17:58:34 +02:00
George Sapkin 98dae8fe1f ci: add more labels
Add 'Add package' label when a new Makefile is added or 'Drop package'
when a Makefile is deleted.

Label PRs to OpenWrt 25.12 branch.

Label CI-related PRs.

Signed-off-by: George Sapkin <george@sapk.in>
(cherry picked from commit c7ccba0cf2)
2026-06-30 17:58:17 +02:00
George Sapkin c2cb59c1ad multi-arch-test-build: disable comments and labels
Disable posting formality check status comments and adding related
labels while the security token is being figured out.

Link: https://github.com/openwrt/packages/pull/28011
Fixes: 2c558a8 ("ci: label formality failures")
Fixes: 7658669 ("multi-arch-test-build: post formal summaries to PR")
Signed-off-by: George Sapkin <george@sapk.in>
(cherry picked from commit 1f2d66502b)
2025-12-11 19:41:44 +02:00
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] https://github.com/openwrt/openwrt/blob/57c104ef7f8619d48579ada5ab24f78984391edd/.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] https://github.com/openwrt/actions-shared-workflows/commit/12d9551f2d07ec34ac813da8612c8014fb393af6

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]: https://github.com/openwrt/docker/commit/01e5cfccd73a72ecab730496607c7c22b904f366

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