Add appveyor

This commit is contained in:
Stephen Maunder 2017-11-16 13:11:45 +00:00
parent 9464db3963
commit f2d4b9906b
3 changed files with 81 additions and 0 deletions

View file

@ -19,6 +19,28 @@ $env:PSModulePath = "$($env:PSModulePath);$releasePath"
# Ensure Invoke-Build works in the most strict mode.
Set-StrictMode -Version Latest
task ShowDebug {
Write-Build Gray
Write-Build Gray ('Project name: {0}' -f $env:APPVEYOR_PROJECT_NAME)
Write-Build Gray ('Project root: {0}' -f $env:APPVEYOR_BUILD_FOLDER)
Write-Build Gray ('Repo name: {0}' -f $env:APPVEYOR_REPO_NAME)
Write-Build Gray ('Branch: {0}' -f $env:APPVEYOR_REPO_BRANCH)
Write-Build Gray ('Commit: {0}' -f $env:APPVEYOR_REPO_COMMIT)
Write-Build Gray (' - Author: {0}' -f $env:APPVEYOR_REPO_COMMIT_AUTHOR)
Write-Build Gray (' - Time: {0}' -f $env:APPVEYOR_REPO_COMMIT_TIMESTAMP)
Write-Build Gray (' - Message: {0}' -f $env:APPVEYOR_REPO_COMMIT_MESSAGE)
Write-Build Gray (' - Extended message: {0}' -f $env:APPVEYOR_REPO_COMMIT_MESSAGE_EXTENDED)
Write-Build Gray ('Pull request number: {0}' -f $env:APPVEYOR_PULL_REQUEST_NUMBER)
Write-Build Gray ('Pull request title: {0}' -f $env:APPVEYOR_PULL_REQUEST_TITLE)
Write-Build Gray ('AppVeyor build ID: {0}' -f $env:APPVEYOR_BUILD_ID)
Write-Build Gray ('AppVeyor build number: {0}' -f $env:APPVEYOR_BUILD_NUMBER)
Write-Build Gray ('AppVeyor build version: {0}' -f $env:APPVEYOR_BUILD_VERSION)
Write-Build Gray ('AppVeyor job ID: {0}' -f $env:APPVEYOR_JOB_ID)
Write-Build Gray ('Build triggered from tag? {0}' -f $env:APPVEYOR_REPO_TAG)
Write-Build Gray (' - Tag name: {0}' -f $env:APPVEYOR_REPO_TAG_NAME)
Write-Build Gray ('PowerShell version: {0}' -f $PSVersionTable.PSVersion.ToString())
Write-Build Gray
}
# region build
# Synopsis: Build shippable release

59
appveyor.yml Normal file
View file

@ -0,0 +1,59 @@
############################################################
#
# See http://www.appveyor.com/docs/appveyor-yml for many more options
#
# Credit for a lot of this file goes to RamblingCookieMonster:
# https://github.com/RamblingCookieMonster/PSSQLite/blob/master/appveyor.yml
#
############################################################
# This tells AppVeyor that we need WMF 5 and PowerShell 5.0
os: WMF 5
environment:
# To encrypt a value in AppVeyor, go to the Account menu and choose "Encrypt data"
version: 1.0.{build}
# Don't rebuild when I tag a release on GitHub
skip_tags: true
# Ignore testing a commit if only the readme changed
# Or if I include "skip-tests" in the commit message
skip_commits:
message: /skip\-tests/
files:
- .github/
- .vscode/
- assets/
- Tools/
- README.md
- .gitattributes
- .gitignore
# PRs, by definition, don't change anything and therefore should not increment the version
# To be fair, this is not important, and is really just AppVeyor enabling my pedantry
pull_requests:
do_not_increment_build_number: true
install:
- ps: |
Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force | Out-Null
Install-Module InvokeBuild -Scope CurrentUser -Force
Install-Module BuildHelpers -Scope CurrentUser -Force
Install-Module Pester -Scope CurrentUser -Force
Install-Module PSScriptAnalyzer -Scope CurrentUser -Force
$env:releasePath = "$($pwd.Path)\Release"
before_build:
- ps: Invoke-Build -Task ShowDebug
build_script:
- ps: Invoke-Build -Task Build
# after_build:
# - cmd: mdspell %releasePath%\**/*.md --ignore-numbers --ignore-acronyms --report
test_script:
- ps: Invoke-Build -Task Test

View file