From 9d6385c84f013bf438779fe1a0e85d362f007021 Mon Sep 17 00:00:00 2001 From: Shubham Tatvamasi Date: Sat, 30 Apr 2022 08:53:39 +0530 Subject: [PATCH] ci: use matrix-keyword for x86/aarch64 builds Cherry-picked from Shubham Tatvamasi (https://github.com/ShubhamTatvamasi) initial commit --- .github/workflows/ccpp.yml | 47 +++++++++++++++++++++++--------------- 1 file changed, 28 insertions(+), 19 deletions(-) diff --git a/.github/workflows/ccpp.yml b/.github/workflows/ccpp.yml index c8459e96b..8f7445d2e 100644 --- a/.github/workflows/ccpp.yml +++ b/.github/workflows/ccpp.yml @@ -1,35 +1,44 @@ name: C/C++ CI on: push jobs: - x86_ubuntu18_build: - name: Build and test on x86 Ubuntu 18.04 + x86_ubuntu_build: + name: Build on x86 + runs-on: ${{ matrix.os }} strategy: - matrix: - compiler: [gcc, clang] - runs-on: ubuntu-18.04 + fail-fast: false + matrix: + os: [ubuntu-20.04, ubuntu-18.04] + compiler: [gcc, clang] steps: - - uses: actions/checkout@v1 - - name: Build srsRAN on x86 Ubuntu 18.04 - run: | - sudo apt update - sudo apt install -y build-essential cmake libfftw3-dev libmbedtls-dev libpcsclite-dev libboost-program-options-dev libconfig++-dev libsctp-dev colordiff ninja-build valgrind - mkdir build && cd build && cmake -DRF_FOUND=True -GNinja .. && ninja && ctest - - aarch64_ubuntu18_build: - runs-on: ubuntu-18.04 + - uses: actions/checkout@v3 + - name: Build srsRAN on x86 ${{ matrix.os }} + run: | + sudo apt update + sudo apt install -y build-essential cmake libfftw3-dev libmbedtls-dev libpcsclite-dev libboost-program-options-dev libconfig++-dev libsctp-dev colordiff ninja-build valgrind + mkdir build && cd build && cmake -DRF_FOUND=True -GNinja .. && ninja && ctest + + aarch64_ubuntu_build: name: Build on aarch64 + runs-on: ${{ matrix.os }} strategy: + fail-fast: false matrix: + os: [ubuntu-20.04, ubuntu-18.04] compiler: [gcc, clang] + include: + - os: ubuntu-20.04 + distro: ubuntu20.04 + - os: ubuntu-18.04 + distro: ubuntu18.04 steps: - - uses: actions/checkout@v1 - - name: Build srsRAN on aarch64 + - uses: actions/checkout@v3 + - name: Build srsRAN on aarch64 ${{ matrix.os }} uses: uraimo/run-on-arch-action@master with: - architecture: aarch64 - distribution: ubuntu18.04 + arch: aarch64 + distro: ${{ matrix.distro }} run: | export CTEST_PARALLEL_LEVEL=$(nproc --all) apt update apt install -y build-essential cmake libfftw3-dev libmbedtls-dev libpcsclite-dev libboost-program-options-dev libconfig++-dev libsctp-dev ninja-build - ls -l && pwd && mkdir build && cd build && cmake -DRF_FOUND=True -GNinja .. && ninja \ No newline at end of file + ls -l && pwd && mkdir build && cd build && cmake -DRF_FOUND=True -GNinja .. && ninja