-
Notifications
You must be signed in to change notification settings - Fork 100
130 lines (124 loc) · 7.86 KB
/
windows.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
name: windows
defaults:
run:
# Use a bash shell so we can use the same syntax for environment variable
# access regardless of the host operating system
shell: bash -e -x {0}
on:
# https://github.community/t/how-to-trigger-an-action-on-push-or-pull-request-but-not-both/16662
workflow_dispatch:
push:
branches:
- master
pull_request:
branches:
- master
env:
PROJ_PFX_TARGET: ryml-
PROJ_PFX_CMAKE: RYML_
CMAKE_FLAGS: -DRYML_TEST_SUITE=ON
NUM_JOBS_BUILD: # 4
jobs:
vs:
name: ${{matrix.cxx}}/c++${{matrix.std}}/${{matrix.bt}}
if: |
(!contains(github.event.head_commit.message, 'skip all')) ||
(!contains(github.event.head_commit.message, 'skip windows')) ||
contains(github.event.head_commit.message, 'only windows')
continue-on-error: true
runs-on: ${{matrix.os}}
strategy:
fail-fast: false
matrix:
include:
# vs2017 is only availble in windows-2016
#- {std: 11, cxx: vs2017, bt: Debug , os: windows-2016, bitlinks: shared64 static32}
#- {std: 11, cxx: vs2017, bt: Release, os: windows-2016, bitlinks: shared64 static32}
#- {std: 14, cxx: vs2017, bt: Debug , os: windows-2016, bitlinks: shared64 static32}
#- {std: 14, cxx: vs2017, bt: Release, os: windows-2016, bitlinks: shared64 static32}
#
- {std: 11, cxx: vs2019, bt: Debug , os: windows-2019, bitlinks: shared64 static32}
- {std: 11, cxx: vs2019, bt: Release, os: windows-2019, bitlinks: shared64 static32}
- {std: 17, cxx: vs2019, bt: Debug , os: windows-2019, bitlinks: shared64 static32}
- {std: 17, cxx: vs2019, bt: Release, os: windows-2019, bitlinks: shared64 static32}
#
- {std: 11, cxx: vs2022, bt: Debug , os: windows-2022, bitlinks: shared64 static32}
- {std: 11, cxx: vs2022, bt: Release, os: windows-2022, bitlinks: shared64 static32}
- {std: 17, cxx: vs2022, bt: Debug , os: windows-2022, bitlinks: shared64 static32}
- {std: 17, cxx: vs2022, bt: Release, os: windows-2022, bitlinks: shared64 static32}
- {std: 20, cxx: vs2022, bt: Debug , os: windows-2022, bitlinks: shared64 static32}
- {std: 20, cxx: vs2022, bt: Release, os: windows-2022, bitlinks: shared64 static32}
env: {STD: "${{matrix.std}}", CXX_: "${{matrix.cxx}}", BT: "${{matrix.bt}}", BITLINKS: "${{matrix.bitlinks}}", VG: "${{matrix.vg}}", SAN: "${{matrix.san}}", LINT: "${{matrix.lint}}", OS: "${{matrix.os}}"}
steps:
- {name: checkout, uses: actions/checkout@v4, with: {submodules: recursive}}
- {name: install requirements, run: source .github/reqs.sh && c4_install_test_requirements $OS}
- {name: show info, run: source .github/setenv.sh && c4_show_info}
- name: shared64-configure---------------------------------------------------
run: source .github/setenv.sh && c4_cfg_test shared64
- {name: shared64-build, run: source .github/setenv.sh && c4_build_test shared64}
- {name: shared64-run, run: source .github/setenv.sh && c4_run_test shared64}
- {name: shared64-pack, run: source .github/setenv.sh && c4_package shared64}
- name: static64-configure---------------------------------------------------
run: source .github/setenv.sh && c4_cfg_test static64
- {name: static64-build, run: source .github/setenv.sh && c4_build_test static64}
- {name: static64-run, run: source .github/setenv.sh && c4_run_test static64}
- {name: static64-pack, run: source .github/setenv.sh && c4_package static64}
- name: shared32-configure---------------------------------------------------
run: source .github/setenv.sh && c4_cfg_test shared32
- {name: shared32-build, run: source .github/setenv.sh && c4_build_test shared32}
- {name: shared32-run, run: source .github/setenv.sh && c4_run_test shared32}
- {name: shared32-pack, run: source .github/setenv.sh && c4_package shared32}
- name: static32-configure---------------------------------------------------
run: source .github/setenv.sh && c4_cfg_test static32
- {name: static32-build, run: source .github/setenv.sh && c4_build_test static32}
- {name: static32-run, run: source .github/setenv.sh && c4_run_test static32}
- {name: static32-pack, run: source .github/setenv.sh && c4_package static32}
# TODO:
# mingw:
# name: mingw/${{matrix.platform}}/c++${{matrix.std}}/${{matrix.bt}}
# if: |
# (!contains(github.event.head_commit.message, 'skip all')) ||
# (!contains(github.event.head_commit.message, 'skip windows')) ||
# contains(github.event.head_commit.message, 'only windows')
# continue-on-error: true
# runs-on: ${{matrix.os}}
# strategy:
# fail-fast: false
# matrix:
# include:
# - {std: 11, platform: x86, cxx: i686-w64-mingw32-g++, bt: Debug , os: windows-latest, bitlinks: shared32 static32}
# - {std: 11, platform: x64, cxx: x86_64-w64-mingw32-g++, bt: Debug , os: windows-latest, bitlinks: shared64 static64}
# - {std: 11, platform: x86, cxx: i686-w64-mingw32-g++, bt: Release, os: windows-latest, bitlinks: shared32 static32}
# - {std: 11, platform: x64, cxx: x86_64-w64-mingw32-g++, bt: Release, os: windows-latest, bitlinks: shared64 static64}
# - {std: 17, platform: x86, cxx: i686-w64-mingw32-g++, bt: Debug , os: windows-latest, bitlinks: shared32 static32}
# - {std: 17, platform: x64, cxx: x86_64-w64-mingw32-g++, bt: Debug , os: windows-latest, bitlinks: shared64 static64}
# - {std: 17, platform: x86, cxx: i686-w64-mingw32-g++, bt: Release, os: windows-latest, bitlinks: shared32 static32}
# - {std: 17, platform: x64, cxx: x86_64-w64-mingw32-g++, bt: Release, os: windows-latest, bitlinks: shared64 static64}
# env: {STD: "${{matrix.std}}", CXX_: "${{matrix.cxx}}", BT: "${{matrix.bt}}", BITLINKS: "${{matrix.bitlinks}}", VG: "${{matrix.vg}}", SAN: "${{matrix.san}}", LINT: "${{matrix.lint}}", OS: "${{matrix.os}}"}
# steps:
# - {name: checkout, uses: actions/checkout@v4, with: {submodules: recursive}}
# - {name: install requirements, run: source .github/reqs.sh && c4_install_test_requirements $OS}
# - name: install mingw
# uses: egor-tensin/setup-mingw@v2
# with:
# platform: "${{matrix.platform}}"
# - name: shared64-configure---------------------------------------------------
# run: source .github/setenv.sh && c4_cfg_test shared64
# - {name: shared64-build, run: source .github/setenv.sh && c4_build_test shared64}
# - {name: shared64-run, run: source .github/setenv.sh && c4_run_test shared64}
# - {name: shared64-pack, run: source .github/setenv.sh && c4_package shared64}
# - name: static64-configure---------------------------------------------------
# run: source .github/setenv.sh && c4_cfg_test static64
# - {name: static64-build, run: source .github/setenv.sh && c4_build_test static64}
# - {name: static64-run, run: source .github/setenv.sh && c4_run_test static64}
# - {name: static64-pack, run: source .github/setenv.sh && c4_package static64}
# - name: shared32-configure---------------------------------------------------
# run: source .github/setenv.sh && c4_cfg_test shared32
# - {name: shared32-build, run: source .github/setenv.sh && c4_build_test shared32}
# - {name: shared32-run, run: source .github/setenv.sh && c4_run_test shared32}
# - {name: shared32-pack, run: source .github/setenv.sh && c4_package shared32}
# - name: static32-configure---------------------------------------------------
# run: source .github/setenv.sh && c4_cfg_test static32
# - {name: static32-build, run: source .github/setenv.sh && c4_build_test static32}
# - {name: static32-run, run: source .github/setenv.sh && c4_run_test static32}
# - {name: static32-pack, run: source .github/setenv.sh && c4_package static32}