forked from puppetlabs/puppet
-
Notifications
You must be signed in to change notification settings - Fork 0
/
appveyor.yml
79 lines (75 loc) · 2.85 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
version: 4.1.0.{build}
clone_depth: 10
install:
build: off
matrix:
fast_finish: true
# Ruby versions under test
platform:
- Ruby24-x64
- Ruby21-x64
# Note that locales are mainly code page changes and are not the FULL set of localization
# changes that happen when you install French/Germam/Japanese etc. Windows
environment:
matrix:
- LOCALE: en-US
- LOCALE: ja-JP
before_test:
# Semicolons are required below. This renders as a single line powershell command in AppVeyor
- ps: >-
[string]$testLocale = [Environment]::GetEnvironmentVariable("LOCALE","Process");
$currentLocale = (Get-WinSystemLocale).Name;
if ($testLocale -ne '') {
if ($testLocale -ne $currentLocale) {
Write-Output "Setting Locale to $testLocale ...";
Set-WinSystemLocale ($testLocale);
Write-Output "Restarting worker in 5 seconds...";
Start-Sleep -Seconds 5
Restart-Computer -Force -Confirm:$false;
} else {
Write-Output "Locale is already set to $currentLocale";
};
} else {
Write-Output "LOCALE environment variable not set";
};
test_script:
# The sleep is needed to allow the Appveyor tracing to start correctly after a reboot (locale change)
# - ps: Start-Sleep -Seconds 5
- timeout 6
- ps: |
chcp
Get-WinSystemLocale
$Env:PATH = "C:\${Env:PLATFORM}\bin;${Env:PATH}"
$Env:LOG_SPEC_ORDER = 'true'
Get-ChildItem Env: | % { Write-Output "$($_.Key): $($_.Value)" }
# list current OpenSSL install
gem list openssl
ruby -ropenssl -e 'puts \"OpenSSL Version - #{OpenSSL::OPENSSL_VERSION}\"; puts \"OpenSSL Library Version - #{OpenSSL::OPENSSL_LIBRARY_VERSION}\"'
if ( $(ruby --version) -match "^ruby\s+2\.4" ) {
# AppVeyor appears to have OpenSSL headers available already
# which msys2 would normally install with:
# pacman -S mingw-w64-x86_64-openssl --noconfirm
Write-Output "Building OpenSSL gem ~> 2.0.4 to fix Ruby 2.4 / AppVeyor issue"
gem install openssl --version '~> 2.0.4' --no-ri --no-rdoc -- --with-openssl-dir=C:\msys64\mingw64 '2>&1'
# verify new installation
gem list openssl
ruby -ropenssl -e 'puts \"OpenSSL Version - #{OpenSSL::OPENSSL_VERSION}\"; puts \"OpenSSL Library Version - #{OpenSSL::OPENSSL_LIBRARY_VERSION}\"'
}
bundle install --jobs 4 --retry 2 --without development extra
Get-Content Gemfile.lock
ruby -v
gem --version
bundle --version
bundle exec rake parallel:spec[2]
$exitCode = $LASTEXITCODE
Write-Output "Spec run exited with $exitCode"
$host.SetShouldExit($exitCode)
on_failure:
- appveyor PushArtifact .\spec_order.txt
notifications:
- provider: Email
to:
- nobody@nowhere.com
on_build_success: false
on_build_failure: false
on_build_status_changed: false