aboutsummaryrefslogtreecommitdiffstats
path: root/.github/workflows/build.yml
Commit message (Collapse)AuthorAgeFilesLines
* CI: use openwrt official tools container by defaultChristian Marangi2023-01-311-0/+8
| | | | | | | | | | | | | Use openwrt official tools container by default. Fork will use openwrt tools container by default. This can be disabled by setting the option use_openwrt_container to false for the build.yml and check-kernel-patches.yml. The push-containers workflow is disabled on forks. The workflow can be reenabled by commenting the condition in push-containers.yml. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* CI: tools: directly copy prebuilt tools in containerChristian Marangi2023-01-231-5/+10
| | | | | | | | | Directly copy prebuilt tools in container instead of creating an archieve and extracting it later in other workflows. Update build workflow to support this new implementation. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* CI: build: fallback to compile toolchain if external toolchain failChristian Marangi2023-01-111-3/+5
| | | | | | | | | | If for whatever reason external toolchain can't be found or downloaded, fallback to internal toolchain build. This can be useful when new target are introduced and external toolchain are not present in openwrt fileserver. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* CI: build: fix external toolchain use with release tag testsChristian Marangi2023-01-041-1/+1
| | | | | | | | | | | | | | When a new tag for a release is created, the just checkout repo from github actions will already have such tag locally created. This will result in git fetch --tags failing with error rejecting the remote tag with (would clobber existing tag). Add -f option to overwrite any local tags and always fetch them from remote. Fixes: e24a1e6f6d7f ("CI: build: add support for external toolchains from stable branch") Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* CI: build: make kernel build configurableChristian Marangi2022-12-161-0/+4
| | | | | | Make kernel build configurable to permit to introduce toolchain testing. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* CI: improve build naming for shared workflowChristian Marangi2022-12-161-2/+2
| | | | | | | Impove build naming for build shared workflow to better understand what is being test. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* CI: build: skip sdk adapt to external toolchain on cache hitChristian Marangi2022-12-071-1/+1
| | | | | | | | | | | | On cache hit, skip sdk adapt to external toolchain. This is needed because we cache the already extracted sdk and that is already adapted to be used as external toolchain. Rerunning the adap step will result in the test to fail for missing file as the file are already got wrapped to the external toolchain format. Fixes: 42f0ab028e2e ("CI: build: fix use of sdk as toolchain") Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* CI: build: fix use of sdk as toolchainChristian Marangi2022-12-061-0/+28
| | | | | | | | | | | | | | | | | | | | | | The toolchain included in a sdk have a different format than an external toolchain tar. Since sdk is a more integrated setup doesn't use and include wrapper bin that use the external toolchain config and use an alternative and more standard way to include all the toolchain headers. External toolchain use wrapper.sh to append the configured include header when each tool is called. Fix the sdk toolchain by reverting their own sdk wrapper scripts and to simulate an external toolchain build copying what is done in the toolchain target makefile. This handle compilation error and warning caused by not using fortify header on building packages. Fixes: 006e52545d14 ("CI: build: add support to fallback to sdk for external toolchain") Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* CI: build: fix matching for openwrt release branch for toolchain parsingChristian Marangi2022-12-041-6/+8
| | | | | | | | | | | | | The current match logic doesn't handle test for push events related to stable release (example openwrt-22.03) but only fork with the related prefix (example openwrt-22.03-fixup) Fix wrong matching and while at it also add extra checks to other matching (check if the branch name actually start with the requested prefix) Fixes: e24a1e6f6d7f ("CI: build: add support for external toolchains from stable branch") Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* CI: fix matching for openwrt release branch for container selectionChristian Marangi2022-12-041-4/+6
| | | | | | | | | | | | | The current match logic doesn't handle test for push events related to stable release (example openwrt-22.03) but only fork with the related prefix (example openwrt-22.03-fixup) Fix wrong matching and while at it also add extra checks to other matching (check if the branch name actually start with the requested prefix) Fixes: abe8a4824210 ("CI: build: add support for per branch tools container") Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* CI: build: add support to fallback to sdk for external toolchainChristian Marangi2022-12-041-8/+33
| | | | | | | Add support to use sdk as external toolchain if the packaged external toolchain tar is not found on openwrt servers for build shared workflow. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* CI: build: add support for external toolchains from stable branchChristian Marangi2022-12-041-2/+27
| | | | | | | | | | | | | Add support to use external toolchains from stable branch if we are testing commit targeting stable openwrt branch in kernel and packages workflow. With pr the target branch is parsed and the right toolchain is used. To use the stable toolchain for local testing the branch needs to have the prefix openwrt-[0-9][0-9].[0-9][0-9]- (example openwrt-21.02-fixup) Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* CI: build: add support for per branch tools containerChristian Marangi2022-12-041-1/+28
| | | | | | | | | | | Add support in build shared workflow for per branch tools container. With pr the target branch is parsed and the right container is used. To use the stable container for local testing the branch needs to have the prefix openwrt-[0-9][0-9].[0-9][0-9]- (example openwrt-21.02-fixup) Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* CI: Build all boards and testing kernelHauke Mehrtens2022-12-031-0/+20
| | | | | | | | This adds options to build all boards of a selected target and an additional option to build the testing kernel instead of the normal kernel. This can be used by other trigger work flows. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* CI: Allow building with internal toolchainHauke Mehrtens2022-12-031-1/+20
| | | | | | | | | | | This adds an option to build with internal toolchain. This can be used to build targets which are currently not build by the OpenWrt build bots and which needs their own toolchain build for every build. Building the toolchain takes about 30 minutes compared to using the external toolchain which takes some seconds. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* CI: Extract the OpenWrt building to own sub workflowHauke Mehrtens2022-12-031-0/+213
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>