aboutsummaryrefslogtreecommitdiffstats
path: root/.github/workflows/packages.yml
Commit message (Collapse)AuthorAgeFilesLines
* CI: add support for getting ccache cache from S3Christian Marangi2023-10-241-0/+23
| | | | | | | | | | | | | | | | | | | | | | Add support for getting ccache cache from S3. ccache is archieved in a tar and downloaded from S3 Cloud Storage. For push events, ccache is then uplodaed back to S3 to refresh and have a ccache cache always fresh. An additional workflow is added to upload files to an S3 Cloud Storage from artifacts uplodaed to github. The minio tool is used to upload files to S3. If the ccache can't be downloaded from s3, we fallback to github cache system. Also limit s3 upload to the openwrt repository since external fork won't have (obviously) the required secrtes to upload data to the S3 Cloud Storage. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> (cherry picked from commit ebbc806d30502ff003ae7a19098c6afaaf1295a5)
* CI: build: add option to define custom ccache cache typeChristian Marangi2023-10-241-0/+1
| | | | | | | | | Add new input to define custom ccache cache type. This is useful to use a different ccache cache for some special workflow that may do more test than simple kernel compilation. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> (cherry picked from commit 07b52a8a25f261e3cee03f4980e4bc868e9ee5cc)
* CI: build: add job to remove previous ccache cache if already existChristian Marangi2023-10-241-0/+1
| | | | | | | | | | | Github Actions cache doesn't permit to overwrite cache if it does already exist. As a trick to refresh and have fresh ccache pool, delete the ccache cache if it does exist with the help of Github REST API. An additional permission is needed to access this API. Add this permittion to each user of the build workflow. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> (cherry picked from commit 203cc0a7ef0bbf3b5a19db3caa96e91963ec154c)
* CI: ignore master branch for push eventsChristian Marangi2023-10-241-0/+2
| | | | | | | | | | | Due to problem with migrating from master to main as the default branch and downstream project still requiring the master branch to be present, we currently have for push events double CI runs, one for main and one for master. To solve this ignore any push event to the master branch for every workflow that react on push events. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> (cherry picked from commit f5a5ce8822e9add9627ecb6ea289c8de2b8a76a9)
* CI: build: Add support to use container included external toolchainChristian Marangi2023-10-241-0/+1
| | | | | | | | Add support to use container included external toolchain and skip redownloading external sdk for each test. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> (cherry picked from commit 0fe5776f4a79a2b095912e258738e3203207e9dd)
* CI: rework build workflow to have split target and subtarget directlyChristian Marangi2023-05-241-2/+5
| | | | | | | | | | | | | | | | | 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: 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: 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: improve build naming for shared workflowChristian Marangi2022-12-161-0/+1
| | | | | | | Impove build naming for build shared workflow to better understand what is being 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/+2
| | | | | | | | | 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-123/+11
| | | | | | | | 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: packages.yml: Fix usage of pre-build toolsHauke Mehrtens2022-11-061-0/+2
| | | | | | | | | | Activate CONFIG_AUTOREMOVE to match the settings used to build the pre-build tools. This has to match the pre-build tools to not rebuild them. This prevents the tools being rebuild in packages.yml. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* CI: packages: Add github CI job to build all packagesHauke Mehrtens2022-10-311-0/+151
This will build OpenWrt for MIPS malta BE and x86 64 Bit with all packages and kernel modules activated. It is triggered when something changes in the build system or when a package definition is changed. This task probably needs 90 minutes to execute, but I hope that it will find build problems in pull requests early. This intentionally does not activate the feeds, because building them too would take too long. We only build x86/64 and malta/be to save resources. I would like to detect build problems when a package is changed. We often had build breaks when a package version was increased sometime even in other packages which used it as a dependency. This is based on the .github/workflows/packages.yml workflow. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>