Notepad3/appveyor.yml

227 lines
6.2 KiB
YAML

# 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 2022
# - 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:
- choco install 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