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 - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022 TR_ARCH: x64 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.11.2 choco install ccache 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 ${Env:ProgramFiles(x86)} 'WiX Toolset v3.11' 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 ` -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