123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207 |
- branches:
- only:
- - master
- skip_tags: true
- skip_branch_with_pr: true
- version: 1.30-appveyor{build}
- matrix:
- fast_finish: true
- environment:
- OPENMPT_APPVEYOR_API_TOKEN:
- secure: bxGFLD4QFin6OMSHsO5tYiKkuifNPMEsZNHvc2wfMYk=
- matrix:
- - job_name: VS2019 Win10 x86
- job_group: Builds
- MPT_APPVEYOR_VS: vs2019
- MPT_APPVEYOR_TARGET: win10
- MPT_APPVEYOR_ARCH: x86
- MPT_APPVEYOR_ARCH_CONFIG: Win32
- - job_name: VS2019 Win10 amd64
- job_group: Builds
- MPT_APPVEYOR_VS: vs2019
- MPT_APPVEYOR_TARGET: win10
- MPT_APPVEYOR_ARCH: amd64
- MPT_APPVEYOR_ARCH_CONFIG: x64
- - job_name: VS2019 Win10 arm
- job_group: Builds
- MPT_APPVEYOR_VS: vs2019
- MPT_APPVEYOR_TARGET: win10
- MPT_APPVEYOR_ARCH: arm
- MPT_APPVEYOR_ARCH_CONFIG: ARM
- - job_name: VS2019 Win10 arm64
- job_group: Builds
- MPT_APPVEYOR_VS: vs2019
- MPT_APPVEYOR_TARGET: win10
- MPT_APPVEYOR_ARCH: arm64
- MPT_APPVEYOR_ARCH_CONFIG: ARM64
- - job_name: VS2019 Win7 x86
- job_group: Builds
- MPT_APPVEYOR_VS: vs2019
- MPT_APPVEYOR_TARGET: win7
- MPT_APPVEYOR_ARCH: x86
- MPT_APPVEYOR_ARCH_CONFIG: Win32
- - job_name: VS2019 Win7 amd64
- job_group: Builds
- MPT_APPVEYOR_VS: vs2019
- MPT_APPVEYOR_TARGET: win7
- MPT_APPVEYOR_ARCH: amd64
- MPT_APPVEYOR_ARCH_CONFIG: x64
- - job_name: Package
- job_depends_on: Builds
- image: Visual Studio 2019
- clone_depth: 2500
- cache:
- - build\externals
- install:
- - build\download_externals.cmd auto
- before_build:
- - build\auto\appveyor_set_version.cmd
- for:
- -
- matrix:
- only:
- - job_group: Builds
-
- build_script:
- - build\auto\build_openmpt_args.cmd %MPT_APPVEYOR_VS% %MPT_APPVEYOR_TARGET% %MPT_APPVEYOR_ARCH_CONFIG% Release 7z default
-
- artifacts:
- - path: 'bin\release\$(MPT_APPVEYOR_VS)-$(MPT_APPVEYOR_TARGET)-static\$(MPT_APPVEYOR_ARCH)\OpenMPT.exe'
- - path: 'bin\release\$(MPT_APPVEYOR_VS)-$(MPT_APPVEYOR_TARGET)-static\$(MPT_APPVEYOR_ARCH)\OpenMPT.pdb'
- - path: 'bin\release\$(MPT_APPVEYOR_VS)-$(MPT_APPVEYOR_TARGET)-static\$(MPT_APPVEYOR_ARCH)\openmpt-lame.dll'
- - path: 'bin\release\$(MPT_APPVEYOR_VS)-$(MPT_APPVEYOR_TARGET)-static\$(MPT_APPVEYOR_ARCH)\openmpt-lame.pdb'
- - path: 'bin\release\$(MPT_APPVEYOR_VS)-$(MPT_APPVEYOR_TARGET)-static\$(MPT_APPVEYOR_ARCH)\openmpt-mpg123.dll'
- - path: 'bin\release\$(MPT_APPVEYOR_VS)-$(MPT_APPVEYOR_TARGET)-static\$(MPT_APPVEYOR_ARCH)\openmpt-mpg123.pdb'
- - path: 'bin\release\$(MPT_APPVEYOR_VS)-$(MPT_APPVEYOR_TARGET)-static\$(MPT_APPVEYOR_ARCH)\openmpt-soundtouch.dll'
- - path: 'bin\release\$(MPT_APPVEYOR_VS)-$(MPT_APPVEYOR_TARGET)-static\$(MPT_APPVEYOR_ARCH)\openmpt-soundtouch.pdb'
- - path: 'bin\release\$(MPT_APPVEYOR_VS)-$(MPT_APPVEYOR_TARGET)-static\$(MPT_APPVEYOR_ARCH)\PluginBridge-$(MPT_APPVEYOR_ARCH).exe'
- - path: 'bin\release\$(MPT_APPVEYOR_VS)-$(MPT_APPVEYOR_TARGET)-static\$(MPT_APPVEYOR_ARCH)\PluginBridge-$(MPT_APPVEYOR_ARCH).pdb'
- - path: 'bin\release\$(MPT_APPVEYOR_VS)-$(MPT_APPVEYOR_TARGET)-static\$(MPT_APPVEYOR_ARCH)\PluginBridgeLegacy-$(MPT_APPVEYOR_ARCH).exe'
- - path: 'bin\release\$(MPT_APPVEYOR_VS)-$(MPT_APPVEYOR_TARGET)-static\$(MPT_APPVEYOR_ARCH)\PluginBridgeLegacy-$(MPT_APPVEYOR_ARCH).pdb'
- - path: 'bin\release\$(MPT_APPVEYOR_VS)-$(MPT_APPVEYOR_TARGET)-static\$(MPT_APPVEYOR_ARCH)\openmpt-wine-support.zip'
- - path: 'bin\release\$(MPT_APPVEYOR_VS)-$(MPT_APPVEYOR_TARGET)-static\$(MPT_APPVEYOR_ARCH)\updatesigntool.exe'
-
- -
- matrix:
- only:
- - job_name: Package
-
- before_build:
- - ps: |
- function Get-AppVeyorArtifacts
- {
- [CmdletBinding(SupportsShouldProcess = $true, ConfirmImpact = 'Low')]
- param(
- #The name of the account you wish to download artifacts from
- [parameter(Mandatory = $true)]
- [string]$Account,
- #The name of the project you wish to download artifacts from
- [parameter(Mandatory = $true)]
- [string]$Project,
- #Where to save the downloaded artifacts. Defaults to current directory.
- [alias("DownloadDirectory")][string]$Path = '.',
- [string]$Token,
- #Filter to a specific branch or project directory. You can specify Branch as either branch name ("master") or build version ("0.1.29")
- [string]$Branch,
- #If you have multiple build jobs, specify which job you wish to retrieve the artifacts from
- [string]$JobName,
- #Download all files into a single directory, do not preserve any hierarchy that might exist in the artifacts
- [switch]$Flat,
- [string]$Proxy,
- [switch]$ProxyUseDefaultCredentials,
- #URL of Appveyor API. You normally shouldn't need to change this.
- $apiUrl = 'https://ci.appveyor.com/api'
- )
- $headers = @{
- 'Content-type' = 'application/json'
- }
- if ($Token) {$headers.'Authorization' = "Bearer $token"}
- # Prepare proxy args to splat to Invoke-RestMethod
- $proxyArgs = @{}
- if (-not [string]::IsNullOrEmpty($proxy)) {
- $proxyArgs.Add('Proxy', $proxy)
- }
- if ($proxyUseDefaultCredentials.IsPresent) {
- $proxyArgs.Add('ProxyUseDefaultCredentials', $proxyUseDefaultCredentials)
- }
- $errorActionPreference = 'Stop'
- $projectURI = "$apiUrl/projects/$account/$project"
- if ($Branch) {$projectURI = $projectURI + "/branch/$Branch"}
- $projectObject = Invoke-RestMethod -Method Get -Uri $projectURI `
- -Headers $headers @proxyArgs
- if (-not $projectObject.build.jobs) {throw "No jobs found for this project or the project and/or account name was incorrectly specified"}
- if (($projectObject.build.jobs.count -gt 1) -and -not $jobName) {
- throw "Multiple Jobs found for the latest build. Please specify the -JobName paramter to select which job you want the artifacts for"
- }
- if ($JobName) {
- $jobid = ($projectObject.build.jobs | Where-Object name -eq "$JobName" | Select-Object -first 1).jobid
- if (-not $jobId) {throw "Unable to find a job named $JobName within the latest specified build. Did you spell it correctly?"}
- } else {
- $jobid = $projectObject.build.jobs[0].jobid
- }
- $artifacts = Invoke-RestMethod -Method Get -Uri "$apiUrl/buildjobs/$jobId/artifacts" `
- -Headers $headers @proxyArgs
- $artifacts `
- | ? { $psCmdlet.ShouldProcess($_.fileName) } `
- | % {
- $type = $_.type
- $localArtifactPath = $_.fileName -split '/' | % { [Uri]::UnescapeDataString($_) }
- if ($flat.IsPresent) {
- $localArtifactPath = ($localArtifactPath | select -Last 1)
- } else {
- $localArtifactPath = $localArtifactPath -join [IO.Path]::DirectorySeparatorChar
- }
- $localArtifactPath = Join-Path $path $localArtifactPath
- $artifactUrl = "$apiUrl/buildjobs/$jobId/artifacts/$($_.fileName)"
- Write-Verbose "Downloading $artifactUrl to $localArtifactPath"
- $localArtifactPathParent = Split-Path -Path $localArtifactPath -Parent
- New-Item -Path $localArtifactPathParent -ItemType Directory -Force
- Invoke-RestMethod -Method Get -Uri $artifactUrl -OutFile $localArtifactPath -Headers $headers @proxyArgs
- New-Object PSObject -Property @{
- 'Source' = $artifactUrl
- 'Type' = $type
- 'Target' = $localArtifactPath
- }
- }
- }
- Get-AppVeyorArtifacts OpenMPT openmpt -Token $env:OPENMPT_APPVEYOR_API_TOKEN -JobName 'VS2019 Win10 x86'
- Get-AppVeyorArtifacts OpenMPT openmpt -Token $env:OPENMPT_APPVEYOR_API_TOKEN -JobName 'VS2019 Win10 amd64'
- Get-AppVeyorArtifacts OpenMPT openmpt -Token $env:OPENMPT_APPVEYOR_API_TOKEN -JobName 'VS2019 Win10 arm'
- Get-AppVeyorArtifacts OpenMPT openmpt -Token $env:OPENMPT_APPVEYOR_API_TOKEN -JobName 'VS2019 Win10 arm64'
- Get-AppVeyorArtifacts OpenMPT openmpt -Token $env:OPENMPT_APPVEYOR_API_TOKEN -JobName 'VS2019 Win7 x86'
- Get-AppVeyorArtifacts OpenMPT openmpt -Token $env:OPENMPT_APPVEYOR_API_TOKEN -JobName 'VS2019 Win7 amd64'
- build_script:
- - build\auto\build_openmpt_release_packages_multiarch.cmd auto
- - build\auto\build_openmpt_update_information.cmd auto
- - build\auto\package_openmpt_installer_multiarch_args.cmd vs2019 win10 Win32 Release 7z default
- after_build:
- - appveyor PushArtifact bin\openmpt-pkg.win-multi.tar
- test: off
|