aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* CI: kernel: check if patch are refreshed for each targetChristian Marangi2022-12-041-0/+71
| | | | | | | Enforce refreshed patch for each target with kernel pr tests. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> (cherry picked from commit 689cfaeb7c37d7199f6e552bf32b0f996ea3040a)
* CI: labeler: target major version of labeler actionChristian Marangi2022-12-041-1/+1
| | | | | | | | Target major version of labeler to include minor fixes and use always the latest major version with included fixes. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> (cherry picked from commit 5fb7232bc0592cb2e1818fa47dfaecc291c8514e)
* CI: bump actions/download,upload-artifact action to v3Christian Marangi2022-12-042-7/+7
| | | | | | | | Bump actions/download,upload-artifact action to v3 on every workflow to mute node deprecation warning. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> (cherry picked from commit 77b24012db1d696ca87c03fa1bb8bdf2606119e7)
* CI: bump actions/checkout action to v3Christian Marangi2022-12-043-10/+10
| | | | | | | | Bump actions/checkout action to v3 on every workflow to mute node deprecation warning. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> (cherry picked from commit 87c69d73bb4021bf3a26217b3a652ce262637b1e)
* CI: kernel: generate ccache cache on kernel pushChristian Marangi2022-12-041-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> (cherry picked from commit 23e946d1aded1fc21125704c0819146d5772d72b)
* CI: kernel: use ccache to speedup workflowChristian Marangi2022-12-041-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> (cherry picked from commit 137ba15e6ef31534a2002a02e69b774232f0b040)
* CI: tools: compile tools with ccache support for tools containerChristian Marangi2022-12-041-1/+2
| | | | | | | | Enable ccache support for tools container, useful to speedup other workflow even more. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> (cherry picked from commit 2781e3839e7f4f6132a2737ee9f988f40fa58d99)
* CI: Add workaround for github uppercase usernamesEdward Chow2022-12-042-2/+16
| | | | | | | | | | | | | 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> (cherry picked from commit c27b43956407f3adc3cc2693792acd6b40a01877)
* CI: use tools:latest container to speedup kernel workflowChristian Marangi2022-12-041-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> (cherry picked from commit 5d09118f8e60fa151e03916f255f5511e197af68)
* CI: create Docker container containing compiled toolsPaul Spooren2022-12-042-0/+67
| | | | | | | | | | | | | | | Currently each Kernel compilation takes about 30 minutes of which 20 minutes are used to compile our tools. While the toolchain is downloaded and instantly ready the tools are missing. This commit starts uploading a Docker container including compiled tools which are ready to use. It is automatically updated whenever any tools are changed. Signed-off-by: Paul Spooren <mail@aparcar.org> Co-Developed-by: Christian Marangi <ansuelsmth@gmail.com> Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> (cherry picked from commit 25b65f548dfd93cae87781276bfff9a27cd3ebd4)
* CI: use buildbot container for buildingPaul Spooren2022-12-041-67/+50
| | | | | | | | | | | | | Instead of using a fresh Linux installation which is setup every time use the Buildbot container which is used for our own Buildbot infrastructure, too. While at it also tidy up the workflow to make it more consistent with other workflow. Signed-off-by: Paul Spooren <mail@aparcar.org> Co-Developed-by: Christian Marangi <ansuelsmth@gmail.com> Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> (cherry picked from commit 3b23227d43ec720f810e6e261945530f7bc549f0)
* ci: show build failures directly in job log outputPetr Štetiar2022-12-043-5/+20
| | | | | | | | | | | | | | | | | | | | | | 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> (cherry picked from commit f4ca4187cde01a3e412f10657bec0790d3a4cd94)
* ci: move scripts into separate directoryPetr Štetiar2022-12-042-1/+1
| | | | | | | So it's clean and tidy. Signed-off-by: Petr Štetiar <ynezz@true.cz> (cherry picked from commit 63ed733d30153667d7d645ab0ee3f5614089c759)
* build: harden GitHub workflow permissionsAlex Low2022-12-044-0/+17
| | | | | | | | | | 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> (cherry picked from commit 715259940776843d8799bc39de8eb50eb764189b)
* CI: include automatic Pull Request LabelerPiotr Dymacz2022-12-042-0/+115
| | | | | | | | | | | | | | | | | | | | This adds GitHub CI action which makes use of 'Labeler', allowing automatic labeling of new PRs, based on the modified files paths. Below labels are supported and more can be added later: - 'target/*' - 'target/imagebuilder' - 'kernel' - 'core packages' - 'build/scripts/tools' - 'toolchain' - 'GitHub/CI' For more information: https://github.com/marketplace/actions/labeler Signed-off-by: Piotr Dymacz <pepe2k@gmail.com> (cherry picked from commit 4f42566d47999c392c8ea41dc27215b43ed9ee40)
* CI: package kmods in kernel workflowChristian Marangi2022-12-041-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> (cherry picked from commit 0c45db5560df47a0344a21c2443a4f2889c42ac8)
* CI: kernel: Cache external toolchainChristian Marangi2022-12-041-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> (cherry picked from commit f522c27385d6f94e5dbcc3e84968f0e38609ff1c)
* CI: kernel: Build all kernel modulesHauke Mehrtens2022-12-041-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> (cherry picked from commit fed325f4633cb302a5f43c42285e8ab0fd144262)
* CI: kernel: Checkout feeds from githubHauke Mehrtens2022-12-041-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> (cherry picked from commit b120e78917099d46a25cc521998b917fdf08e388)
* CI: kernel: Show used OpenWrt configurationHauke Mehrtens2022-12-041-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> (cherry picked from commit 43afaf6149129a72a8f3e5d3d0d545e54ac81b3a)
* CI: kernel: Use downloads.cdn.openwrt.orgHauke Mehrtens2022-12-041-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> (cherry picked from commit 7b4daf00766620faac8212b46259064ca6e2c716)
* CI: kernel: Trigger workflow for more directoriesHauke Mehrtens2022-12-041-0/+2
| | | | | | | Trigger the kernel build workflow also for more directories. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> (cherry picked from commit 546822775cd988360964687c0cb430d67bd5c617)
* CI: run inside the buildbot docker containerPaul Spooren2022-12-041-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> (cherry picked from commit 8a77adb0485aeb40f6550eb7fcdb461b3eaffe58)
* CI: add Kernel compile testsPaul Spooren2022-12-041-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> (cherry picked from commit c17c931a90e5cb9613875a42ef8eace46be539f3)
* CI: usability improvements for toolsPaul Spooren2022-12-041-3/+13
| | | | | | | | | | * Always store build logs * Store .config as an artifact * Rename job to `tools-{ os }` for log archive without spaces * Run CI job on changes to the CI file itself Signed-off-by: Paul Spooren <mail@aparcar.org> (cherry picked from commit 80f79beb952dcb87d967a130d326cb1dd5a077ed)
* CI: move logs/ to GITHUB_WORKSPACEPaul Spooren2022-12-041-1/+6
| | | | | | | | | | | | Artifacts can only be uploaded from inside the GITHUB_WORKSPACE. While the Linux CI jobs run inside that per default, a special case-sensitive mount outside the GITHUB_WORKSPACE is used for macOS builds. To make log artifacts work for both macOS and Linux, move logs/ folder to GITHUB_WORKSPACE on failures. Signed-off-by: Paul Spooren <mail@aparcar.org> (cherry picked from commit a5eeac8033786a7a04b7569175e41e415b6579c0)
* CI: build changes in tools/ on ubuntu/macosPaul Spooren2022-12-041-0/+129
| | | | | | | | | This commits adds GitHub CI to check that all tools compile on both Ubuntu and macOS. Since running in parrallel this should also detect badly set depdendencies within tools/Makefile. Signed-off-by: Paul Spooren <mail@aparcar.org> (cherry picked from commit fb830fd894f7ae5ad23f712ebf50808f8be2a1f7)
* CI: allow dots in commit subject areaPaul Spooren2022-12-041-1/+1
| | | | | | | | Due to a limited grep pattern, subjects containing dots like `image.mk` were falsely reported as problematic. Extend pattern to allow dots. Signed-off-by: Paul Spooren <mail@aparcar.org> (cherry picked from commit fb5d0dc362e5206dbedb694dbe27953582eb887b)
* CI: add formal checksPaul Spooren2022-12-042-0/+96
| | | | | | | | | | | | The formal checks verify the following things: - Commits does not contain any merge commits - Signed by a real name - Commit titles starts with an `<area>:` - Author name matches signed of name - Commit message is not empty Signed-off-by: Paul Spooren <mail@aparcar.org> (cherry picked from commit 3dc38823a2994639500ca201ac16928b7bf0bd8a)
* scripts: ext-toolchain: add support for muslChristian Marangi2022-12-041-2/+12
| | | | | | | | | Openwrt now supports only glibc and musl. Add support for musl and rework the libc check to handle the new config flags and correctly compile package basend on that. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> (cherry picked from commit 7be01fe13b4517e5edb8a4818f437d60144cdcb4)
* scripts: ext-toolchain: add support for info.mk in probe_ccChristian Marangi2022-12-041-0/+7
| | | | | | | | Openwrt generate info.mk that contains the libc type. For probe_cc check if the file exist and parse directly it for LIBC type. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> (cherry picked from commit 75311977f5ff64b491cb57ac713d75e0e410d786)
* scripts: ext-toolchain: actually probe libc type on config generationChristian Marangi2022-12-041-0/+1
| | | | | | | | | Currently we never call probe_cc before config generation, this cause the script to never actually detect the correct libc type. Call probe_cc before config generation to correctl set the .config file. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> (cherry picked from commit ddeabc75ebe3151ff7da302cb1aae702b3ad7eba)
* scripts: ext-toolchain: add option to overwrite configChristian Marangi2022-12-041-4/+18
| | | | | | | | | It can be useful to overwrite an already generated config. Option are simply added at the end of the config and make defconfig will overwrite the relevant option with the new one. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> (cherry picked from commit f4dd18ca39c42a324e34633c8ee553717531bc3b)
* scripts: ext-toolchain: fix wrong prefix in print_config generationChristian Marangi2022-12-041-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The parsed prefix in print_config is wrong and this produce broken generated .config that won't work with any external toolchain. Currently the prefix from a CC of 'arm-openwrt-linux-muslgnueabi-gcc-12.1.0' produce a prefix 'arm-openwrt-linux-muslgnueabi-gcc-' This is wrong as the real prefix should be 'arm-openwrt-linux-muslgnueabi-' This is probably caused by a change in how the toolchain is now handled that now append also the gcc version. Probably in ancient days the version wasn't part of the name and the prefix generation stripped the '-gcc' instead of the gcc version. Fix this and correctly strip the gcc version and the gcc suffix to correctly call toolchain bins. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> (cherry picked from commit 53c293262fce844c8291ab82e6726a8489d3c57b)
* scripts: fix various typosJosh Soref2022-12-049-14/+14
| | | | | | | | | | | This only affects typos in comments or user-facing output. Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> [only picks changes to scripts, drop "commandline" replacement, fix case for "arbitrary", improve commit message] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> (cherry picked from commit 08622de7d66eb90038de54f34ab2fe2308424fd0) Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* scripts/ext-tools: introduce new script to install prebuilt toolsChristian Marangi2022-12-041-0/+98
| | | | | | | | | | | | | | | | Add a simple script to make it easier to install a prebuilt tools tar. Currently it will be used by our tools container and kernel workflow on github. Simple script that take a tar that contains prebuilt host tools, extract them and refresh the timestamps to skip recompilation of such host tools. By default it refresh timestamps of build_dir/host and staging_dir/host/stamp. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> (cherry picked from commit 5428bdc2dfaa45bc7adc89c3b9224da7d21961d0)
* toolchain: Include ./include/fortify for external musl toolchainHauke Mehrtens2022-12-041-0/+1
| | | | | | | | | | | | | | | | When building with an external toolcahin with musl also include ./include/fortify by default. This is also done when we build with the internal toolchain using musl libc. Without this extra include the fortify source feature is not working when using an external musl toolchain. All binaries were compiled without fortify source when an external musl toolchain was used. All binaries release done by the OpenWrt project use the internal toolcahin where fortify source is working. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> (cherry picked from commit 3053045093a5c89dad970b7db3ed9f2a5be993f6) Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* rules_mk: use gcc versions for external toolchainVincent Wiemann2022-12-041-10/+3
| | | | | | | | | | | | When using the OpenWrt toolchain as an external toolchain the build failed due to missing LTO support. By choosing the GCC wrappers of the tools this commit makes sure that the LTO-enabled executables are being used. Signed-off-by: Vincent Wiemann <vincent.wiemann@ironai.com> [ wrap the commit description to 72 char ] Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> (cherry picked from commit 2555ffb4536e2727465e9a0d426ad3c4f1ef003a)
* rules_mk: don't include wrapped bin with external toolchainsChristian Marangi2022-12-041-1/+0
| | | | | | | | | | | | Don't add wrapped bin to the TARGET_PATH as it does cause compilation error. cmake.mk will use the "command -v" and will use the wrapped bin instead of the external toolchain bin as they have the same name and command will select the first result. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> (cherry picked from commit a90eabf60255773231ed0259e5da5eb6a36fe9ce)
* build: make find_md5 reproducible with AUTOREMOVEChristian Marangi2022-12-044-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | While experimenting with the AUTOREMOVE option in search of a way to use prebuilt host tools in different buildroot, it was discovered that the md5 generated by find_md5 in depends.mk is not reproducible. Currently the hash is generated by the path of the file in addition to the file mod time. Out of confusion, probably, there was an idea that such command was used on the package build_dir. Reality is that this command is run on the package files. (Makefile, patches, src) This is problematic because the package Makefile (for example) change at each git clone and base the hash on the Makefile mtime doesn't really reflect if the Makefile actually changes across a buildroot or not. A better approach is to generate an hash of each file and then generate an hash on the sort hash list. This way we remove the problem of git clone setting a wrong mtime while keeping the integrity of checking if a file changed for the package as any change will result in a different hash. Introduce a new kind of find_md5 function, find_md5_reproducible that apply this new logic and limit it only with AUTOREMOVE option set to prevent any kind of slowdown due to additional hash generation. (cherry picked from commit 53a08e37437972ba0a8fbf953a93a70a6b784ef4) [ reworked mkhash to old implementation ] Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* procd: add patch to fix compilation errorChristian Marangi2022-12-041-0/+36
| | | | | | | | | | | procd complain for an unused verbose variable causing compilation error. Fix this by setting the variable static following upstream procd changes. This is a variant of 0ee73b2c86a853ae3274c7080e2dcd36b81aa1fa that introduced major change and fixed the verbose variable to static. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* layerscape: fix compilation error for missing define of dwc quirkChristian Marangi2022-12-041-2/+6
| | | | | | | | Add missing define for dwc quirk patch required to fix compilation error for layerscape target. This was wrongly dropped in a kernel bump. Fixes: 8e5de897691a ("kernel: bump 5.4 to 5.4.213") Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* bcm53xx: update DTS files with the latest changesRafał Miłecki2022-12-0420-12/+2285
| | | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit 8cdafa149eda4e343905ccf00cad34ff2b52c85b)
* bcm53xx: backport DT changes from 5.17 & 5.18Rafał Miłecki2022-12-049-1/+471
| | | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit a721fb9f839b3ca71da275a1c99620ef9342fb28)
* bcm53xx: use new USB 2.0 PHY bindingRafał Miłecki2022-12-042-0/+183
| | | | | | | | | | | | This fixes: [ 10.440495] bcm_ns_usb2 1800c000.usb2-phy: can't request region for resource [mem 0x1800c000-0x1800cfff] [ 10.450039] bcm_ns_usb2 1800c000.usb2-phy: Failed to map DMU regs [ 10.456183] bcm_ns_usb2: probe of 1800c000.usb2-phy failed with error -16 caused by conflict in allocating resources. Fixes: 44ce70f0e209c ("bcm53xx: drop downstream patch that now breaks pinctrl driver") Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit 1d7c1a41987ae463700224c08a3629e4086a8f39)
* bcm53xx: use more upsteam DT patches from 5.16 / 5.17Rafał Miłecki2022-12-042-0/+164
| | | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit 5901917b936d93c8facda6dfec4c5d77f666cbac)
* bcm53xx: add first 5.17 DTS changesRafał Miłecki2022-12-043-0/+175
| | | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit 1ee6d3d24e328e29fcf068e90953c760305462d4)
* bcm53xx: backport early DT patches queued for 5.16Rafał Miłecki2022-12-0411-4/+602
| | | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit 366be2183e90b6ea8110d7236f8a93c8028573f8)
* bcm53xx: specify switch ports for more devicesRafał Miłecki2022-12-042-0/+864
| | | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit ae33ce2af2b273332017d0b49e37c4224e40a62a)
* bcm53xx: backport missed DT patch cleaning up CRU blockRafał Miłecki2022-12-046-6/+91
| | | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit 8a4d4d4243357b28722e3327e2c7c7b4ceb288ec)