# Notes: # - Minimal appveyor.yml file is an empty file. All sections are optional. # - Indent each level of configuration with 2 spaces. Do not use tabs! # - All section names are case-sensitive. # - Section names should be unique on each level. #---------------------------------# # general configuration # #---------------------------------# # version format version: 0.0.0.{build} # you can use {branch} name in version format too # version: 1.0.{build}-{branch} # branches to build branches: # whitelist only: - master # blacklist except: - gh-pages # Do not build on tags (GitHub only) skip_tags: true # Do not build feature branch with open Pull Requests # skip_branch_with_pr: true # Maximum number of concurrent jobs for the project max_jobs: 2 #---------------------------------# # environment configuration # #---------------------------------# # Operating system (build VM template) #os: Windows Server 2012 os: Windows Server 2019 image: - Visual Studio 2019 # - Visual Studio 2019 Preview # - Visual Studio 2017 # - Visual Studio 2015 # build Configuration, i.e. Debug, Release, etc. #configuration: Release # scripts that are called at very beginning, before repo cloning init: - git config --global core.autocrlf input # clone directory clone_folder: c:\projects\notepad3 # fetch repository as zip archive #shallow_clone: true # default is "false" # set clone depth #clone_depth: 5 # clone entire repository history if not defined # environment variables #environment: # my_var1: value1 # my_var2: value2 # this is how to set encrypted variable. Go to "Encrypt data" page in account menu to encrypt data. # my_secure_var1: # secure: FW3tJ3fMncxvs58/ifSP7w== # this is how to allow failing jobs in the matrix matrix: fast_finish: true # set this flag to immediately finish build once one of the jobs fails. # allow_failures: # - platform: x86 # configuration: Debug # - platform: x64 # configuration: Release # scripts that run after cloning repository install: - cinst autohotkey.install # - ps: Update-AppveyorBuild -Version "2.$(Get-Date -format yy.Md).$env:appveyor_build_number" - ps: '& "$env:appveyor_build_folder\Version.ps1" -AppVeyorEnv' # - ps: | # if ($true) # { # $Major = 2 # $Minor = $(Get-Date -format yy) # $Revis = $(Get-Date -format Mdd) # $Build = $env:appveyor_build_number # if (!$Build) { $Build = 0 } # $SciVer = Get-Content "scintilla\version.txt" # if (!$SciVer) { $SciVer = 0 } # $CompleteVer = "$Major.$Minor.$Revis.$Build" # Copy-Item -LiteralPath "Versions\VersionEx.h.tpl" -Destination "src\VersionEx.h" -Force # (Get-Content "src\VersionEx.h") | ForEach-Object { $_ -replace '\$MAJOR\$', "$Major" } | Set-Content "src\VersionEx.h" # (Get-Content "src\VersionEx.h") | ForEach-Object { $_ -replace '\$MINOR\$', "$Minor" } | Set-Content "src\VersionEx.h" # (Get-Content "src\VersionEx.h") | ForEach-Object { $_ -replace '\$MAINT\$', "$Revis" } | Set-Content "src\VersionEx.h" # (Get-Content "src\VersionEx.h") | ForEach-Object { $_ -replace '\$BUILD\$', "$Build" } | Set-Content "src\VersionEx.h" # (Get-Content "src\VersionEx.h") | ForEach-Object { $_ -replace '\$SCIVER\$', "$SciVer" } | Set-Content "src\VersionEx.h" # Copy-Item -LiteralPath "Versions\Notepad3.exe.manifest.tpl" -Destination "res\Notepad3.exe.manifest.conf" -Force # (Get-Content "res\Notepad3.exe.manifest.conf") | ForEach-Object { $_ -replace '\$VERSION\$', $CompleteVer } | Set-Content "res\Notepad3.exe.manifest.conf" # Update-AppveyorBuild -Version $CompleteVer # } # enable patching of AssemblyInfo.* files assembly_info: patch: true #file: '**\AssemblyInfo.*' file: 'Versions\AssemblyInfo.inf' assembly_version: '{version}' assembly_file_version: '{version}' assembly_informational_version: '{version}' #---------------------------------# # build configuration # #---------------------------------# # build platform, i.e. x86, x64, Any CPU. This setting is optional. #platform: Any CPU # to add several platforms to build matrix: platform: - Win32 - x64 # to add several configurations to build matrix: configuration: - Release # - Debug cache: - packages -> **\packages.config build: parallel: true project: Notepad3.sln # MSBuild verbosity level (quiet|minimal|normal|detailed) verbosity: minimal # scripts to run before build before_build: - nuget restore -verbosity detailed # scripts to run *after* solution is built and *before* automatic packaging occurs (web apps, NuGet packages, Azure Cloud Services) before_package: # scripts to run after build after_build: # - 7z a Notepad3_%APPVEYOR_BUILD_VERSION%.zip %APPVEYOR_BUILD_FOLDER%\Output\%CONFIGURATION%\Notepad3.exe # - appveyor PushArtifact Notepad3_%APPVEYOR_BUILD_VERSION%.zip # to run your custom scripts instead of automatic MSBuild build_script: # to disable automatic builds #build: off #---------------------------------# # tests configuration # #---------------------------------# test: off # assemblies: # only: # - asm1.dll # - asm2.dll # categories: # only: # - UI # - E2E # to disable automatic tests #test: off # scripts to run before tests before_test: - cmd: cd test # - echo script1 # - ps: Write-Host "script1" # to run your custom scripts instead of automatic tests test_script: - TestFileVersion.cmd - TestAhkNotepad3.cmd # scripts to run after tests after_test: # - echo after_test #---------------------------------# # artifacts configuration # #---------------------------------# # Artifact paths are relative to C:\projects\notepad3\ artifacts: - path: bin\**\*.exe # - name: All #deploy: # - provider: S3 # access_key_id: XXXXXXXXXXXXXXXXXXXX # secret_access_key: # secure: --------------------------------------------------------- # region: us-west-2 # bucket: notepad3 # artifact: All # set_public: true # encrypt: true #notifications: #- provider: Email # to: # - rizonesoft+github@gmail.com # on_build_success: true # on_build_failure: true # on_build_status_changed: true