ruby/azure-pipelines.yml

169 строки
5.0 KiB
YAML

pr: none # comment out this line if you need to test this file on PR
trigger:
- master
jobs:
- job: Linux
pool:
vmImage: 'ubuntu-16.04'
strategy:
matrix:
bundled_gems:
task: test-bundled-gems
bundler:
task: test-bundler
steps:
- task: UseRubyVersion@0
inputs:
versionSpec: '2.6.2'
- script: |
set -x
sudo sed /etc/apt/sources.list -e "s/^# deb-src/deb-src/g" -i
sudo apt-get update
sudo apt-get build-dep ruby2.3
displayName: "Install dependencies"
- checkout: self
fetchDepth: 10
- script: |
autoconf
./configure
make
displayName: 'make'
- script: |
make $(task) TRAVIS=1 TEST_BUNDLED_GEMS_ALLOW_FAILURES=minitest
displayName: "test"
continueOnError: true # test-bundler is failing on Linux. TODO: fix it and remove this line.
- job: macOS
pool:
vmImage: 'macos-10.13'
strategy:
matrix:
# test:
# task: test test-all
# spec:
# task: test-spec
bundled_gems:
task: test-bundled-gems
bundler:
task: test-bundler
steps:
- script: brew update && brew install autoconf bison openssl
displayName: "Install dependencies"
- checkout: self
fetchDepth: 10
- script: |
autoconf
./configure --with-openssl-dir=/usr/local/opt/openssl
make
displayName: 'make'
- script: |
make $(task) TEST_BUNDLED_GEMS_ALLOW_FAILURES=minitest
displayName: "test"
continueOnError: true # test-bundler is failing on macOS. TODO: fix it and remove this line.
# - job: vs2015
# pool:
# vmImage: "vs2015-win2012r2"
# strategy:
# matrix:
# test:
# task: test test-all
# spec:
# task: test-spec
# bundled_gems:
# task: test-bundled-gems
# bundler:
# task: test-bundler
# steps:
# - script: vcpkg --triplet x64-windows install openssl readline zlib
# - script: |
# call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\x86_amd64\vcvarsx86_amd64.bat"
# cinst winflexbison
# win32/configure.bat --without-ext=+,dbm,gdbm --enable-bundled-libffi --with-opt-dir=C:/vcpkg/installed/x64-windows
# displayName: 'configure'
# - script: |
# call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\x86_amd64\vcvarsx86_amd64.bat"
# set YACC=win_bison
# nmake up
# nmake
# set TRAVIS=1
# nmake $(task)
# displayName: "nmake"
- job: vs2017
pool:
vmImage: 'vs2017-win2016'
# strategy:
# matrix:
# test:
# task: test test-all
# spec:
# task: test-spec
# bundled_gems:
# task: test-bundled-gems
# bundler:
# task: test-bundler
steps:
# FIXME: Refactor this. Note that %errorlevel% does not work in for loop.
- script: |
vcpkg --triplet x64-windows install %dependencies% || (
sleep 4 && vcpkg --triplet x64-windows install %dependencies%
) || (
sleep 25 && vcpkg --triplet x64-windows install %dependencies%
)
env:
dependencies: openssl readline zlib
displayName: "Install dependencies"
timeoutInMinutes: 20
continueOnError: true # unstable. TODO: somehow use VM having these dependencies beforehand, and remove this `continueOnError`
- checkout: self
fetchDepth: 10
- script: |
call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
cinst winflexbison
win32/configure.bat --without-ext=+,dbm,gdbm --enable-bundled-libffi --with-opt-dir=C:/vcpkg/installed/x64-windows
displayName: 'configure'
continueOnError: true # "Install dependencies" is continueOnError
- script: |
call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
set YACC=win_bison
nmake up
nmake
# set TRAVIS=1
# nmake $(task)
displayName: "nmake"
continueOnError: true # "Install dependencies" is continueOnError
- job: vs2019
pool:
vmImage: "windows-2019"
# strategy:
# matrix:
# test:
# task: test test-all
# spec:
# task: test-spec
# bundled_gems:
# task: test-bundled-gems
# bundler:
# task: test-bundler
steps:
# - script: vcpkg --triplet x64-windows install openssl readline zlib
- checkout: self
fetchDepth: 10
- script: |
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Preview\VC\Auxiliary\Build\vcvars64.bat"
cinst winflexbison
win32/configure.bat --without-ext=+,dbm,gdbm --enable-bundled-libffi --with-opt-dir=C:/vcpkg/installed/x64-windows
displayName: 'configure'
continueOnError: true # this started to fail after the vs2019 launch. TODO: fix it and remove this line.
- script: |
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Preview\VC\Auxiliary\Build\vcvars64.bat"
set YACC=win_bison
nmake up
nmake
# set TRAVIS=1
# nmake $(task)
displayName: "nmake"
continueOnError: true # TODO: make 'configure' functional and remove this line.