57 lines
1.1 KiB
YAML
57 lines
1.1 KiB
YAML
# 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
|