--- 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