Add initial GitLab and GitHub CI support

Uses currently proof-of-concept openwrt-ci[1] in order to:

 * improve the quality of the codebase in various areas
 * decrease code review time and help merging contributions faster
 * get automagic feedback loop on various platforms and tools
   - out of tree build with OpenWrt SDK on following targets:
     * ath79-generic
     * imx6-generic
     * malta-be
     * mvebu-cortexa53
   - out of tree native build on x86/64 with GCC (versions 8, 9, 10) and Clang 11
   - out of tree native x86/64 static code analysis with cppcheck and
     scan-build from Clang 11

1. https://gitlab.com/ynezz/openwrt-ci/

Signed-off-by: Petr Štetiar <ynezz@true.cz>
This commit is contained in:
Petr Štetiar
2021-03-26 16:19:54 +01:00
committed by John Crispin
parent 049c64170a
commit bd027cd565
2 changed files with 55 additions and 0 deletions

48
.github/workflows/openwrt-ci.yml vendored Normal file
View File

@@ -0,0 +1,48 @@
name: OpenWrt CI testing
on: [ push, pull_request ]
env:
CI_FEED_BUILD_DEPENDS: base packages
CI_TARGET_BUILD_DEPENDS: ubus libwebsockets
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.1
- 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 }}

7
.gitlab-ci.yml Normal file
View File

@@ -0,0 +1,7 @@
variables:
CI_FEED_BUILD_DEPENDS: base packages
CI_TARGET_BUILD_DEPENDS: ubus libwebsockets
include:
- remote: https://gitlab.com/ynezz/openwrt-ci/raw/master/openwrt-ci/gitlab/main.yml
- remote: https://gitlab.com/ynezz/openwrt-ci/raw/master/openwrt-ci/gitlab/pipeline.yml