1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/appveyor.yml
k0kubun 2e4d149d31 appveyor.yml: reorder jobs
to reduce time to get all green. As we have 3 parallelism on AppVeyor,
running the slow msys2 job first doesn't have significant impact on
job priorities, but at the same time this would reduce the time that
only msys2 is running alone at last.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65052 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-13 01:47:55 +00:00

139 lines
5.2 KiB
YAML

---
version: '{build}'
shallow_clone: true
platform:
- x64
environment:
ruby_version: "24-%Platform%"
zlib_version: "1.2.11"
matrix:
- build: msys2
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
- build: vs
vs: 120
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2013
- build: vs
vs: 140
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
notifications:
- provider: Webhook
url:
secure: iMINHMS0nZabaDsxN9omRDsekxzVvAAzEq5ev7lN6vZ6r9zNhl3/F/7POIVyahAwVFpRDeQT/iUugpAGWmOt3eGL/lZIdqiJFZ9DjPSkP68= # #alerts
method: POST
# "icon_url" is the url used by `provider: Slack`
body: >-
{{^isPullRequest}}
{
"attachments": [
{
"title": "Build {{projectName}} {{buildVersion}} {{status}}",
"fallback": "AppVeyor Build {{projectName}} {{buildVersion}} {{status}}",
"title_link": "{{buildUrl}}",
"text": "Commit <{{commitUrl}}|{{commitId}}> by {{commitAuthor}} on {{commitDate}}: _{{commitMessage}}_",
{{#passed}}
"color": "#44ee44"
{{/passed}}
{{#failed}}
"color": "#ee4444"
{{/failed}}
}
],
"icon_url": "https://slack-files2.s3-us-west-2.amazonaws.com/bot_icons/2018-02-10/314363543719_48.png",
"username": "AppVeyor CI"
}
{{/isPullRequest}}
on_build_success: false
on_build_failure: true
on_build_status_changed: true
for:
-
matrix:
only:
- build: vs
install:
- ver
- chcp
- SET BITS=%Platform:x86=32%
- SET BITS=%BITS:x=%
- SET OPENSSL_DIR=c:\OpenSSL-Win%BITS%
- 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% touch-unicode-files
- nmake %mflags% up incs UNICODE_FILES=.
- del Makefile
- mkdir \usr\local\bin
- mkdir \usr\local\include
- mkdir \usr\local\lib
- appveyor DownloadFile https://zlib.net/zlib%zlib_version:.=%.zip
- 7z x -o%APPVEYOR_BUILD_FOLDER%\ext\zlib zlib%zlib_version:.=%.zip
- for %%I in (%OPENSSL_DIR%\*.dll) do mklink /h \usr\local\bin\%%~nxI %%I
- mkdir %Platform%-mswin_%vs%
- ps: Get-ChildItem "win32" -Recurse | foreach {$_.Attributes = 'Readonly'}
- ps: Get-Item $env:Platform"-mswin_"$env:vs | foreach {$_.Attributes = 'Normal'}
build_script:
- cd %APPVEYOR_BUILD_FOLDER%
- cd %Platform%-mswin_%vs%
- ..\win32\configure.bat --without-ext=+,dbm,gdbm,readline --with-opt-dir=/usr/local --with-openssl-dir=%OPENSSL_DIR:\=/%
- nmake -l
- nmake install-nodoc
- \usr\bin\ruby -v -e "p :locale => Encoding.find('locale'), :filesystem => Encoding.find('filesystem')"
test_script:
- set /a JOBS=%NUMBER_OF_PROCESSORS%
- nmake -l "TESTOPTS=-v -q" btest
- nmake -l "TESTOPTS=-v -q" test-basic
- nmake -l "TESTOPTS=-q -j%JOBS% --subprocess-timeout-scale=1.5 --exclude win32ole --exclude test_syntax" test-all RUBY_FORCE_TEST_JIT=1
# separately execute tests that may crash worker without -j.
- nmake -l "TESTOPTS=-q --subprocess-timeout-scale=1.5" test-all TESTS="../test/win32ole ../test/ruby/test_syntax.rb"
- nmake -l test-spec
-
matrix:
only:
- build: msys2
install:
- ver
- chcp
- set /a JOBS=%NUMBER_OF_PROCESSORS%
- set MSYS_NO_PATHCONV=1
- SET MSYSTEM=%Platform:x86=32%
- SET MSYSTEM=%MSYSTEM:x=MINGW%
- SET MSYS2_ARCH=%Platform:x86=i686%
- SET MSYS2_ARCH=%MSYS2_ARCH:x64=x86_64%
- set MSYSTEM_PREFIX=/mingw64
- set MINGW_CHOST=%MSYS2_ARCH%-w64-mingw32
- SET ruby_path=C:\Ruby%ruby_version:-x86=%
- cd ..
- mkdir build
- mkdir install
- SET PATH=%ruby_path%\bin;C:\msys64\%MSYSTEM%\bin;C:\msys64\usr\bin;%PATH%
- ruby --version
build_script:
# always update database
- pacman -Sy
- pacman -S --noconfirm --needed --noprogressbar mingw-w64-x86_64-toolchain
- pacman -S --noconfirm --needed --noprogressbar mingw-w64-x86_64-gdbm mingw-w64-x86_64-gmp mingw-w64-x86_64-libffi mingw-w64-x86_64-ncurses mingw-w64-x86_64-readline mingw-w64-x86_64-zlib
- cd %APPVEYOR_BUILD_FOLDER%
- set CFLAGS=-march=%MSYS2_ARCH:_=-% -mtune=generic -O3 -pipe
- set CXXFLAGS=%CFLAGS%
- set CPPFLAGS=-D_FORTIFY_SOURCE=2 -D__USE_MINGW_ANSI_STDIO=1 -DFD_SETSIZE=2048
- set LDFLAGS=-pipe
- sh -c "autoreconf -fi"
- cd ..\build
- sh ../ruby/configure --disable-install-doc --prefix=/. --build=%MINGW_CHOST% --host=%MINGW_CHOST% --target=%MINGW_CHOST%
- mingw32-make -j%JOBS% up
- mingw32-make -j%JOBS%
- mingw32-make DESTDIR=../install install-nodoc
test_script:
- mingw32-make test
- mingw32-make test-all TESTOPTS="-j %JOBS% --retry --job-status=normal --show-skip --subprocess-timeout-scale=1.5" RUBY_FORCE_TEST_JIT=1 V=1
- mingw32-make test-spec MSPECOPT=-j