Add initial GitLab CI support
authorPetr Štetiar <ynezz@true.cz>
Tue, 8 Dec 2020 11:36:18 +0000 (12:36 +0100)
committerPetr Štetiar <ynezz@true.cz>
Fri, 11 Dec 2020 11:18:10 +0000 (12:18 +0100)
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 10
   - out of tree native x86/64 static code analysis with cppcheck and
     scan-build from Clang 10

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

Signed-off-by: Petr Štetiar <ynezz@true.cz>
.gitlab-ci.yml [new file with mode: 0644]

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644 (file)
index 0000000..b4e74d7
--- /dev/null
@@ -0,0 +1,46 @@
+variables:
+  CI_ENABLE_UNIT_TESTING: 1
+  CI_TARGET_BUILD_DEPENDS: uclient
+
+include:
+  - remote: https://gitlab.com/ynezz/openwrt-ci/raw/master/openwrt-ci/gitlab/main.yml
+
+
+.native ustream-ssl backend:
+  extends: .openwrt-native-build
+
+  before_script:
+    - git clone https://git.openwrt.org/project/ustream-ssl.git
+    - |
+      cd ustream-ssl &&
+      git checkout -b testing origin/$CI_COMMIT_BRANCH &&
+      export VERBOSE=1 &&
+      mkdir -p build && cd build &&
+      cmake .. -DCMAKE_INSTALL_PREFIX=/usr $CI_CMAKE_EXTRA_BUILD_ARGS && cd .. &&
+      make -j$(($(nproc)+1)) -C build &&
+      sudo make install -C build && cd ..
+
+various native checks with ustream-ssl/OpenSSL backend:
+  extends: .native ustream-ssl backend
+
+various native checks with ustream-ssl/mbedTLS backend:
+  extends: .native ustream-ssl backend
+  variables:
+    CI_CMAKE_EXTRA_BUILD_ARGS: -DMBEDTLS=on
+
+various native checks with ustream-ssl/wolfSSL backend:
+  extends: .native ustream-ssl backend
+  variables:
+    CI_CMAKE_EXTRA_BUILD_ARGS: -DWOLFSSL=on
+
+build with Atheros ATH79 SDK (out of tree):
+  extends: .openwrt-sdk-oot-build_ath79-generic
+
+build with Freescale i.MX 6 SDK (out of tree):
+  extends: .openwrt-sdk-oot-build_imx6-generic
+
+build with MIPS Malta CoreLV BE SDK (out of tree):
+  extends: .openwrt-sdk-oot-build_malta-be
+
+build with Marvell Armada Cortex A-53 SDK (out of tree):
+  extends: .openwrt-sdk-oot-build_mvebu-cortexa53