Code owners
Assign users and groups as approvers for specific file changes. Learn more.
.gitlab-ci.yml 5.36 KiB
stages:
- build
# - deploy
variables:
VIEWER_USE_CRASHPAD: "TRUE"
VIEWER_CRASHPAD_URL: $SENTRY_DSN
# .win_build: &win_build
# stage: build
# tags:
# - autobuild
# - windows
# before_script:
# - pipenv install
# script:
# - If ($env:VIEWER_CHANNEL_TYPE -eq 'Project')
# {
# $env:VIEWER_CHANNEL_CODENAME = $env:CI_COMMIT_REF_NAME[8..100] -join ''
# }
# - pipenv run autobuild configure -c ReleaseOS -- -DUSE_FMODSTUDIO=ON -DUSE_NVAPI=ON -DUSE_LTO=ON -DVS_DISABLE_FATAL_WARNINGS=ON
# - pipenv run autobuild build -c ReleaseOS --no-configure
# - If ($env:VIEWER_USE_CRASHPAD -eq 'TRUE') {
# - Push-Location .\build-vc-*\newview\Release\
# - sentry-cli upload-dif --include-sources alchemy-bin.exe alchemy-bin.pdb crashpad_handler.exe crashpad_handler.pdb openjpeg.pdb openjpeg.dll fmod.dll libcrypto-1_1.dll libcrypto-1_1.pdb libssl-1_1.dll libssl-1_1.pdb libcrypto-1_1-x64.dll libcrypto-1_1-x64.pdb libssl-1_1-x64.dll libssl-1_1-x64.pdb vcruntime140.dll msvcp140.dll nghttp2.dll glod.dll
# - Pop-Location }
# artifacts:
# name: "$env:CI_COMMIT_REF_NAME-$env:CI_COMMIT_SHORT_SHA"
# expire_in: 2 week
# paths:
# - build-vc-*/newview/Release/build_data.json
# - build-vc-*/newview/Release/alchemy-bin.pdb
# - build-vc-*/newview/Release/Alchemy_*_Setup.exe
.lnx_build: &lnx_build
stage: build
image: r.alchemyviewer.org/alchemy/infrastructure/debian-build-image:latest
tags:
- linux
- docker
script:
- autobuild configure -c ReleaseOS -- -DUSE_FMODSTUDIO=ON -DUSE_NVAPI=ON -DUSE_LTO=ON -DUNIX_DISABLE_FATAL_WARNINGS=ON
- autobuild build -c ReleaseOS --no-configure
artifacts:
name: "$env:CI_COMMIT_REF_NAME-$env:CI_COMMIT_SHORT_SHA"
expire_in: 2 week
paths:
- build-linux-*/build_data.json
- build-linux-*/newview/Alchemy_*.tar.bz2
build:master:linux64:
<<: *lnx_build
interruptible: true
variables:
AUTOBUILD_ADDRSIZE: 64
VIEWER_CHANNEL_TYPE: Test
VIEWER_USE_CRASHPAD: "FALSE"
only:
- schedules
- web
# .beta_rules: &beta_rules
# only:
# - /^.*-beta$/
# except:
# - branches
# .release_rules: &release_rules
# only:
# - /^.*-release$/
# except:
# - branches
# build:master:windows32:
# <<: *win_build
# interruptible: true
# variables:
# AUTOBUILD_ADDRSIZE: 32
# VIEWER_CHANNEL_TYPE: Test
# VIEWER_USE_CRASHPAD: "FALSE"
# only:
# - schedules
# build:master:windows64:
# <<: *win_build
# interruptible: true
# variables:
# AUTOBUILD_ADDRSIZE: 64
# VIEWER_CHANNEL_TYPE: Test
# VIEWER_USE_CRASHPAD: "FALSE"
# only:
# - schedules
# build:project:windows32:
# <<: *win_build
# interruptible: true
# variables:
# AUTOBUILD_ADDRSIZE: 32
# VIEWER_CHANNEL_TYPE: Project
# only:
# - /^project-.*$/
# build:project:windows64:
# <<: *win_build
# interruptible: true
# variables:
# AUTOBUILD_ADDRSIZE: 64
# VIEWER_CHANNEL_TYPE: Project
# only:
# - /^project-.*$/
# build:beta:windows32:
# <<: *win_build
# variables:
# AUTOBUILD_ADDRSIZE: 32
# VIEWER_CHANNEL_TYPE: Beta
# <<: *beta_rules
# build:beta:windows64:
# <<: *win_build
# variables:
# AUTOBUILD_ADDRSIZE: 64
# VIEWER_CHANNEL_TYPE: Beta
# <<: *beta_rules
# build:release:windows32:
# <<: *win_build
# variables:
# AUTOBUILD_ADDRSIZE: 32
# VIEWER_CHANNEL_TYPE: Release
# <<: *release_rules
# build:release:windows64:
# <<: *win_build
# variables:
# AUTOBUILD_ADDRSIZE: 64
# VIEWER_CHANNEL_TYPE: Release
# <<: *release_rules
# .deploy_template: &deploy_template
# stage: deploy
# tags:
# - autobuild
# - windows
# script:
# - $BuildData = Get-Content .\build-vc-64\newview\Release\build_data.json | ConvertFrom-Json
# - $BuildChannelVersion = $BuildData."Channel" + ' ' + $BuildData."Version"
# - $UploadDestViewerDir = $BuildChannelVersion.ToLower().Replace(" ", "/")
# - $UploadDestURL = "https://pkg.alchemyviewer.org/repository/viewer/${UploadDestViewerDir}"
# - $UploadParams = @{ UseBasicParsing = $true;
# Method = "PUT";
# Headers = @{
# ContentType = "application/x-executable";
# Authorization = "Basic $([System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes("$env:AUTOBUILD_HTTP_USER`:$env:AUTOBUILD_HTTP_PASS")))"; };
# Verbose = $true; };
# - Push-Location .\build-vc-32\newview\Release\
# - $FileNameWin32 = Get-ChildItem -Path . -Name -Include Alchemy_*_Setup.exe
# - Invoke-WebRequest @UploadParams -InFile .\$FileNameWin32 -Uri "${UploadDestURL}/${FileNameWin32}"
# - Pop-Location
# - Push-Location .\build-vc-64\newview\Release\
# - $FileNameWin64 = Get-ChildItem -Path . -Name -Include Alchemy_*_Setup.exe
# - Invoke-WebRequest @UploadParams -InFile .\$FileNameWin64 -Uri "${UploadDestURL}/${FileNameWin64}"
# - Pop-Location
# - sentry-cli releases new $BuildChannelVersion
# - sentry-cli releases set-commits --auto $BuildChannelVersion
# - sentry-cli releases finalize $BuildChannelVersion
# when: manual
# deploy_project:
# <<: *deploy_template
# environment:
# name: qa
# only:
# - /^project-.*$/
# deploy_beta:
# <<: *deploy_template
# environment:
# name: staging
# <<: *beta_rules
# deploy_release:
# <<: *deploy_template
# environment:
# name: production
# <<: *release_rules