aboutsummaryrefslogtreecommitdiffstats
path: root/.github/workflows/kernel.yml
Commit message (Collapse)AuthorAgeFilesLines
* CI: rework build workflow to have split target and subtarget directlyChristian Marangi2023-05-241-4/+8
| | | | | | | | | | | | | | | | | Instead of referring to a redundant job and ENV variables, rework build workflow to accept and require split target and subtarget and use them directly from inputs. Rework each user and pass a JSON of tuple to matrix include with each target/subtarget combination to test. Special notice this doesn't use the github actions matrix combination feature but reference each specific tuple of target and subtarget to test. Just a cleanup no behaviour change intended. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> (cherry picked from commit eecc6e48117be26c2eefd9257cceb9d9b1e842f2) Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* CI: kernel: skip subtarget test on non-specific target testChristian Marangi2023-03-221-0/+6
| | | | | | | Reduce testing time by skipping subtarget test on non-specific target test. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* CI: kernel: enable target testing also for pull request eventChristian Marangi2023-01-201-1/+1
| | | | | | | | | Testing target changes was only set for push events. Enable this also for pull request events to enable testing pr making specific target changes. Fixes: 57a02cbbff5b ("CI: kernel: test each target with additional changes than target/linux") Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* CI: kernel: test each target with additional changes than target/linuxChristian Marangi2023-01-111-12/+10
| | | | | | | | | | | | Test each target if there are additional changes than target/linux. This is needed to do wide test with changes to kmods, include/kernel and changes to the workflow files. While at it also cleanup and rework the code to drop duplication. Also drop since_last_remote_commit to better track changes. Fixes: 04ada8bc4118 ("CI: kernel: build only changed targets") Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* CI: add concurrency limits for pr testChristian Marangi2023-01-111-0/+4
| | | | | | | | | | | Add concurrency limits for pull request test so that on pull request refresh old jobs are cancelled. The group is created based on the github ref + workflow name and the workflow is cancelled only it it comes from a pull_request event. Push events are not affected by this limit. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* CI: kernel: build only changed targetsChristian Marangi2023-01-111-13/+46
| | | | | | | | | | Detect changes in commit and build only changed targets. If a change is related to the generic target, build test each target. The matrix json is split. For target check patch only the first subtarget is selected, for build test each target subtarget is built. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* CI: build: make kernel build configurableChristian Marangi2022-12-161-0/+1
| | | | | | Make kernel build configurable to permit to introduce toolchain testing. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* CI: kernel: don't checkout and install feedsChristian Marangi2022-12-071-1/+0
| | | | | | | We don't need to checkout feed and install feeds for kernel tests. This saves up to 2 minutes for each target kernel build test. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* CI: trigger check also on build and check-kernel-patches workflow changeChristian Marangi2022-12-041-0/+4
| | | | | | | | | Since kernel and packages workflow now use a shared build workflow, they also need to react on changes on these shared workflow. Fix this and add these shared workflow to the event paths to check. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* CI: Extract the OpenWrt building to own sub workflowHauke Mehrtens2022-12-031-218/+14
| | | | | | | | Extract the building of OpenWrt into an own workflow which is then triggered by the kernel.yml and packages.yml workflow with different inputs. This allows us to share much of the code of the workflow. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* CI: Simplify if conditionsHauke Mehrtens2022-12-031-1/+1
| | | | | | There is no need to put a ${{ }} around the if conditions. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* CI: kernel: fix deprecation of set-outputChristian Marangi2022-10-211-3/+3
| | | | | | | | | From [0], github deprecated set-output with a better approach of appending variables to $GITHUB_OUTPUT [0] https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/ Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* ci: kernel: trigger build check on changes in kernel.mk as wellPetr Štetiar2022-10-201-2/+2
| | | | | | So we can QA more parts of kernel build process. Signed-off-by: Petr Štetiar <ynezz@true.cz>
* CI: kernel: check if patch are refreshed for each targetChristian Marangi2022-10-171-0/+71
| | | | | | Enforce refreshed patch for each target with kernel pr tests. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* CI: bump actions/download,upload-artifact action to v3Christian Marangi2022-10-121-1/+1
| | | | | | | Bump actions/download,upload-artifact action to v3 on every workflow to mute node deprecation warning. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* CI: bump actions/checkout action to v3Christian Marangi2022-10-121-6/+6
| | | | | | | Bump actions/checkout action to v3 on every workflow to mute node deprecation warning. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* CI: kernel: generate ccache cache on kernel pushChristian Marangi2022-10-111-0/+6
| | | | | | | | | | | To actually use ccache cache on kernel test from pr, the kernel workflow has to be run first from a push action. This will permit as a side effect to test merged commits and catch commit that may cause regression in kernel compilation even outside the github system. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* CI: kernel: use ccache to speedup workflowChristian Marangi2022-10-061-0/+17
| | | | | | | | | | Use ccache to speedup kernel compilation. Ccache dir is cached across each build test. To refresh ccache directory we generate an hash of the kernel include files, that includes the kernel versions of every kernel supported and the kernel compile includes. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* CI: Add workaround for github uppercase usernamesEdward Chow2022-10-031-1/+9
| | | | | | | | | | | | The workflow defined in tools.yml and kernel.yml used to fail on forked repositories of contributers whose github username contains uppercase letters. A workaround mentioned in https://github.com/orgs/community/discussions/27086 and https://stackoverflow.com/questions/70326569/ is applied. Signed-off-by: Edward Chow <equu@openmail.cc>
* CI: use tools:latest container to speedup kernel workflowChristian Marangi2022-10-011-3/+12
| | | | | | | Use tools:latest container with prebuilt host tools to speedup kernel compilation in kernel workflow. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* ci: show build failures directly in job log outputPetr Štetiar2022-09-201-4/+4
| | | | | | | | | | | | | | | | | | | | | Instead of waiting for complete workflow finish, then downloading the artifacts, unpacking them and inspecting them, lets try to make the build failure immediately visible in the log output: ====== Make errors from logs/target/linux/compile.txt ====== * Legacy (non-UHI/non-FIT) Boards * Support MIPS SEAD-3 boards (LEGACY_BOARD_SEAD3) [N/y/?] (NEW) Error in reading or end of file. make[6]: *** [scripts/kconfig/Makefile:77: syncconfig] Error 1 make[5]: *** [Makefile:616: syncconfig] Error 2 make[4]: *** [Makefile:736: include/config/auto.conf.cmd] Error 2 make[3]: *** [Makefile:24: build_dir/target-mipsel-openwrt-linux-musl_musl/linux-ramips_mt7620/linux-5.15.62/.modules] Error 2 make[2]: *** [Makefile:11: compile] Error 2 time: target/linux/compile#30.09#11.30#37.92 Signed-off-by: Petr Štetiar <ynezz@true.cz>
* build: harden GitHub workflow permissionsAlex Low2022-09-191-0/+4
| | | | | | | | | Grant pull-requests write permission to the labeler workflow and read-only to everything else. Signed-off-by: Alex Low <aleksandrosansan@gmail.com> [ wrap to 80 columns and fix wrong author as requested by author itself ] Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* CI: package kmods in kernel workflowChristian Marangi2022-09-111-0/+5
| | | | | | | Actually package kmods in kernel workflow to catch dependency error and other problem that may arise from kmods packaging. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* CI: kernel: Cache external toolchainChristian Marangi2022-09-101-2/+13
| | | | | | | Cache external toolchain for each target to remove load from openwrt cdn server and make the external toolchain setup quicker. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* CI: kernel: Build all kernel modulesHauke Mehrtens2022-08-101-0/+3
| | | | | | | | Activate building all kernel modules. This builds all kernel modules from the core packages and the feeds. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* CI: kernel: Checkout feeds from githubHauke Mehrtens2022-08-101-0/+24
| | | | | | | | | | | | | | Instead of cloning the feeds from the default location at git.openwrt.org use the github action to clone them directly from github. We saw some error messages when cloning from git.openwrt.org, probably related to some rate limiting applied. Cloning from github within a github action should work more stable. The "./scripts/feeds update -a" script will use the already checked out feed repositories and not clone them again from git.openwrt.org, but it will also not change the branch name. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* CI: kernel: Show used OpenWrt configurationHauke Mehrtens2022-08-101-0/+5
| | | | | | | | Show the configuration used to build OpenWrt before starting the build. This should make it easier for people to reproduce problems when it fails. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* CI: kernel: Use downloads.cdn.openwrt.orgHauke Mehrtens2022-08-101-2/+2
| | | | | | | Use downloads.cdn.openwrt.org to download the toolchain. This should reduce the load on the servers. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* CI: kernel: Trigger workflow for more directoriesHauke Mehrtens2022-08-101-0/+2
| | | | | | Trigger the kernel build workflow also for more directories. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* CI: run inside the buildbot docker containerPaul Spooren2022-07-241-46/+24
| | | | | | | | Run github actions insider buildbot docker container. Signed-off-by: Paul Spooren <mail@aparcar.org> [ run container under buildbot user ] Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* CI: add Kernel compile testsPaul Spooren2022-07-241-0/+143
Add Github Actions yaml script to build test kernel PR changes for each target. Signed-off-by: Paul Spooren <mail@aparcar.org> [ add commit description ] Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>