image: lowkey42/build-env:latest stages: - build variables: GIT_SUBMODULE_STRATEGY: recursive GIT_SSL_NO_VERIFY: "1" build_gcc: stage: build script: - export CC=gcc - export CXX=g++ - mkdir -p build - cd build - mkdir -p bin - rm -rf src - cmake -G Ninja -DCMAKE_INSTALL_PREFIX:PATH=../bin -DCMAKE_BUILD_TYPE=Release .. - cmake --build . --target all - cmake --build . --target src/install - cmake --build . --target test artifacts: paths: - build/bin expire_in: 1 day build_clang: stage: build script: - export CC=clang - export CXX=clang++ - mkdir -p build - cd build - mkdir -p bin - rm -rf src - cmake -G Ninja -DCMAKE_INSTALL_PREFIX:PATH=../bin -DCMAKE_BUILD_TYPE=Release .. - cmake --build . --target all - cmake --build . --target src/install - cmake --build . --target test artifacts: paths: - build/bin expire_in: 1 week .build_scanbuild: stage: build script: - export CC=clang - export CXX=clang++ - mkdir -p build - cd build - scan-build --use-c++=clang++ --use-cc=clang cmake -DMIRRAGE_FORCE_LIBCPP=ON -DMIRRAGE_ENABLE_COTIRE=OFF -G "Unix Makefiles" .. - scan-build -o result --use-c++=clang++ --use-cc=clang -enable-checker deadcode.DeadStores -enable-checker security.insecureAPI.UncheckedReturn --status-bugs -v cmake --build . || true artifacts: paths: - build/result expire_in: 2 day when: always