mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
2e4d149d31
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
139 lines
5.2 KiB
YAML
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
|