transmission/appveyor.yml
Mike Gelfand 991b0f0d3d
Support WiX toolset versions other than 3.11 (#6689)
Version 3.14 was recently released with security fixes, and GitHub
runners have been updated to use it. Don't hardcode the version in
Program Files directory name to support any 3.x. Since 3.x support will
be dropped within a year, need to plan migration to 5.x when it's
released (4.x isn't suitable because of missing heat replacement).
2024-03-13 16:40:41 +03:00

122 lines
3.5 KiB
YAML

version: '{build}'
environment:
AWS_ACCESS_KEY_ID:
secure: WQRc7y9bDiWiLpjm9lXdw9Q7n4extWau3W1ztQdqMgU=
AWS_SECRET_ACCESS_KEY:
secure: pP+D6ZtfXLDcEnl8pk/n3KApaV1fdGns4VkSyebs0zHzCutlvWj7ee16PalCcnBY
AWS_S3_BUCKET_NAME:
secure: Bf3x1Iruxg+l3tp+an+g9oE36EHxvyWrE8GTJzZh4Ss=
matrix:
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022
TR_ARCH: x86
QT_VERSION: '5'
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022
TR_ARCH: x86
QT_VERSION: '6'
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022
TR_ARCH: x64
QT_VERSION: '5'
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022
TR_ARCH: x64
QT_VERSION: '6'
branches:
only:
- main
- /^\d+\.\d+.*/
for:
-
matrix:
only:
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022
clone_folder: '%SystemDrive%\%TR_ARCH%-project'
cache:
- '%SystemDrive%\%TR_ARCH%-ccache'
init:
- pwsh: |
$Env:APPVEYOR_SAVE_CACHE_ON_ERROR = 'true'
install:
- pwsh: |
$Version = git describe --tags --abbrev=10 --always
if ($Version -ne $Env:APPVEYOR_REPO_BRANCH) {
$Version += "-${Env:APPVEYOR_REPO_BRANCH}"
}
$BuildIndex = 0
appveyor UpdateBuild -Version $Version
while ($LastExitCode -ne 0) {
$BuildIndex += 1
appveyor UpdateBuild -Version "${Version}+${BuildIndex}"
}
git submodule update --init --recursive
choco install python3 --pre
choco install nasm
choco install jom
choco install wixtoolset --version 3.14.0
choco install ccache --version 4.8.3
Remove-Item -Path (Join-Path $Env:SystemDrive OpenSSL-Win32) -Recurse
Remove-Item -Path (Join-Path $Env:SystemDrive OpenSSL-Win64) -Recurse
Install-Module -Name SignPath
build_script:
- pwsh: |
$Env:PATH = @(
(Join-Path $Env:SystemDrive Strawberry perl bin)
(Join-Path $Env:ProgramFiles NASM)
(Join-Path (Get-Item -Path "${Env:ProgramFiles(x86)}\WiX Toolset v3.*")[0].FullName bin)
$Env:PATH
) -join [System.IO.Path]::PathSeparator
$Env:CCACHE_DIR = "${Env:SystemDrive}\${Env:TR_ARCH}-ccache"
$Env:CCACHE_MAXSIZE = '500Mi'
Set-ExecutionPolicy -Scope Process Bypass
try {
& (Join-Path $Env:APPVEYOR_BUILD_FOLDER release windows main.ps1) `
-Mode Build `
-BuildArch $env:TR_ARCH `
-CCachePart App `
-UseQtVersion $Env:QT_VERSION `
-PackDebugSyms:$($Env:APPVEYOR_REPO_BRANCH -eq "main" -or $Env:APPVEYOR_REPO_TAG -eq "true")
} catch {
Write-Error ("{1}{0}{2}{0}{3}" -f [Environment]::NewLine, $_.ToString(), $_.InvocationInfo.PositionMessage, $_.ScriptStackTrace) -ErrorAction Continue
exit 1
}
test_script:
- pwsh: |
Set-ExecutionPolicy -Scope Process Bypass
try {
& (Join-Path $Env:APPVEYOR_BUILD_FOLDER release windows main.ps1) `
-Mode Test `
-BuildArch $env:TR_ARCH
} catch {
Write-Error ("{1}{0}{2}{0}{3}" -f [Environment]::NewLine, $_.ToString(), $_.InvocationInfo.PositionMessage, $_.ScriptStackTrace) -ErrorAction Continue
exit 1
}
artifacts:
- path: '*.msi'
- path: '*-pdb.7z'
deploy:
- provider: Webhook
url: https://app.signpath.io/API/v1/8c96c8c9-a72c-4b46-a53c-80aad617f6bc/Integrations/AppVeyor?ProjectKey=transmission&SigningPolicyKey=release-signing
authorization:
secure: PrvcykaHmPgJ0ENht1q58tCfjRcmybiOeHYrvtQtAGsfahWvniAfP66DqHxv872acpyf3FpJn2ETCeszoVuFGA==
on:
APPVEYOR_REPO_TAG: true