stages: - build - release - check - test variables: GIT_STRATEGY: clone QT_VERSION: 6.3.0 PYTHON_VERSION: 3.10.1 check: 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 -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 build:shared_windows_release: stage: build allow_failure: true tags: - shared-windows 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: stage: build tags: - windows10 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_steam: stage: build tags: - windows10 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 -steam -use-aqt -installer artifacts: expire_in: "4 weeks" paths: - build-x64-windows-release/bin/ build:osx_release: stage: build tags: - osx 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 -use-aqt -installer artifacts: expire_in: "4 weeks" paths: - build-x64-osx-release/bin/ build:osx_release_steam: stage: build tags: - osx 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 -installer artifacts: expire_in: "4 weeks" paths: - build-x64-osx-release/bin/ build:linux_release: stage: build image: name: ubuntu:20.04 tags: - gitlab-org-docker script: - apt update -y # We need cmake 3.23 to fix IFW - 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 - 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 -steam -use-aqt -installer artifacts: expire_in: "4 weeks" paths: - build-x64-linux-release/bin/ release:windows_steam: stage: build tags: - windows10 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 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 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 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 script: - apt update -y # We need cmake 3.23 to fix IFW - 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 - 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 script: - apt update -y # We need cmake 3.23 to fix IFW - 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 - 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/ test:windows_release: stage: test tags: - shared-windows dependencies: - build:windows_release needs: - build:windows_release script: - ./build-x64-windows-release/bin/ScreenPlay.exe --no-run=false --exit=true --reporters=junit --out=test-report-junit.xml artifacts: expire_in: "4 weeks" when: always reports: junit: test-report-junit.xml build_docs: stage: .post script: - curl --request POST --form "token=$CI_JOB_TOKEN" --form ref=master https://gitlab.com/api/v4/projects/15800262/trigger/pipeline