forked from flcdrg/au-packages
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.appveyor.yml
136 lines (112 loc) · 4.54 KB
/
.appveyor.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
# AU template: https://github.com/majkinetor/au-packages-template
version: '{build}'
max_jobs: 1
image: Visual Studio 2022
# History plugin requires complete log
#clone_depth: 5
branches:
only:
- master
#build:
# verbosity: minimal
skip_commits:
files:
- README.md
- .gitignore
- LICENSE
environment:
# Set au version to use or omit to use the latest. Specify branch name to use development version from Github
au_version: fix-warnings # master # 2018.5.18
au_push: true
# Force test: use 1 to test all, or N to split testing into N groups
au_test_groups: 1
# Github token to commit pushed packages to repository
github_user_repo: flcdrg/au-packages
github_api_key:
secure: KBbFWoCLz/Gufse7sQzvXbV6arVLUFTOQrigrC+mNWP43MiU4ufXPoo6kpJY+FB2
# Mail credentials - for error notifications
mail_user:
secure: DekrF4bCfy6smgRyo/QaOF6vVKMgUeQHaGH573bvIU8=
mail_pass:
secure: TtDG3OB+dZhFhBKwrEELJnD9qVPRRJY84qj3TcrONuI=
mail_server: smtp.gmail.com
mail_port: 587
mail_enablessl: true
# ID of the gist used to save run results - create a gist under the github_user (secret or not) and grab the id - https://gist.github.com/name/id
# Optional, leave empty to create anonymous gist
gist_id: 7d00c69c2cde8309a8594abaa897a9a6
# Force test: gist id for test results
gist_id_test:
# Chocolatey API key - to push updated packages
api_key:
secure: cGKnExzBjZmYPLqMSvydRjwR+jmNG8DqR4JxYcUtCABsCK2vXNj04sHRB26EcYjs
# VirusTotal API key
VT_APIKEY:
secure: K9odDHGJ6VKghxpcBUe3Kl+9HWJVx7Vhily9zNei8YtsanyxrguGf3U/FBQILfIvKws0isRbt/9GWYcb6/LepybApl9ZyUePDj+SLe7KL5s=
init:
- git config --global user.email "[email protected]"
- git config --global user.name "flcdrg"
- git config --global core.safecrlf false
install:
- pwsh: |
Get-CimInstance win32_operatingsystem -Property Caption, OSArchitecture, Version | fl Caption, OSArchitecture, Version
$PSVersionTable
[System.Environment]::OSVersion
- git --version
- choco upgrade chocolatey --version=1.2.1 --allow-downgrade
- choco install vt-cli -y
- nuget install -excludeversion
- pwsh: |
git clone -q https://github.com/flcdrg/chocolatey-au.git $Env:TEMP/au
Set-Location $Env:TEMP/au
. "./scripts/Install-AU.ps1" $Env:au_version
- pwsh: |
"Build info"
' {0,-20} {1}' -f 'SCHEDULED BUILD:', ($Env:APPVEYOR_SCHEDULED_BUILD -eq 'true')
' {0,-20} {1}' -f 'FORCED BUILD:' , ($Env:APPVEYOR_FORCED_BUILD -eq 'true')
' {0,-20} {1}' -f 'RE BUILD:' , ($Env:APPVEYOR_RE_BUILD -eq 'true')
# Uncomment the below line if you are using any of the functions from chocolatey-core.extension - https://chocolatey.org/packages/chocolatey-core.extension. Ensure you also have it listed in your package's dependencies
# - cinst chocolatey-core.extension
build_script:
- pwsh: |
$ErrorActionPreference = 'Continue'
if ($Env:APPVEYOR_PROJECT_NAME -like '*test*') { ./test_all.ps1 "random $Env:au_test_groups"; return }
if ( ($Env:APPVEYOR_SCHEDULED_BUILD -ne 'true') -and ($Env:APPVEYOR_FORCED_BUILD -ne 'true') ) {
switch -regex ($Env:APPVEYOR_REPO_COMMIT_MESSAGE)
{
'\[AU (.+?)\]' { $forced = $Matches[1] }
'\[PUSH (.+?)\]' {
$packages = $Matches[1] -split ' '
Write-Host "PUSHING PACKAGES: $packages"
foreach ($package in $packages) {
Write-Host ("{0}`n{1}`n" -f ('-'*60), "PACKAGE: $package")
$package_dir = ls -recurse | ? { $_.Name -eq "$package.nuspec"} | select -First 1 | % Directory
if (!$package_dir) { Write-Warning "Can't find package '$package'"; continue }
pushd $package_dir
if (Test-Path update.ps1 -ea 0) { ./update.ps1 }
choco pack; Push-Package;
popd
}
return
}
}
}
# first pass
./update_all.ps1 -Name resharper-platform,teamcity,*.portable,*.install
# second pass (remainder)
Write-Host "forced $forced"
Write-Output "forced $forced"
./update_all.ps1 -ForcedPackages $forced
7z a au_temp.zip $Env:TEMP\chocolatey\au\*
artifacts:
- path: update_info.xml
- path: Update-AUPackages.md
- path: au_temp.zip
notifications:
- provider: Email
to: $(mail_user)
on_build_success: false
on_build_failure: true
on_build_status_changed: true
#on_finish:
#- pwsh: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))