1
0
mirror of https://gitlab.com/kelteseth/ScreenPlay.git synced 2024-11-06 19:12:30 +01:00
ScreenPlay/.gitlab-ci.yml

334 lines
11 KiB
YAML
Raw Normal View History

2018-11-08 21:08:33 +01:00
stages:
- build
- release
2022-04-24 16:38:12 +02:00
- check
2020-10-30 15:38:19 +01:00
- test
2018-11-08 21:08:33 +01:00
2022-01-04 10:12:03 +01:00
variables:
GIT_STRATEGY: clone
2022-04-23 19:45:38 +02:00
QT_VERSION: 6.3.0
2022-02-17 18:20:27 +01:00
PYTHON_VERSION: 3.10.1
2022-01-04 10:12:03 +01:00
check:
stage: check
2021-01-23 11:36:14 +01:00
allow_failure: true
2022-01-04 10:12:03 +01:00
image:
name: ubuntu:20.04
tags:
2022-01-04 10:12:03 +01:00
- gitlab-org-docker
before_script:
- apt-get update -y
- apt-get install python3-pip python-is-python3 -y
script:
2022-01-04 10:12:03 +01:00
- python -m pip install -U pip wheel
- python -m pip install -U cmakelang
- cd ./Tools
- python clang_format.py
- python cmake_format.py
2022-01-04 10:12:03 +01:00
build:shared_windows_release:
stage: build
allow_failure: true
tags:
- shared-windows
needs:
- check
before_script:
# https://stackoverflow.com/a/68671843/12619313
- Import-Module "$env:ChocolateyInstall\helpers\chocolateyProfile.psm1"
- choco install python3 --version=$PYTHON_VERSION --yes --force --no-progress
- choco install powershell-core --yes --force --no-progress
- refreshenv
script:
- python -m pip install -U pip wheel
- python -m pip install -U aqtinstall
- aqt install-qt -O ../aqt windows desktop $QT_VERSION win64_msvc2019_64 -m all
- aqt install-tool -O ../aqt windows desktop tools_ifw
- cd Tools
- python setup.py
- python build.py -type release -use-aqt -installer
artifacts:
expire_in: "4 weeks"
paths:
- build-x64-windows-release/bin/
build:windows_release:
2018-11-08 21:08:33 +01:00
stage: build
tags:
- windows10
needs:
- check
script:
2022-01-04 10:12:03 +01:00
- python -m pip install -U pip wheel
- python -m pip install -U aqtinstall
- aqt install-qt -O ../aqt windows desktop $QT_VERSION win64_msvc2019_64 -m all
- aqt install-tool -O ../aqt windows desktop tools_ifw
- cd Tools
2021-05-16 13:12:24 +02:00
- python setup.py
2022-01-04 10:12:03 +01:00
- python build.py -type release -use-aqt -installer
artifacts:
2021-05-13 12:22:46 +02:00
expire_in: "4 weeks"
paths:
- build-x64-windows-release/bin/
build:windows_release_steam:
stage: build
tags:
- windows10
needs:
- check
2018-11-08 21:08:33 +01:00
script:
2022-01-04 10:12:03 +01:00
- python -m pip install -U pip wheel
- python -m pip install -U aqtinstall
- aqt install-qt -O ../aqt windows desktop $QT_VERSION win64_msvc2019_64 -m all
- aqt install-tool -O ../aqt windows desktop tools_ifw
- cd Tools
2021-05-16 13:12:24 +02:00
- python setup.py
2022-01-04 10:12:03 +01:00
- python build.py -type release -steam -use-aqt -installer
2018-11-08 21:08:33 +01:00
artifacts:
2021-05-13 12:22:46 +02:00
expire_in: "4 weeks"
2018-11-08 21:08:33 +01:00
paths:
2020-10-30 16:44:20 +01:00
- build-x64-windows-release/bin/
2020-10-31 19:32:15 +01:00
build:osx_release:
2020-10-31 19:30:27 +01:00
stage: build
tags:
- osx
needs:
- check
script:
2022-01-04 10:12:03 +01:00
- pip3 install -U pip
- pip3 install aqtinstall
- aqt install-qt -O ../aqt mac desktop $QT_VERSION clang_64 -m all
- aqt install-tool -O ../aqt mac desktop tools_ifw
2020-10-31 19:30:27 +01:00
- cd Tools
2021-05-16 13:12:24 +02:00
- python3 setup.py
2022-01-04 10:12:03 +01:00
- python3 build.py -type release -use-aqt -installer
2020-10-31 19:30:27 +01:00
artifacts:
2021-05-13 12:22:46 +02:00
expire_in: "4 weeks"
2020-10-31 19:30:27 +01:00
paths:
- build-x64-osx-release/bin/
build:osx_release_steam:
stage: build
tags:
- osx
needs:
- check
script:
2022-01-04 10:12:03 +01:00
- pip3 install -U pip
- pip3 install aqtinstall
- aqt install-qt -O ../aqt mac desktop $QT_VERSION clang_64 -m all
- aqt install-tool -O ../aqt mac desktop tools_ifw
- cd Tools
2021-07-25 15:47:31 +02:00
- python3 setup.py
2022-01-04 10:12:03 +01:00
- python3 build.py -type release -steam -use-aqt -installer
artifacts:
2021-05-13 12:22:46 +02:00
expire_in: "4 weeks"
paths:
- build-x64-osx-release/bin/
build:linux_release:
stage: build
2021-05-13 12:22:46 +02:00
image:
2021-07-25 15:32:38 +02:00
name: ubuntu:20.04
tags:
2021-05-13 12:22:46 +02:00
- gitlab-org-docker
needs:
- check
script:
2022-02-17 19:09:07 +01:00
- apt update -y
# We need cmake 3.23 to fix IFW
2022-02-17 19:22:28 +01:00
- apt install gpg wget -y
- wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | tee /usr/share/keyrings/kitware-archive-keyring.gpg >/dev/null
- echo 'deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu/ focal-rc main' | tee -a /etc/apt/sources.list.d/kitware.list >/dev/null
2022-01-29 12:24:26 +01:00
- apt update -y
# Otherwise libglib2 needs interaction
2022-01-04 10:12:03 +01:00
- export DEBIAN_FRONTEND=noninteractive
2022-04-24 10:41:10 +02:00
- apt install mesa-common-dev libxkbcommon-* libfontconfig curl zip unzip tar git pkg-config apt-transport-https ca-certificates gnupg software-properties-common wget software-properties-common wget python3-pip build-essential libgl1-mesa-dev lld ninja-build cmake -y
2022-01-04 10:12:03 +01:00
- pip3 install -U pip
- pip3 install aqtinstall
2022-01-04 10:12:03 +01:00
- aqt install-qt -O ../aqt linux desktop $QT_VERSION gcc_64 -m all
- aqt install-tool -O ../aqt linux desktop tools_ifw
- cd Tools
- python3 setup.py
- python3 build.py -type release -steam -use-aqt -installer
artifacts:
2021-05-13 12:22:46 +02:00
expire_in: "4 weeks"
paths:
- build-x64-linux-release/bin/
release:windows_steam:
stage: build
tags:
- windows10
needs:
- check
script:
- python -m pip install -U pip wheel
- python -m pip install -U aqtinstall
- aqt install-qt -O ../aqt windows desktop $QT_VERSION win64_msvc2019_64 -m all
- aqt install-tool -O ../aqt windows desktop tools_ifw
- cd Tools
- python setup.py
- python build.py -type release -use-aqt -steam
only:
- release
artifacts:
expire_in: "never"
paths:
- build-x64-windows-release/bin/
release:windows_standalone:
stage: build
tags:
- windows10
needs:
- check
script:
- python -m pip install -U pip wheel
- python -m pip install -U aqtinstall
- aqt install-qt -O ../aqt windows desktop $QT_VERSION win64_msvc2019_64 -m all
- aqt install-tool -O ../aqt windows desktop tools_ifw
- cd Tools
- python setup.py
- python build.py -type release -use-aqt -installer
only:
- release
artifacts:
expire_in: "never"
paths:
- build-x64-windows-release/bin/
release:osx_steam:
stage: build
tags:
- osx
needs:
- check
script:
- pip3 install -U pip
- pip3 install aqtinstall
- aqt install-qt -O ../aqt mac desktop $QT_VERSION clang_64 -m all
- aqt install-tool -O ../aqt mac desktop tools_ifw
- cd Tools
- python3 setup.py
- python3 build.py -type release -steam -use-aqt -sign
only:
- release
artifacts:
expire_in: "never"
paths:
- build-x64-osx-release/bin/
release:osx_standalone:
stage: build
tags:
- osx
needs:
- check
script:
- pip3 install -U pip
- pip3 install aqtinstall
- aqt install-qt -O ../aqt mac desktop $QT_VERSION clang_64 -m all
- aqt install-tool -O ../aqt mac desktop tools_ifw
- cd Tools
- python3 setup.py
- python3 build.py -type release -installer -use-aqt -sign
only:
- release
artifacts:
expire_in: "never"
paths:
- build-x64-osx-release/bin/
release:linux_steam:
stage: build
image:
name: ubuntu:20.04
tags:
- gitlab-org-docker
needs:
- check
script:
2022-02-17 18:56:31 +01:00
- apt update -y
# We need cmake 3.23 to fix IFW
2022-02-17 19:22:28 +01:00
- apt install gpg wget -y
- wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | tee /usr/share/keyrings/kitware-archive-keyring.gpg >/dev/null
- echo 'deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu/ focal-rc main' | tee -a /etc/apt/sources.list.d/kitware.list >/dev/null
- apt update -y
# Otherwise libglib2 needs interaction
- export DEBIAN_FRONTEND=noninteractive
2022-04-24 10:41:10 +02:00
- apt install mesa-common-dev libxkbcommon-* libfontconfig curl zip unzip tar git pkg-config apt-transport-https ca-certificates gnupg software-properties-common wget software-properties-common wget python3-pip build-essential libgl1-mesa-dev lld ninja-build cmake -y
- pip3 install -U pip
- pip3 install aqtinstall
- aqt install-qt -O ../aqt linux desktop $QT_VERSION gcc_64 -m all
- aqt install-tool -O ../aqt linux desktop tools_ifw
- curl -OL $CQTDEPLOYER_URL
- chmod +x ./CQtDeployer_*.deb
- apt install ./CQtDeployer_*.deb -y
- cd Tools
- python3 setup.py
- python3 build.py -type release -steam -use-aqt
only:
- release
artifacts:
expire_in: "never"
paths:
- build-x64-linux-release/bin/
release:linux_standalone:
stage: build
image:
name: ubuntu:20.04
tags:
- gitlab-org-docker
needs:
- check
script:
2022-02-17 18:56:31 +01:00
- apt update -y
# We need cmake 3.23 to fix IFW
2022-02-17 19:22:28 +01:00
- apt install gpg wget -y
- wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | tee /usr/share/keyrings/kitware-archive-keyring.gpg >/dev/null
- echo 'deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu/ focal-rc main' | tee -a /etc/apt/sources.list.d/kitware.list >/dev/null
- apt update -y
# Otherwise libglib2 needs interaction
- export DEBIAN_FRONTEND=noninteractive
2022-04-24 10:41:10 +02:00
- apt install mesa-common-dev libxkbcommon-* libfontconfig curl zip unzip tar git pkg-config apt-transport-https ca-certificates gnupg software-properties-common wget software-properties-common wget python3-pip build-essential libgl1-mesa-dev lld ninja-build cmake -y
- pip3 install -U pip
- pip3 install aqtinstall
- aqt install-qt -O ../aqt linux desktop $QT_VERSION gcc_64 -m all
- aqt install-tool -O ../aqt linux desktop tools_ifw
- cd Tools
- python3 setup.py
- python3 build.py -type release -installer -use-aqt
only:
- release
artifacts:
expire_in: "never"
paths:
- build-x64-linux-release/bin/
2020-10-30 15:37:00 +01:00
test:windows_release:
stage: test
tags:
2022-01-04 10:12:03 +01:00
- shared-windows
2020-10-30 15:37:00 +01:00
dependencies:
- build:windows_release
needs:
- build:windows_release
script:
2020-10-30 16:44:20 +01:00
- ./build-x64-windows-release/bin/ScreenPlay.exe --no-run=false --exit=true --reporters=junit --out=test-report-junit.xml
2020-10-30 15:37:00 +01:00
artifacts:
2021-05-13 12:22:46 +02:00
expire_in: "4 weeks"
2020-10-30 15:37:00 +01:00
when: always
reports:
2020-10-30 15:38:19 +01:00
junit: test-report-junit.xml
2020-10-30 16:40:16 +01:00
build_docs:
2021-05-13 12:22:46 +02:00
stage: .post
script:
- curl --request POST --form "token=$CI_JOB_TOKEN" --form ref=master https://gitlab.com/api/v4/projects/15800262/trigger/pipeline