version: v1.0 name: Build agent: machine: type: e1-standard-2 os_image: ubuntu2004 blocks: - name: CI skip: when: "branch = 'master' OR (branch !~ '^ci/semaphore(/.*)?' AND branch =~ '^ci/.+')" task: jobs: - name: GCC matrix: - env_var: GCC_VERSION values: ['8', '7'] commands: - cat /proc/cpuinfo - checkout - git submodule update --init - sudo apt-get update - sudo apt-get install -y ninja-build python3-pip python3-setuptools gcovr gcc-${GCC_VERSION} g++-${GCC_VERSION} - pip3 install meson==0.55.1 - mkdir build - CC="gcc-${GCC_VERSION}" CXX="g++-${GCC_VERSION}" ~/.local/bin/meson setup build -Db_coverage=true --optimization $(expr $RANDOM % 3) - ~/.local/bin/meson compile -C build --ninja-args=-v - ~/.local/bin/meson test -C build --print-errorlogs $(~/.local/bin/meson test -C build --list | grep -v emul) - ninja -C build coverage-xml env_vars: - name: CFLAGS value: -Wextra -Werror -march=native - name: CXXFLAGS value: -Wextra -Werror -march=native - name: clang matrix: - env_var: CLANG_VERSION values: ['10', '8', '6.0'] commands: - cat /proc/cpuinfo - checkout - git submodule update --init - sudo apt-get update - sudo apt-get install -y ninja-build python3-pip python3-setuptools gcovr clang-${CLANG_VERSION} - pip3 install meson==0.55.1 - mkdir build - CC="clang-${CLANG_VERSION}" CXX="clang++-${CLANG_VERSION}" ~/.local/bin/meson setup build -Db_coverage=true - ~/.local/bin/meson compile -C build --ninja-args=-v - ~/.local/bin/meson test -C build --print-errorlogs $(~/.local/bin/meson test -C build --list | grep -v emul) - ninja -C build coverage-xml env_vars: - name: CFLAGS value: -Weverything -Werror -march=native - name: CXXFLAGS value: -Weverything -Werror -march=native