rotgen/.gitlab-ci.yml
Jules Pénuchot e151e136d6 Resolve "[API-#2] Pseudo-privatization of rotgen entity member functions"
Closes #18

Co-authored-by: Jules Pénuchot <jules@penuchot.com>

See merge request oss/rotgen!50
2025-12-17 20:48:00 +01:00

152 lines
3.2 KiB
YAML

# https://docs.gitlab.com/ee/ci/yaml/
.run-tests: &run-tests
stage: test
script:
- echo -e "\e[0Ksection_start:`date +%s`:build-tests[collapsed=true]\r\e[0KBuilding tests for preset $CMAKE_PRESET"
- cmake --preset $CMAKE_PRESET
- cmake --build --preset $CMAKE_PRESET
- cmake --build --preset $CMAKE_PRESET --target rotgen-test
- echo -e "\e[0Ksection_end:`date +%s`:build-tests\r\e[0K"
- echo -e "\e[0Ksection_start:`date +%s`:run-tests[collapsed=false]\r\e[0KRunning tests for preset $CMAKE_PRESET"
- ./ci-cd/test-wrapper.sh
- echo -e "\e[0Ksection_end:`date +%s`:run-tests\r\e[0K"
.test-native: &test-native
tags: ["shell"]
<<: *run-tests
.test-ubuntu2404: &test-ubuntu2404
tags: [docker]
image: ubuntu:24.04
cache:
paths: [/var/cache/apt/, /var/lib/apt/lists/]
before_script:
- echo -e "\e[0Ksection_start:`date +%s`:ci-setup[collapsed=true]\r\e[0KInstall packages"
- ./ci-cd/ci-setup.sh
- echo -e "\e[0Ksection_end:`date +%s`:ci-setup\r\e[0K"
<<: *run-tests
stages:
- test
# Native (Clang)
test-native-debug:
<<: *test-native
variables:
CXX: clang++
CMAKE_PRESET: debug
test-native-debug-fixed:
<<: *test-native
variables:
CXX: clang++
CMAKE_PRESET: debug-fixed
test-native-debug-et:
<<: *test-native
variables:
CXX: clang++
CMAKE_PRESET: debug-et
test-native-release:
<<: *test-native
variables:
CXX: clang++
CMAKE_PRESET: release
test-native-release-fixed:
<<: *test-native
variables:
CXX: clang++
CMAKE_PRESET: release-fixed
test-native-release-et:
<<: *test-native
variables:
CXX: clang++
CMAKE_PRESET: release-et
# Ubuntu 24.04 (Clang 14)
test-ubuntu-clang14-debug:
<<: *test-ubuntu2404
variables:
CXX: clang++-14
CXXFLAGS: --stdlib=libc++
CMAKE_PRESET: debug
test-ubuntu-clang14-debug-fixed:
<<: *test-ubuntu2404
variables:
CXX: clang++-14
CXXFLAGS: --stdlib=libc++
CMAKE_PRESET: debug-fixed
test-ubuntu-clang14-debug-et:
<<: *test-ubuntu2404
variables:
CXX: clang++-14
CXXFLAGS: --stdlib=libc++
CMAKE_PRESET: debug-et
test-ubuntu-clang14-release:
<<: *test-ubuntu2404
variables:
CXX: clang++-14
CXXFLAGS: --stdlib=libc++
CMAKE_PRESET: release
test-ubuntu-clang14-release-fixed:
<<: *test-ubuntu2404
variables:
CXX: clang++-14
CXXFLAGS: --stdlib=libc++
CMAKE_PRESET: release-fixed
test-ubuntu-clang14-release-et:
<<: *test-ubuntu2404
variables:
CXX: clang++-14
CXXFLAGS: --stdlib=libc++
CMAKE_PRESET: release-et
# Ubuntu 24.04 (GCC)
test-ubuntu-gcc-debug:
<<: *test-ubuntu2404
variables:
CXX: g++
CMAKE_PRESET: debug
test-ubuntu-gcc-debug-fixed:
<<: *test-ubuntu2404
variables:
CXX: g++
CMAKE_PRESET: debug-fixed
test-ubuntu-gcc-debug-et:
<<: *test-ubuntu2404
variables:
CXX: g++
CMAKE_PRESET: debug-et
test-ubuntu-gcc-release:
<<: *test-ubuntu2404
variables:
CXX: g++
CMAKE_PRESET: release
test-ubuntu-gcc-release-fixed:
<<: *test-ubuntu2404
variables:
CXX: g++
CMAKE_PRESET: release-fixed
test-ubuntu-gcc-release-et:
<<: *test-ubuntu2404
variables:
CXX: g++
CMAKE_PRESET: release-et