summaryrefslogtreecommitdiffstats
path: root/appveyor.yml
diff options
context:
space:
mode:
authorTim Foley <tfoley@nvidia.com>2017-06-12 08:38:31 -0700
committerTim Foley <tfoley@nvidia.com>2017-06-12 08:38:31 -0700
commit62687cd285f675d862c132270d05752afa56d87e (patch)
tree6d45b4624914e13a5e7d56898304ee4c7cfb3492 /appveyor.yml
parentf56fba25d62b526e69e59382ca086b0862c4d75b (diff)
AppVeyor: try to produce a better build version
I don't want to have to try and manually keep a version number in `appveyor.yml` up to date with any versioning for releases, etc. This change tries to derive a reasonable version name from a Git tag, a pull request number, or a branch name (in that order). I then append the AppVeyor build number to the end to try to ensure that we always have something unique (which is a requirement for AppVeyor).
Diffstat (limited to 'appveyor.yml')
-rw-r--r--appveyor.yml51
1 files changed, 42 insertions, 9 deletions
diff --git a/appveyor.yml b/appveyor.yml
index abbcf100e..73f976d66 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -1,26 +1,59 @@
-# version format
-version: 0.0.{build}
+# Try to set AppVeyord build "version" to something reasonable,
+# based on what we are trying to build.
+init:
+ - ps: >-
+ if ($end:APPVEYOR_REPO_TAG -eq "true")
+ {
+ # If we are building from a tag in the repository,
+ # then use the tag name as the start of the build version
+ $versionName = "$($env:APPVEYOR_REPO_TAG_NAME.TrimStart("v"))"
+ }
+ else if($env:APPVEYOR_PULL_REQUEST_NUMBER)
+ {
+ # Otherwise, if we are building for a pull request,
+ # then use the pull request number to name our build version
+ $versionName = "pr$env:APPVEYOR_PULL_REQUEST_NUMBER"
+ }
+ else
+ {
+ # Otherwise, just set a build name based on the
+ # branch that we are building against
+ $versionName = "$env:APPVEYOR_REPO_BRANCH"
+ }
+ # Finally, we set the AppVeyor build version to use our version
+ # name with the build number appended.
+ #
+ # The string "appveyor" is being included before the build number
+ # in case we need to differentiate builds being made with different
+ # continuous integration providers.
+ Update-AppveyorBuild -Version "$versionName+appveyor.$env:APPVEYOR_BUILD_NUMBER"
-# build worker image
+# Our solution file is currently set up for VS2015
image: Visual Studio 2015
-# script to run before build
+# The project uses a submodule for the "glslang" dependency,
+# so we need to make sure to pull that before building.
install:
- git submodule update --init --recursive
-# platforms to build
+# We want to build the full matrix of platforms and configurations
+# that we support on Windows.
platform:
- Win32
- x64
-
-# configurations to build
configuration:
- Debug
- Release
-# specify build settings
+# MSBUILD should ideally be able to find our solution file
+# automatically, but it seems to get confused, so we specify
+# the file name to use here.
build:
project: slang.sln
-# TODO: need to invoke test script here
+# TODO: need to invoke our test script as part of the build
+
+# TODO: need to figure out what we want to package for deployment
+
+# TODO: on a successful build of a tag, push to GitHub releases