# https://docs.gitlab.com/ee/ci/yaml/ # Job templates .docker-job: &docker-job tags: [docker] cache: paths: [/var/cache/pacman, build/] image: archlinux/archlinux:base-devel before_script: [./ci-cd/environment-setup.sh] .native-job: &native-job tags: ["shell"] cache: paths: [build/] stages: - build - test # Native stuff build-debug-native: <<: *native-job stage: build artifacts: paths: - build/debug/ script: - cmake --preset debug -DCMAKE_CXX_COMPILER=clang++ - cmake --build --preset debug build-release-native: <<: *native-job stage: build artifacts: paths: - build/release/ script: - cmake --preset release -DCMAKE_CXX_COMPILER=clang++ - cmake --build --preset release test-debug-native: <<: *native-job needs: ["build-debug-native"] stage: test script: - cmake --build --preset debug --target rotgen-test - cd build/debug && ctest --output-on-failure test-release-native: <<: *native-job needs: ["build-release-native"] stage: test script: - cmake --build --preset release --target rotgen-test - cd build/release && ctest --output-on-failure