transmission/appveyor.yml

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