Split annocheck same as f5b6b3dba7b32dcd1f15c150dd78dce6c0d92b1e #674
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Windows | |
on: | |
push: | |
paths-ignore: | |
- 'doc/**' | |
- '**/man' | |
- '**.md' | |
- '**.rdoc' | |
- '**/.document' | |
pull_request: | |
paths-ignore: | |
- 'doc/**' | |
- '**/man' | |
- '**.md' | |
- '**.rdoc' | |
- '**/.document' | |
merge_group: | |
paths-ignore: | |
- 'doc/**' | |
- '**/man' | |
- '**.md' | |
- '**.rdoc' | |
- '**/.document' | |
concurrency: | |
group: ${{ github.workflow }} / ${{ startsWith(github.event_name, 'pull') && github.ref_name || github.sha }} | |
cancel-in-progress: ${{ startsWith(github.event_name, 'pull') }} | |
permissions: | |
contents: read | |
jobs: | |
make: | |
strategy: | |
matrix: | |
include: | |
- vs: 2019 | |
- vs: 2022 | |
fail-fast: false | |
runs-on: windows-${{ matrix.vs < 2022 && '2019' || matrix.vs }} | |
if: ${{ !contains(github.event.head_commit.message, '[DOC]') && !contains(github.event.pull_request.labels.*.name, 'Documentation') }} | |
name: VisualStudio ${{ matrix.vs }} | |
env: | |
GITPULLOPTIONS: --no-tags origin ${{github.ref}} | |
PATCH: C:\msys64\usr\bin\patch.exe | |
OS_VER: windows-${{ matrix.vs < 2022 && '2019' || matrix.vs }} | |
steps: | |
- run: md build | |
working-directory: | |
- uses: msys2/setup-msys2@d40200dc2db4c351366b048a9565ad82919e1c24 # v2 | |
id: setup-msys2 | |
with: | |
update: true | |
install: bison patch | |
- name: patch path | |
shell: msys2 {0} | |
run: echo PATCH=$(cygpath -wa $(command -v patch)) >> $GITHUB_ENV | |
if: ${{ steps.setup-msys2.outcome == 'success' }} | |
- uses: actions/cache@c17f4bf4666a8001b1a45c09eb7a485c41aa64c3 # v3.2.0 | |
with: | |
path: C:\vcpkg\downloads | |
key: ${{ runner.os }}-vcpkg-download-${{ env.OS_VER }}-${{ github.sha }} | |
restore-keys: | | |
${{ runner.os }}-vcpkg-download-${{ env.OS_VER }}- | |
${{ runner.os }}-vcpkg-download- | |
- uses: actions/cache@c17f4bf4666a8001b1a45c09eb7a485c41aa64c3 # v3.2.0 | |
with: | |
path: C:\vcpkg\installed | |
key: ${{ runner.os }}-vcpkg-installed-${{ matrix.os }}-${{ github.sha }} | |
restore-keys: | | |
${{ runner.os }}-vcpkg-installed-${{ matrix.os }}- | |
${{ runner.os }}-vcpkg-installed- | |
- name: Install libraries with vcpkg | |
run: | | |
vcpkg --triplet x64-windows install libffi libyaml openssl readline zlib | |
- name: git config | |
run: | | |
git config --global core.autocrlf false | |
git config --global core.eol lf | |
git config --global advice.detachedHead 0 | |
git config --global init.defaultBranch garbage | |
- uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b # v3.2.0 | |
with: | |
path: src | |
- uses: actions/cache@c17f4bf4666a8001b1a45c09eb7a485c41aa64c3 # v3.2.0 | |
with: | |
path: src/.downloaded-cache | |
key: downloaded-cache | |
- name: setup env | |
# %TEMP% is inconsistent with %TMP% and test-all expects they are consistent. | |
# https://github.com/actions/virtual-environments/issues/712#issuecomment-613004302 | |
# msys2/setup-msys2 installs MSYS2 to D:/a/_temp/msys64/usr/bin | |
run: | | |
set Path=D:/a/_temp/msys64/usr/bin;%Path% | |
set VS=${{ matrix.vs }} | |
set VCVARS=${{ matrix.vcvars }} | |
if not "%VCVARS%" == "" goto :vcset | |
set VCVARS="C:\Program Files (x86)\Microsoft Visual Studio\%VS%\Enterprise\VC\Auxiliary\Build\vcvars64.bat" | |
if not exist %VCVARS% set VCVARS="C:\Program Files\Microsoft Visual Studio\%VS%\Enterprise\VC\Auxiliary\Build\vcvars64.bat" | |
:vcset | |
set | C:\msys64\usr\bin\sort > old.env | |
call %VCVARS% | |
set TMP=%USERPROFILE%\AppData\Local\Temp | |
set TEMP=%USERPROFILE%\AppData\Local\Temp | |
set /a TEST_JOBS=(15 * %NUMBER_OF_PROCESSORS% / 10) > nul | |
set | C:\msys64\usr\bin\sort > new.env | |
C:\msys64\usr\bin\comm -13 old.env new.env >> %GITHUB_ENV% | |
del *.env | |
- name: compiler version | |
run: cl | |
- name: link libraries | |
run: | | |
for %%I in (C:\vcpkg\installed\x64-windows\bin\*.dll) do ( | |
if not %%~nI == readline mklink %%~nxI %%I | |
) | |
for %%I in (libcrypto-1_1-x64 libssl-1_1-x64) do ( | |
ren c:\Windows\System32\%%I.dll %%I.dll_ | |
) | |
- name: Configure | |
run: >- | |
../src/win32/configure.bat --disable-install-doc | |
--with-opt-dir=C:/vcpkg/installed/x64-windows | |
- run: nmake incs | |
- run: nmake extract-extlibs | |
- run: nmake | |
env: | |
YACC: bison.exe | |
- run: nmake test | |
timeout-minutes: 5 | |
- run: nmake test-spec | |
timeout-minutes: 10 | |
- run: nmake test-all | |
env: | |
RUBY_TESTOPTS: -j${{env.TEST_JOBS}} --job-status=normal | |
timeout-minutes: 60 | |
- uses: ruby/action-slack@b6882ea6ef8f556f9f9af9ec1220d3f1ced74acf # v3.0.0 | |
with: | |
payload: | | |
{ | |
"ci": "GitHub Actions", | |
"env": "VS${{ matrix.vs }} / ${{ matrix.test_task || 'check' }}", | |
"url": "https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}", | |
"commit": "${{ github.sha }}", | |
"branch": "${{ github.ref_name }}" | |
} | |
env: | |
SLACK_WEBHOOK_URL: ${{ secrets.SIMPLER_ALERTS_URL }} # ruby-lang slack: ruby/simpler-alerts-bot | |
if: ${{ failure() && github.event_name == 'push' }} | |
defaults: | |
run: | |
working-directory: build | |
shell: cmd |