Files
SingularityViewer/.gitlab-ci.yml
Liru Færs f3609b06d7 Further CI/CD & building sync with alchemy
Reorder Variables.cmake for mergeability
Renames CMake Variables:
FMODSTUDIO->USE_FMODSTUDIO, NVAPI->USE_NVAPI,
VIEWER_CHANNEL_BASE->VIEWER_CHANNEL_TYPE
VIEWER_BRANDING_ID->VIEWER_BINARY_NAME,
VIEWER_PRODUCT_NAME->VIEWER_CHANNEL_BASE

Remove unused variables:
VIEWER_PACKAGE_ID, VIEWER_EXE_STRING, VIEWER_SHORTCUT_STRING, VERSION_BUILD

PACKAGE now defaults to on, USE_FMODSTUDIO now defaults to off

Use list append instead of set in some more places

Adds support for Project channels.
2019-12-17 19:31:08 -05:00

221 lines
8.5 KiB
YAML

stages:
- build
- deploy
variables:
GIT_SUBMODULE_STRATEGY: recursive
build:master:windows32:
stage: build
tags:
- autobuild
- windows
before_script:
- pipenv install
script:
- pipenv run autobuild configure -c Release -A32 -- -DUSE_FMODSTUDIO=ON -DUSE_NVAPI=ON -DUSE_LTO=ON -DVS_DISABLE_FATAL_WARNINGS=ON -DVIEWER_CHANNEL_TYPE="Test"
- pipenv run autobuild build -c Release -A32 --no-configure
artifacts:
name: "$env:CI_COMMIT_REF_NAME-$env:CI_COMMIT_SHORT_SHA"
expire_in: 2 week
paths:
- build-vc-32/newview/Release/Singularity*Setup.exe
only:
- schedules
build:master:windows64:
stage: build
tags:
- autobuild
- windows
before_script:
- pipenv install
script:
- pipenv run autobuild configure -c Release -A64 -- -DUSE_FMODSTUDIO=ON -DUSE_NVAPI=ON -DUSE_LTO=ON -DVS_DISABLE_FATAL_WARNINGS=ON -DVIEWER_CHANNEL_TYPE="Test"
- pipenv run autobuild build -c Release -A64 --no-configure
artifacts:
name: "$env:CI_COMMIT_REF_NAME-$env:CI_COMMIT_SHORT_SHA"
expire_in: 2 week
paths:
- build-vc-64/newview/Release/Singularity*Setup.exe
only:
- schedules
build:project:windows32:
stage: build
tags:
- autobuild
- windows
before_script:
- pipenv install
script:
- $env:VIEWER_CHANNEL_CODENAME = $env:CI_COMMIT_REF_NAME[8..100] -join ''
- pipenv run autobuild configure -c Release -A32 -- -DUSE_FMODSTUDIO=ON -DUSE_NVAPI=ON -DUSE_LTO=ON -DVS_DISABLE_FATAL_WARNINGS=ON -DUSE_CRASHPAD=ON -DCRASHPAD_URL="$env:SENTRY_DSN_NONPROD" -DVIEWER_CHANNEL_TYPE="Project" -DVIEWER_CHANNEL_CODENAME="$env:VIEWER_CHANNEL_CODENAME"
- pipenv run autobuild build -c Release -A32 --no-configure
- cd build-vc-32/newview/Release/
- $env:SENTRY_PROJECT = $env:SENTRY_PROJECT_NONPROD
- sentry-cli upload-dif singularity-bin.exe singularity-bin.pdb crashpad_handler.exe crashpad_handler.pdb fmod.dll libcrypto-1_1-x64.dll libcrypto-1_1-x64.pdb libssl-1_1-x64.dll libssl-1_1-x64.pdb vcruntime140.dll msvcp140.dll glod.dll
artifacts:
name: "$env:CI_COMMIT_REF_NAME-$env:CI_COMMIT_SHORT_SHA"
expire_in: 2 week
paths:
- build-vc-32/newview/Release/Singularity*Setup.exe
only:
- /^project-.*$/
- schedules
except:
- beta
- release
build:project:windows64:
stage: build
tags:
- autobuild
- windows
before_script:
- pipenv install
script:
- $env:VIEWER_CHANNEL_CODENAME = $env:CI_COMMIT_REF_NAME[8..100] -join ''
- pipenv run autobuild configure -c Release -A64 -- -DUSE_FMODSTUDIO=ON -DUSE_NVAPI=ON -DUSE_LTO=ON -DVS_DISABLE_FATAL_WARNINGS=ON -DUSE_CRASHPAD=ON -DCRASHPAD_URL="$env:SENTRY_DSN_NONPROD" -DVIEWER_CHANNEL_TYPE="Project" -DVIEWER_CHANNEL_CODENAME="$env:VIEWER_CHANNEL_CODENAME"
- pipenv run autobuild build -c Release -A64 --no-configure
- cd build-vc-64/newview/Release/
- $env:SENTRY_PROJECT = $env:SENTRY_PROJECT_NONPROD
- sentry-cli upload-dif singularity-bin.exe singularity-bin.pdb crashpad_handler.exe crashpad_handler.pdb fmod.dll libcrypto-1_1-x64.dll libcrypto-1_1-x64.pdb libssl-1_1-x64.dll libssl-1_1-x64.pdb vcruntime140.dll msvcp140.dll libhunspell.dll libhunspell.pdb glod.dll
artifacts:
name: "$env:CI_COMMIT_REF_NAME-$env:CI_COMMIT_SHORT_SHA"
expire_in: 2 week
paths:
- build-vc-64/newview/Release/Singularity*Setup.exe
only:
- /^project-.*$/
- schedules
except:
- beta
- release
build:beta:windows32:
stage: build
tags:
- autobuild
- windows
before_script:
- pipenv install
script:
- pipenv run autobuild configure -c Release -A32 -- -DUSE_FMODSTUDIO=ON -DUSE_NVAPI=ON -DUSE_LTO=ON -DVS_DISABLE_FATAL_WARNINGS=ON -DUSE_CRASHPAD=ON -DCRASHPAD_URL="$env:SENTRY_DSN_PROD" -DVIEWER_CHANNEL_TYPE="Beta"
- pipenv run autobuild build -c Release -A32 --no-configure
- cd build-vc-32/newview/Release/
- $env:SENTRY_PROJECT = $env:SENTRY_PROJECT_PROD
- sentry-cli upload-dif singularity-bin.exe singularity-bin.pdb crashpad_handler.exe crashpad_handler.pdb fmod.dll libcrypto-1_1-x64.dll libcrypto-1_1-x64.pdb libssl-1_1-x64.dll libssl-1_1-x64.pdb vcruntime140.dll msvcp140.dll glod.dll
artifacts:
name: "$env:CI_COMMIT_REF_NAME-$env:CI_COMMIT_SHORT_SHA"
expire_in: 2 week
paths:
- build-vc-32/newview/Release/Singularity*Setup.exe
only:
- beta
- schedules
except:
- /^project-.*$/
- release
build:beta:windows64:
stage: build
tags:
- autobuild
- windows
before_script:
- pipenv install
script:
- pipenv run autobuild configure -c Release -A64 -- -DUSE_FMODSTUDIO=ON -DUSE_NVAPI=ON -DUSE_LTO=ON -DVS_DISABLE_FATAL_WARNINGS=ON -DUSE_CRASHPAD=ON -DCRASHPAD_URL="$env:SENTRY_DSN_PROD" -DVIEWER_CHANNEL_TYPE="Beta"
- pipenv run autobuild build -c Release -A64 --no-configure
- cd build-vc-64/newview/Release/
- $env:SENTRY_PROJECT = $env:SENTRY_PROJECT_PROD
- sentry-cli upload-dif singularity-bin.exe singularity-bin.pdb crashpad_handler.exe crashpad_handler.pdb fmod.dll libcrypto-1_1-x64.dll libcrypto-1_1-x64.pdb libssl-1_1-x64.dll libssl-1_1-x64.pdb vcruntime140.dll msvcp140.dll libhunspell.dll libhunspell.pdb glod.dll
artifacts:
name: "$env:CI_COMMIT_REF_NAME-$env:CI_COMMIT_SHORT_SHA"
expire_in: 2 week
paths:
- build-vc-64/newview/Release/Singularity*Setup.exe
only:
- beta
- schedules
except:
- /^project-.*$/
- release
build:release:windows32:
stage: build
tags:
- autobuild
- windows
before_script:
- pipenv install
script:
- pipenv run autobuild configure -c Release -A32 -- -DUSE_FMODSTUDIO=ON -DUSE_NVAPI=ON -DUSE_LTO=ON -DVS_DISABLE_FATAL_WARNINGS=ON -DUSE_CRASHPAD=ON -DCRASHPAD_URL="$env:SENTRY_DSN_PROD" -DVIEWER_CHANNEL_TYPE="Beta"
- pipenv run autobuild build -c Release -A32 --no-configure
- cd build-vc-32/newview/Release/
- $env:SENTRY_PROJECT = $env:SENTRY_PROJECT_PROD
- sentry-cli upload-dif singularity-bin.exe singularity-bin.pdb crashpad_handler.exe crashpad_handler.pdb fmod.dll libcrypto-1_1-x64.dll libcrypto-1_1-x64.pdb libssl-1_1-x64.dll libssl-1_1-x64.pdb vcruntime140.dll msvcp140.dll glod.dll
artifacts:
name: "$env:CI_COMMIT_REF_NAME-$env:CI_COMMIT_SHORT_SHA"
expire_in: 2 week
paths:
- build-vc-32/newview/Release/Singularity*Setup.exe
only:
- release
- schedules
except:
- /^project-.*$/
- beta
build:release:windows64:
stage: build
tags:
- autobuild
- windows
before_script:
- pipenv install
script:
- pipenv run autobuild configure -c Release -A64 -- -DUSE_FMODSTUDIO=ON -DUSE_NVAPI=ON -DUSE_LTO=ON -DVS_DISABLE_FATAL_WARNINGS=ON -DUSE_CRASHPAD=ON -DCRASHPAD_URL="$env:SENTRY_DSN_PROD" -DVIEWER_CHANNEL_TYPE="Beta"
- pipenv run autobuild build -c Release -A64 --no-configure
- cd build-vc-64/newview/Release/
- $env:SENTRY_PROJECT = $env:SENTRY_PROJECT_PROD
- sentry-cli upload-dif singularity-bin.exe singularity-bin.pdb crashpad_handler.exe crashpad_handler.pdb fmod.dll libcrypto-1_1-x64.dll libcrypto-1_1-x64.pdb libssl-1_1-x64.dll libssl-1_1-x64.pdb vcruntime140.dll msvcp140.dll libhunspell.dll libhunspell.pdb glod.dll
artifacts:
name: "$env:CI_COMMIT_REF_NAME-$env:CI_COMMIT_SHORT_SHA"
expire_in: 2 week
paths:
- build-vc-64/newview/Release/Singularity*Setup.exe
only:
- release
- schedules
except:
- /^project-.*$/
- beta
deploy:nexus:
stage: deploy
tags:
- autobuild
- windows
script:
- $UploadDestDirLower = $env:CI_COMMIT_REF_NAME.ToLower().Replace("-", "/")
- $UploadDestDirLower
- $UploadDestVer = $($(Get-Content .\indra\newview\VIEWER_VERSION.txt) + "." + $(git rev-list HEAD --count | Out-String)).trim()
- $UploadDestVer
- mkdir upload
- cp build-vc-*/newview/Release/Singularity*Setup.exe upload/
- cd upload
- $FileNameWin32 = Get-ChildItem -Path . -Name -Include Singularity_*_i686_Setup.exe
- $FileNameWin32
- curl.exe -v --user "${env:AUTOBUILD_HTTP_USER}:${env:AUTOBUILD_HTTP_PASS}" --upload-file $FileNameWin32 "https://pkg.alchemyviewer.org/repository/viewer/singularity/${UploadDestDirLower}/${UploadDestVer}/${FileNameWin32}"
- $FileNameWin64 = Get-ChildItem -Path . -Name -Include Singularity_*_x86_64_Setup.exe
- $FileNameWin64
- curl.exe -v --user "${env:AUTOBUILD_HTTP_USER}:${env:AUTOBUILD_HTTP_PASS}" --upload-file $FileNameWin64 "https://pkg.alchemyviewer.org/repository/viewer/singularity/${UploadDestDirLower}/${UploadDestVer}/${FileNameWin64}"
when: manual
only:
- /^project-.*$/
- beta
- release
except:
- master