Skip to content

Commit 2804b24

Browse files
committed
more refactoring + formatting to AppVeyor's init (PowerShell) script
1 parent 50b7362 commit 2804b24

File tree

1 file changed

+19
-22
lines changed

1 file changed

+19
-22
lines changed

appveyor.yml

Lines changed: 19 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -23,49 +23,46 @@ cache:
2323
environment:
2424
VERSION_SIMPLE: '{version}'
2525
VERSION_INFORMATIONAL: '{version}'
26-
VERSION_SUFFIX: '-preview-$(APPVEYOR_BUILD_NUMBER)'
27-
VERSION_SUFFIX_TAG: '-beta-$(APPVEYOR_BUILD_NUMBER)'
26+
VERSION_UNSTABLE_SUFFIX: '-preview-$(APPVEYOR_BUILD_NUMBER)'
2827

2928
init:
3029
- ps: |
3130
$env:VERSION_INFORMATIONAL = $env:APPVEYOR_BUILD_VERSION
3231
$env:VERSION_SIMPLE = "$env:APPVEYOR_BUILD_VERSION.$env:APPVEYOR_BUILD_NUMBER"
32+
$env:GITHUB_REPO_API = "https://api.github.com/repos/$env:APPVEYOR_REPO_NAME/releases/latest"
3333
34-
if ($env:APPVEYOR_REPO_TAG -eq "true" -and $env:APPVEYOR_REPO_TAG_NAME)
35-
{
36-
$env:VERSION_SUFFIX = $env:VERSION_SUFFIX_TAG
37-
$tag_version = $env:APPVEYOR_REPO_TAG_NAME.TrimStart("v")
38-
Write-Host "Building a tag: $tag_version";
34+
if ($env:APPVEYOR_REPO_TAG -eq "true" -and $env:APPVEYOR_REPO_TAG_NAME) {
35+
### CHECK IF A IT'S A TAGGED BUILD
36+
$git_current_tag = $env:APPVEYOR_REPO_TAG_NAME.TrimStart("v")
37+
Write-Host "Building a tagged Git commit: $git_current_tag";
3938
40-
if ($tag_version -match '^([0-9]+\.[0-9]+\.[0-9]+)$' -Or $tag_version -match '([0-9]+[\.-][0-9]+[\.-][0-9]+-[-A-Za-z0-9]+)')
41-
{
42-
$env:VERSION_INFORMATIONAL = "$tag_version"
39+
if ($git_current_tag -match '^([0-9]+\.[0-9]+\.[0-9]+)$' -Or $git_current_tag -match '([0-9]+[\.-][0-9]+[\.-][0-9]+-[-A-Za-z0-9]+)') {
40+
$env:VERSION_INFORMATIONAL = "$git_current_tag"
4341
}
44-
}
45-
else
46-
{
42+
} else {
43+
### OTHERWISE IT'S A REGULAR BUILD
4744
try {
45+
### TRY TO GET VERSION FROM THE LATEST GITHUB TAG/REALEASE
4846
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
49-
$github_last_release=(Invoke-WebRequest -Uri https://api.github.com/repos/$env:APPVEYOR_REPO_NAME/releases/latest) -join '`n' | ConvertFrom-Json
50-
$github_tag_name=$github_last_release.tag_name
51-
if ($github_tag_name -match '^([0-9]+\.[0-9]+\.[0-9]+)$')
52-
{
53-
$github_tag_ver = [version]$github_tag_name
54-
$github_tag_name = "{0}.{1}.{2}" -f $github_tag_ver.Major, $github_tag_ver.Minor, ($github_tag_ver.Build + 1)
47+
$github_last_release=(Invoke-WebRequest -Uri $env:GITHUB_REPO_API) -join '`n' | ConvertFrom-Json
48+
$github_last_tag=$github_last_release.tag_name.TrimStart("v")
49+
if ($github_last_tag -match '^([0-9]+\.[0-9]+\.[0-9]+)$') {
50+
$github_tag_ver = [version]$github_last_tag
51+
$github_last_tag = "{0}.{1}.{2}" -f $github_tag_ver.Major, $github_tag_ver.Minor, ($github_tag_ver.Build + 1)
5552
}
56-
$env:VERSION_INFORMATIONAL = $github_tag_name
53+
$env:VERSION_INFORMATIONAL = $github_last_tag
5754
} catch {
5855
$env:VERSION_INFORMATIONAL = "1.0.0"
5956
Write-Host "Failed to get version from the last GitHub release falling back on '$env:VERSION_INFORMATIONAL' base version";
6057
}
6158
62-
$env:VERSION_INFORMATIONAL = "$env:VERSION_INFORMATIONAL$env:VERSION_SUFFIX"
59+
$env:VERSION_INFORMATIONAL = "$env:VERSION_INFORMATIONAL$env:VERSION_UNSTABLE_SUFFIX"
6360
}
6461
62+
### MAKE CALCULATED INFORMATIONAL VERSION THE ACTUAL BUILD VERSION
6563
Update-AppveyorBuild -Version $env:VERSION_INFORMATIONAL
6664
Write-Host "Using build version: $env:APPVEYOR_BUILD_VERSION";
6765
68-
6966
dotnet_csproj:
7067
patch: true
7168
file: '**\*.csproj'

0 commit comments

Comments
 (0)