1version: '{build}'
2
3environment:
4  AWS_ACCESS_KEY_ID:
5    secure: JH2KJ09654cSwhYup2MKb80kK60+nezvUmFzBay7tUI=
6  AWS_SECRET_ACCESS_KEY:
7    secure: fum5aRKLhJvxh3UQhiQVt2acV4eke8GiGdMhHIW/uuQC7wztj4T9tJWp5IO1U7m4
8  AWS_S3_BUCKET_NAME:
9    secure: Bf3x1Iruxg+l3tp+an+g9kWhBexLLw/69gEt9bEu7Zk=
10
11  matrix:
12  - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
13    TR_ARCH: x86
14  - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
15    TR_ARCH: x64
16
17for:
18-
19  matrix:
20    only:
21    - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
22
23  clone_folder: '%SystemDrive%\%TR_ARCH%-project'
24
25  install:
26  - pwsh: |
27      $Version = git describe --tags --abbrev=10 --always
28      if ($Version -ne $Env:APPVEYOR_REPO_BRANCH) {
29          $version += "-${Env:APPVEYOR_REPO_BRANCH}"
30      }
31
32      $BuildIndex = 0
33      appveyor UpdateBuild -Version $Version
34      while ($LastExitCode -ne 0) {
35          $BuildIndex += 1
36          appveyor UpdateBuild -Version "${Version}+${BuildIndex}"
37      }
38
39      git submodule update --init --recursive
40
41      choco install ActivePerl
42      choco install nasm
43      choco install jom
44      choco install imagemagick.tool
45      choco install wixtoolset --version 3.11.2
46
47      Remove-Item -Path (Join-Path $Env:SystemDrive OpenSSL-Win32) -Recurse
48      Remove-Item -Path (Join-Path $Env:SystemDrive OpenSSL-Win64) -Recurse
49
50      Install-Module -Name SignPath
51
52  build_script:
53  - pwsh: |
54      $Env:PATH = @(
55          (Join-Path $Env:SystemDrive Perl64 bin)
56          (Join-Path $Env:ProgramFiles NASM)
57          (Join-Path ${Env:ProgramFiles(x86)} 'WiX Toolset v3.11' bin)
58          $Env:PATH
59      ) -join [System.IO.Path]::PathSeparator
60
61      Set-ExecutionPolicy -Scope Process Bypass
62
63      try {
64          & (Join-Path $Env:APPVEYOR_BUILD_FOLDER release windows main.ps1) `
65              -Mode Build `
66              -BuildArch $env:TR_ARCH
67      } catch {
68          Write-Error ("{1}{0}{2}{0}{3}" -f [Environment]::NewLine, $_.ToString(), $_.InvocationInfo.PositionMessage, $_.ScriptStackTrace) -ErrorAction Continue
69          exit 1
70      }
71
72  test_script:
73  - pwsh: |
74      Set-ExecutionPolicy -Scope Process Bypass
75
76      try {
77          & (Join-Path $Env:APPVEYOR_BUILD_FOLDER release windows main.ps1) `
78              -Mode Test `
79              -BuildArch $env:TR_ARCH
80      } catch {
81          Write-Error ("{1}{0}{2}{0}{3}" -f [Environment]::NewLine, $_.ToString(), $_.InvocationInfo.PositionMessage, $_.ScriptStackTrace) -ErrorAction Continue
82          exit 1
83      }
84
85  artifacts:
86  - path: '*.msi'
87  - path: '*-pdb.zip'
88
89  deploy:
90  - provider: Webhook
91    url: https://app.signpath.io/API/v1/8c96c8c9-a72c-4b46-a53c-80aad617f6bc/Integrations/AppVeyor?ProjectKey=transmission&SigningPolicyKey=release-signing
92    authorization:
93       secure: PrvcykaHmPgJ0ENht1q58tCfjRcmybiOeHYrvtQtAGsfahWvniAfP66DqHxv872acpyf3FpJn2ETCeszoVuFGA==
94    on:
95      APPVEYOR_REPO_TAG: true
96