ruby/.appveyor.yml

135 строки
4.4 KiB
YAML

---
version: '{build}'
init:
- git config --global user.name git
- git config --global user.email svn-admin@ruby-lang.org
- git config --global core.autocrlf false
- git config --global core.eol lf
- git config --global advice.detachedHead 0
shallow_clone: true
clone_depth: 10
platform:
- x64
skip_commits:
message: /^\[DOC\]/
files:
- doc/*
- '**/*.md'
- '**/*.rdoc'
environment:
ruby_version: "24-%Platform%"
zlib_version: "1.2.11"
matrix:
- build: vs
vs: 120
ssl: OpenSSL
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
GEMS_FOR_TEST: ""
- build: vs
vs: 140
ssl: OpenSSL-v111
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
GEMS_FOR_TEST: ""
RELINE_TEST_ENCODING: "UTF-8"
cache:
- c:\Tools\vcpkg\installed\
for:
-
matrix:
only:
- build: vs
install:
- ver
- chcp
- SET BITS=%Platform:x86=32%
- SET BITS=%BITS:x=%
- SET OPENSSL_DIR=C:\%ssl%-Win%BITS%
- cd C:\Tools\vcpkg
- git pull -q
- .\bootstrap-vcpkg.bat
- cd %APPVEYOR_BUILD_FOLDER%
- vcpkg --triplet %Platform%-windows install libffi libyaml readline zlib
- CALL SET vcvars=%%^VS%VS%COMNTOOLS^%%..\..\VC\vcvarsall.bat
- SET vcvars
- '"%vcvars%" %Platform:x64=amd64%'
- SET ruby_path=C:\Ruby%ruby_version:-x86=%
- SET PATH=\usr\local\bin;%ruby_path%\bin;%PATH%;C:\msys64\mingw64\bin;C:\msys64\usr\bin
- ruby --version
- 'cl'
- echo> Makefile srcdir=.
- echo>> Makefile MSC_VER=0
- echo>> Makefile RT=none
- echo>> Makefile RT_VER=0
- echo>> Makefile BUILTIN_ENCOBJS=nul
- type win32\Makefile.sub >> Makefile
- nmake %mflags% up VCSUP="echo Update OK"
- nmake %mflags% extract-extlibs
- del Makefile
- mkdir \usr\local\bin
- mkdir \usr\local\include
- mkdir \usr\local\lib
- SET ZLIB_ZIP=.downloaded-cache\zlib%zlib_version:.=%.zip
- if not exist %ZLIB_ZIP% curl -fsSL -o %ZLIB_ZIP% --retry 10 https://zlib.net/zlib%zlib_version:.=%.zip
- 7z x -aos -o%APPVEYOR_BUILD_FOLDER%\ext\zlib %ZLIB_ZIP%
- for %%I in (%OPENSSL_DIR%\*.dll) do mklink /h \usr\local\bin\%%~nxI %%I
- for %%I in (c:\Tools\vcpkg\installed\%Platform%-windows\bin\*.dll) do (
if not %%~nI == readline mklink \usr\local\bin\%%~nxI %%I
)
- attrib +r /s /d
- mkdir %Platform%-mswin_%vs%
build_script:
- cd %APPVEYOR_BUILD_FOLDER%
- cd %Platform%-mswin_%vs%
- >-
..\win32\configure.bat
--with-opt-dir="/usr/local;c:/Tools/vcpkg/installed/%Platform%-windows"
--with-openssl-dir=%OPENSSL_DIR:\=/%
- nmake -l
- nmake install-nodoc
- \usr\bin\ruby -v -e "p :locale => Encoding.find('locale'), :filesystem => Encoding.find('filesystem')"
- if not "%GEMS_FOR_TEST%" == "" \usr\bin\gem install --no-document %GEMS_FOR_TEST%
- \usr\bin\ruby -ropenssl -e "puts 'Build ' + OpenSSL::OPENSSL_VERSION, 'Runtime ' + OpenSSL::OPENSSL_LIBRARY_VERSION"
test_script:
- set /a JOBS=%NUMBER_OF_PROCESSORS%
- nmake -l "TESTOPTS=-v -q" btest
- nmake -l "TESTOPTS=-v -q" test-basic
- >-
nmake -l "TESTOPTS=-v --timeout-scale=3.0
--excludes=../test/excludes/_appveyor -j%JOBS%
--exclude win32ole
--exclude test_bignum
--exclude test_syntax
--exclude test_open-uri
--exclude test_bundled_ca
" test-all
# separately execute tests without -j which may crash worker with -j.
- >-
nmake -l
"TESTOPTS=-v --timeout-scale=3.0 --excludes=../test/excludes/_appveyor"
TESTS="
../test/win32ole
../test/ruby/test_bignum.rb
../test/ruby/test_syntax.rb
../test/open-uri/test_open-uri.rb
../test/rubygems/test_bundled_ca.rb
" test-all
- nmake -l test-spec MSPECOPT=-fs # not using `-j` because sometimes `mspec -j` silently dies on Windows
notifications:
- provider: Webhook
method: POST
url:
secure: CcFlJNDJ/a6to7u3Z4Fnz6dScEPNx7hTha2GkSRlV+1U6dqmxY/7uBcLXYb9gR3jfQk6w+2o/HrjNAyXMNGU/JOka3s2WRI4VKitzM+lQ08owvJIh0R7LxrGH0J2e81U # ruby-lang slack: ruby/simpler-alerts-bot
body: >-
{{^isPullRequest}}
{
"ci": "AppVeyor CI",
"env": "Visual Studio 2013 / 2015",
"url": "{{buildUrl}}",
"commit": "{{commitId}}",
"branch": "{{branch}}"
}
{{/isPullRequest}}
on_build_success: false
on_build_failure: true
on_build_status_changed: false