mirror of
https://gitlab.com/kelteseth/ScreenPlay.git
synced 2024-11-07 03:22:33 +01:00
153 lines
4.2 KiB
YAML
153 lines
4.2 KiB
YAML
stages:
|
|
- build
|
|
- sign
|
|
- check
|
|
|
|
.base_windows_build:
|
|
before_script:
|
|
- python -m pip install -U pip wheel
|
|
- python -m pip install -r Tools/requirements.txt
|
|
- python Tools/setup.py
|
|
|
|
.base_linux_build:
|
|
before_script:
|
|
# Otherwise libglib2 needs interaction
|
|
- export DEBIAN_FRONTEND=noninteractive
|
|
- apt update -y
|
|
- apt install curl wget zip unzip tar git pkg-config libxcb-* libfontconfig-dev apt-transport-https ca-certificates gnupg software-properties-common python3 python3-pip build-essential libgl1-mesa-dev mesa-common-dev lld ninja-build libxkbcommon-* -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
|
|
- apt install cmake -y
|
|
- python3 -m pip install -U pip
|
|
- python3 -m pip install -r Tools/requirements.txt
|
|
- python3 Tools/setup.py
|
|
|
|
.base_osx_build:
|
|
before_script:
|
|
- pip3 install -U pip
|
|
- pip3 install -r Tools/requirements.txt
|
|
- python3 Tools/setup.py
|
|
|
|
standalone_windows:
|
|
stage: build
|
|
extends:
|
|
- .base_windows_build
|
|
tags:
|
|
- windows10
|
|
script:
|
|
- python Tools/build.py -type release -use-aqt -installer -deploy-version
|
|
artifacts:
|
|
expire_in: "2 weeks"
|
|
paths:
|
|
- build-x64-windows-release/bin/
|
|
- build-x64-windows-release/ScreenPlay-Installer.exe
|
|
|
|
standalone_osx:
|
|
stage: build
|
|
extends:
|
|
- .base_osx_build
|
|
tags:
|
|
- osx
|
|
script:
|
|
- python3 Tools/build.py -type release -use-aqt -deploy-version -architecture x64
|
|
- python3 Tools/build.py -type release -use-aqt -deploy-version -architecture arm64
|
|
- python3 Tools/macos_lipo.py
|
|
artifacts:
|
|
expire_in: "2 weeks"
|
|
paths:
|
|
- build-universal-osx-release/bin/
|
|
|
|
standalone_linux:
|
|
stage: build
|
|
extends:
|
|
- .base_linux_build
|
|
image:
|
|
name: ubuntu:20.04
|
|
tags:
|
|
- gitlab-org-docker
|
|
script:
|
|
- python3 Tools/build.py -type release -deploy-version -use-aqt -installer
|
|
artifacts:
|
|
expire_in: "4 weeks"
|
|
paths:
|
|
- build-x64-linux-release/bin/
|
|
|
|
steam_windows:
|
|
stage: build
|
|
extends:
|
|
- .base_windows_build
|
|
tags:
|
|
- windows10
|
|
script:
|
|
- python Tools/build.py -type release -steam -use-aqt -deploy-version
|
|
artifacts:
|
|
expire_in: "2 weeks"
|
|
paths:
|
|
- build-x64-windows-release/bin/
|
|
|
|
steam_osx:
|
|
stage: build
|
|
extends:
|
|
- .base_osx_build
|
|
tags:
|
|
- osx
|
|
script:
|
|
- python3 Tools/build.py -type release -steam -use-aqt -deploy-version -architecture x64
|
|
- python3 Tools/build.py -type release -steam -use-aqt -deploy-version -architecture arm64
|
|
- python3 Tools/macos_lipo.py
|
|
artifacts:
|
|
expire_in: "2 weeks"
|
|
paths:
|
|
- build-universal-osx-release/bin/
|
|
|
|
sign_osx:
|
|
stage: sign
|
|
needs: ["standalone_osx"]
|
|
only:
|
|
- release
|
|
tags:
|
|
- osx
|
|
script:
|
|
- python3 Tools/macos_sign.py
|
|
artifacts:
|
|
expire_in: "2 weeks"
|
|
paths:
|
|
- build-universal-osx-release/bin/
|
|
|
|
sign_osx_steam:
|
|
stage: sign
|
|
needs: ["steam_osx"]
|
|
only:
|
|
- release
|
|
tags:
|
|
- osx
|
|
script:
|
|
- python3 Tools/macos_sign.py
|
|
artifacts:
|
|
expire_in: "2 weeks"
|
|
paths:
|
|
- build-universal-osx-release/bin/
|
|
|
|
formatting:
|
|
stage: check
|
|
allow_failure: true
|
|
image:
|
|
name: ubuntu:20.04
|
|
tags:
|
|
- gitlab-org-docker
|
|
before_script:
|
|
- apt-get update -y
|
|
- apt-get install python3-pip python-is-python3 clang clang-format -y
|
|
script:
|
|
- python -m pip install -U pip wheel
|
|
- python -m pip install -U cmakelang
|
|
- cd Tools
|
|
- python clang_format.py
|
|
- python cmake_format.py
|
|
|
|
documentation:
|
|
stage: .post
|
|
script:
|
|
- curl --request POST --form "token=$CI_JOB_TOKEN" --form ref=master https://gitlab.com/api/v4/projects/15800262/trigger/pipeline
|