1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/.github/workflows/windows.yml
Takashi Kokubun fd20b32130
Make GitHub Actions Slack notification consistent
with Travis, rather than AppVeyor.

Formerly it was made similar to AppVeyor to provide some normal set of
CI failure notification. But for some reason people preferred a shorter
variant and introduced a1d606c079 and
d8d8015b93.

Instead of AppVeyor format, this commit chose Travis-like format to achieve
consistency and to include usual CI-failure information, while keeping
it one-liner for people who prefer short notifications.

Note that this shrinks the 40-char sha to 10-char, using the new feature
of k0kubun/action-slack@v2.0.0:
1c88a05dac
2019-08-22 23:10:55 +09:00

70 lines
3 KiB
YAML

name: windows
on:
push:
branches:
- master
pull_request:
branches:
- '*'
jobs:
latest:
strategy:
matrix:
os: [windows-2016, windows-2019]
vs: [2017, 2019]
test_task: [test]
exclude:
- os: windows-2016
vs: 2019
- os: windows-2019
vs: 2017
fail-fast: false
runs-on: ${{ matrix.os }}
steps:
- name: Install libraries with vcpkg
run: |
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
- name: Install libraries with chocolatey
run: choco install winflexbison3
# Not using official actions/checkout because it's unstable and sometimes doesn't work for a fork.
- name: Checkout ruby/ruby
run: git clone --depth=50 https://github.com/ruby/ruby . && git reset --hard ${{ github.sha }}
if: github.event_name == 'push'
- name: Checkout a pull request
run: git clone --depth=50 --branch=${{ github.event.pull_request.head.ref }} https://github.com/${{ github.event.pull_request.head.repo.full_name }} . && git reset --hard ${{ github.event.pull_request.head.sha }}
if: github.event_name == 'pull_request'
- name: configure
run: |
call "C:\Program Files (x86)\Microsoft Visual Studio\${{ matrix.vs }}\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
win32/configure.bat --disable-install-doc --without-ext=+,dbm,gdbm --enable-bundled-libffi --with-opt-dir=C:/vcpkg/installed/x64-windows
- name: nmake
run: |
call "C:\Program Files (x86)\Microsoft Visual Studio\${{ matrix.vs }}\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
set YACC=win_bison
nmake up
nmake
- name: nmake test
run: |
call "C:\Program Files (x86)\Microsoft Visual Studio\${{ matrix.vs }}\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
nmake ${{ matrix.test_task }}
if: "!contains(github.event.head_commit.message, '[ci skip]')"
- uses: k0kubun/action-slack@v2.0.0
with:
payload: |
{
"attachments": [{
"text": "${{ job.status}}: <https://github.com/${{ github.repository }}/commit/${{ github.sha }}/checks|${{ github.workflow }} / ${{ matrix.test_task }}> " +
"(<https://github.com/${{ github.repository }}/commit/${{ github.sha }}|" + "${{ github.sha }}".substring(0, 10) + ">) " +
"of ${{ github.repository }}@" + "${{ github.ref }}".split('/').reverse()[0] + " by ${{ github.event.head_commit.committer.name }}",
"color": "danger"
}]
}
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
if: failure() && github.event_name == 'push'