1
0
Fork 1
mirror of https://github.com/TES3MP/openmw-tes3mp.git synced 2025-01-15 12:49:54 +00:00
openmw-tes3mp/.gitlab-ci.yml

271 lines
6.7 KiB
YAML
Raw Normal View History

2018-06-22 15:14:09 +00:00
stages:
- build
.Debian:
2018-06-22 15:29:27 +00:00
tags:
- docker
- linux
image: debian:bullseye
2018-06-12 12:46:19 +00:00
cache:
paths:
2018-06-22 15:13:09 +00:00
- apt-cache/
2020-01-07 06:49:53 +00:00
- ccache/
2018-06-22 15:13:09 +00:00
before_script:
- export APT_CACHE_DIR=`pwd`/apt-cache && mkdir -pv $APT_CACHE_DIR
- apt-get update -yq
- apt-get -o dir::cache::archives="$APT_CACHE_DIR" install -y cmake build-essential libboost-filesystem-dev libboost-program-options-dev libboost-system-dev libboost-iostreams-dev libavcodec-dev libavformat-dev libavutil-dev libswscale-dev libswresample-dev libsdl2-dev libqt5opengl5-dev libopenal-dev libopenscenegraph-dev libunshield-dev libtinyxml-dev libmygui-dev libbullet-dev ccache git clang
2018-06-22 15:20:38 +00:00
stage: build
2020-01-07 06:49:53 +00:00
script:
- export CCACHE_BASEDIR="`pwd`"
- export CCACHE_DIR="`pwd`/ccache" && mkdir -pv "$CCACHE_DIR"
- ccache -z -M "${CCACHE_SIZE}"
- CI/before_script.linux.sh
- cd build
- cmake --build . -- -j $(nproc)
- cmake --install .
- if [[ "${BUILD_TESTS_ONLY}" ]]; then ./openmw_test_suite; fi
2020-01-07 06:49:53 +00:00
- ccache -s
2018-06-22 15:20:38 +00:00
artifacts:
paths:
- build/install/
Debian_GCC:
extends: .Debian
cache:
key: Debian_GCC.v2
variables:
CC: gcc
CXX: g++
CCACHE_SIZE: 3G
Debian_GCC_tests:
extends: .Debian
cache:
key: Debian_GCC_tests.v2
variables:
CC: gcc
CXX: g++
CCACHE_SIZE: 1G
BUILD_TESTS_ONLY: 1
Debian_Clang:
extends: .Debian
cache:
key: Debian_Clang.v2
variables:
CC: clang
CXX: clang++
CCACHE_SIZE: 2G
Debian_Clang_tests:
extends: .Debian
cache:
key: Debian_Clang_tests.v2
variables:
CC: clang
CXX: clang++
CCACHE_SIZE: 1G
BUILD_TESTS_ONLY: 1
2018-06-23 13:22:20 +00:00
MacOS:
2018-06-22 15:29:27 +00:00
tags:
2018-06-22 16:41:20 +00:00
- macos
2018-06-22 15:20:38 +00:00
stage: build
only:
variables:
- $CI_PROJECT_ID == "7107382"
2018-06-23 13:50:58 +00:00
script:
- rm -fr build/* # remove anything in the build directory
- CI/before_install.osx.sh
2018-06-23 13:50:58 +00:00
- CI/before_script.osx.sh
2018-06-26 15:40:06 +00:00
- cd build; make -j2 package
2020-10-08 22:25:16 +00:00
- for dmg in *.dmg; do mv "$dmg" "${dmg%.dmg}_${CI_COMMIT_REF_NAME}_${CI_JOB_ID}.dmg"; done
2018-06-22 15:20:38 +00:00
artifacts:
paths:
2018-06-27 11:57:51 +00:00
- build/OpenMW-*.dmg
2020-10-09 13:56:21 +00:00
- "build/**/*.log"
2018-06-27 11:57:51 +00:00
variables: &engine-targets
targets: "openmw,openmw-essimporter,openmw-iniimporter,openmw-launcher,openmw-wizard"
variables: &cs-targets
targets: "openmw-cs,bsatool,esmtool,niftest"
2020-07-11 15:36:21 +00:00
.Windows_Ninja_Base:
2018-06-27 11:57:51 +00:00
tags:
2020-04-21 21:44:55 +00:00
- windows
before_script:
- Import-Module "$env:ChocolateyInstall\helpers\chocolateyProfile.psm1"
2020-08-10 16:51:05 +00:00
- choco source add -n=openmw-proxy -s="https://repo.openmw.org/repository/Chocolately/" --priority=1
- choco install git --force --params "/GitAndUnixToolsOnPath" -y
- choco install 7zip -y
- choco install cmake.install --installargs 'ADD_CMAKE_TO_PATH=System' -y
- choco install vswhere -y
- choco install ninja -y
- choco install python -y
- refreshenv
stage: build
script:
- $time = (Get-Date -Format "HH:mm:ss")
- echo ${time}
- echo "started by ${GITLAB_USER_NAME}"
- sh CI/before_script.msvc.sh -c $config -p Win64 -v 2019 -k -V -N
- cd MSVC2019_64_Ninja
- .\ActivateMSVC.ps1
- cmake --build . --config $config --target ($targets.Split(','))
- cd $config
- |
if (Get-ChildItem -Recurse *.pdb) {
7z a -tzip ..\..\OpenMW_MSVC2019_64_${config}_${CI_COMMIT_REF_NAME}_${CI_JOB_ID}_symbols.zip '*.pdb'
Get-ChildItem -Recurse *.pdb | Remove-Item
}
- 7z a -tzip ..\..\OpenMW_MSVC2019_64_${config}_${CI_COMMIT_REF_NAME}_${CI_JOB_ID}.zip '*'
cache:
key: ninja-v2
paths:
- deps
- MSVC2019_64_Ninja/deps/Qt
artifacts:
when: always
paths:
2020-06-27 01:08:25 +00:00
- "*.zip"
- "*.log"
2020-07-11 21:46:12 +00:00
- MSVC2019_64_Ninja/*.log
- MSVC2019_64_Ninja/*/*.log
- MSVC2019_64_Ninja/*/*/*.log
- MSVC2019_64_Ninja/*/*/*/*.log
- MSVC2019_64_Ninja/*/*/*/*/*.log
- MSVC2019_64_Ninja/*/*/*/*/*/*.log
- MSVC2019_64_Ninja/*/*/*/*/*/*/*.log
- MSVC2019_64_Ninja/*/*/*/*/*/*/*/*.log
Windows_Ninja_Engine_Release:
extends:
- .Windows_Ninja_Base
variables:
<<: *engine-targets
config: "Release"
Windows_Ninja_Engine_Debug:
extends:
- .Windows_Ninja_Base
variables:
<<: *engine-targets
config: "Debug"
Windows_Ninja_Engine_RelWithDebInfo:
extends:
- .Windows_Ninja_Base
variables:
<<: *engine-targets
config: "RelWithDebInfo"
Windows_Ninja_CS_Release:
2020-07-11 15:36:21 +00:00
extends:
- .Windows_Ninja_Base
variables:
<<: *cs-targets
config: "Release"
Windows_Ninja_CS_Debug:
2020-07-11 15:36:21 +00:00
extends:
- .Windows_Ninja_Base
variables:
<<: *cs-targets
config: "Debug"
2020-07-11 15:36:21 +00:00
Windows_Ninja_CS_RelWithDebInfo:
2020-07-11 15:36:21 +00:00
extends:
- .Windows_Ninja_Base
variables:
<<: *cs-targets
config: "RelWithDebInfo"
2020-07-11 15:36:21 +00:00
.Windows_MSBuild_Base:
tags:
- windows
before_script:
- Import-Module "$env:ChocolateyInstall\helpers\chocolateyProfile.psm1"
2020-08-10 16:51:05 +00:00
- choco source add -n=openmw-proxy -s="https://repo.openmw.org/repository/Chocolately/" --priority=1
- choco install git --force --params "/GitAndUnixToolsOnPath" -y
- choco install 7zip -y
- choco install cmake.install --installargs 'ADD_CMAKE_TO_PATH=System' -y
- choco install vswhere -y
- choco install python -y
- refreshenv
2018-06-27 11:57:51 +00:00
stage: build
script:
- $time = (Get-Date -Format "HH:mm:ss")
- echo ${time}
- echo "started by ${GITLAB_USER_NAME}"
- sh CI/before_script.msvc.sh -c $config -p Win64 -v 2019 -k -V
- cd MSVC2019_64
- cmake --build . --config $config --target ($targets.Split(','))
- cd $config
- |
if (Get-ChildItem -Recurse *.pdb) {
7z a -tzip ..\..\OpenMW_MSVC2019_64_${config}_${CI_COMMIT_REF_NAME}_${CI_JOB_ID}_symbols.zip '*.pdb'
Get-ChildItem -Recurse *.pdb | Remove-Item
}
- 7z a -tzip ..\..\OpenMW_MSVC2019_64_${config}_${CI_COMMIT_REF_NAME}_${CI_JOB_ID}.zip '*'
2018-06-27 11:57:51 +00:00
cache:
key: msbuild-v2
2018-06-27 11:57:51 +00:00
paths:
2018-06-27 13:25:23 +00:00
- deps
- MSVC2019_64/deps/Qt
2018-06-27 11:57:51 +00:00
artifacts:
when: always
2018-06-27 11:57:51 +00:00
paths:
2020-06-27 01:08:25 +00:00
- "*.zip"
- "*.log"
2020-07-11 21:46:12 +00:00
- MSVC2019_64/*.log
- MSVC2019_64/*/*.log
- MSVC2019_64/*/*/*.log
- MSVC2019_64/*/*/*/*.log
- MSVC2019_64/*/*/*/*/*.log
- MSVC2019_64/*/*/*/*/*/*.log
- MSVC2019_64/*/*/*/*/*/*/*.log
- MSVC2019_64/*/*/*/*/*/*/*/*.log
2020-07-11 15:36:21 +00:00
Windows_MSBuild_Engine_Release:
extends:
- .Windows_MSBuild_Base
variables:
<<: *engine-targets
config: "Release"
Windows_MSBuild_Engine_Debug:
extends:
- .Windows_MSBuild_Base
variables:
<<: *engine-targets
config: "Debug"
Windows_MSBuild_Engine_RelWithDebInfo:
extends:
- .Windows_MSBuild_Base
variables:
<<: *engine-targets
config: "RelWithDebInfo"
Windows_MSBuild_CS_Release:
2020-07-11 15:36:21 +00:00
extends:
- .Windows_MSBuild_Base
variables:
<<: *cs-targets
config: "Release"
2020-07-11 15:36:21 +00:00
Windows_MSBuild_CS_Debug:
2020-07-11 15:36:21 +00:00
extends:
- .Windows_MSBuild_Base
variables:
<<: *cs-targets
config: "Debug"
2020-07-11 15:36:21 +00:00
Windows_MSBuild_CS_RelWithDebInfo:
2020-07-11 15:36:21 +00:00
extends:
- .Windows_MSBuild_Base
variables:
<<: *cs-targets
config: "RelWithDebInfo"