From 5a5487e36e33d916a767405a7c28c1968a1381d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20=C5=A0tetiar?= Date: Sun, 8 May 2022 09:56:35 +0200 Subject: [PATCH] ci: make jobs faster during pull request testing MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit With the proliferation of test cases, CI runs tend to become rather long since we run all tests under valgrind using multiple gcc and Clang versions each. In order to speedup the jobs, we tests pull requests under valgrind only for the most recent GCC and Clang versions and run all tests when the code hits the master branch. Closes #66 Signed-off-by: Petr Štetiar --- .../{openwrt-ci.yml => openwrt-ci-master.yml} | 10 +++- .github/workflows/openwrt-ci-pull-request.yml | 55 +++++++++++++++++++ 2 files changed, 62 insertions(+), 3 deletions(-) rename .github/workflows/{openwrt-ci.yml => openwrt-ci-master.yml} (88%) create mode 100644 .github/workflows/openwrt-ci-pull-request.yml diff --git a/.github/workflows/openwrt-ci.yml b/.github/workflows/openwrt-ci-master.yml similarity index 88% rename from .github/workflows/openwrt-ci.yml rename to .github/workflows/openwrt-ci-master.yml index 4342205c..77f2bfc7 100644 --- a/.github/workflows/openwrt-ci.yml +++ b/.github/workflows/openwrt-ci-master.yml @@ -1,6 +1,10 @@ -name: OpenWrt CI testing +name: OpenWrt CI master branch testing + +on: + push: + branches: + - master -on: [ push, pull_request ] env: CI_ENABLE_UNIT_TESTING: 1 CI_TARGET_BUILD_DEPENDS: libnl-tiny ubus uci @@ -13,7 +17,7 @@ jobs: steps: - uses: actions/checkout@v2 - - uses: ynezz/gh-actions-openwrt-ci-native@v0.0.1 + - uses: ynezz/gh-actions-openwrt-ci-native@v0.0.2 - name: Upload build artifacts uses: actions/upload-artifact@v2 diff --git a/.github/workflows/openwrt-ci-pull-request.yml b/.github/workflows/openwrt-ci-pull-request.yml new file mode 100644 index 00000000..a5f3e784 --- /dev/null +++ b/.github/workflows/openwrt-ci-pull-request.yml @@ -0,0 +1,55 @@ +name: OpenWrt CI pull request testing + +on: + push: + branches-ignore: + - master + pull_request: + +env: + CI_ENABLE_UNIT_TESTING: 1 + CI_TARGET_BUILD_DEPENDS: libnl-tiny ubus uci + +jobs: + native_testing: + name: Various native checks + runs-on: ubuntu-20.04 + + steps: + - uses: actions/checkout@v2 + + - uses: ynezz/gh-actions-openwrt-ci-native@v0.0.2 + env: + CI_GCC_VERSION_LIST: 11 + + - name: Upload build artifacts + uses: actions/upload-artifact@v2 + if: failure() + with: + name: native-build-artifacts + if-no-files-found: ignore + path: | + build/scan + tests/cram/**/*.t.err + + sdk_build: + name: Build with OpenWrt ${{ matrix.sdk_platform }} SDK (out of tree) + runs-on: ubuntu-20.04 + + strategy: + fail-fast: false + matrix: + sdk_platform: + - ath79-generic + - imx6-generic + - malta-be + - mvebu-cortexa53 + + steps: + - uses: actions/checkout@v2 + + - name: Out of tree build with OpenWrt ${{ matrix.sdk_platform }} SDK + uses: ynezz/gh-actions-openwrt-ci-sdk@v0.0.1 + env: + CI_TARGET_SDK_RELEASE: master + CI_TARGET_SDK_IMAGE: ${{ matrix.sdk_platform }}