Skip to content

Commit a8ddf53

Browse files
authored
Add VS 2026 GHAs (#283)
1 parent f2930b0 commit a8ddf53

File tree

8 files changed

+590
-60
lines changed

8 files changed

+590
-60
lines changed

.github/linters/actionlint.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,4 @@ self-hosted-runner:
22
# Workaround until linter is updated
33
labels:
44
- windows-11-arm
5+
- windows-2025-vs2026

.github/workflows/clangcl.yml

Lines changed: 128 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,128 @@
1+
# Copyright (c) Microsoft Corporation.
2+
# Licensed under the MIT License.
3+
#
4+
# http://go.microsoft.com/fwlink/?LinkID=615560
5+
6+
name: 'CMake (clang-cl)'
7+
8+
on:
9+
push:
10+
branches: "main"
11+
paths-ignore:
12+
- '*.md'
13+
- LICENSE
14+
- '.azuredevops/**'
15+
- '.nuget/*'
16+
- build/*.ps1
17+
pull_request:
18+
branches: "main"
19+
paths-ignore:
20+
- '*.md'
21+
- LICENSE
22+
- '.azuredevops/**'
23+
- '.nuget/*'
24+
- build/*.ps1
25+
26+
permissions:
27+
contents: read
28+
29+
jobs:
30+
build:
31+
runs-on: windows-2022
32+
33+
strategy:
34+
fail-fast: false
35+
36+
matrix:
37+
build_type: [x64-Debug-Clang, x64-Release-Clang]
38+
arch: [amd64]
39+
include:
40+
- build_type: x86-Debug-Clang
41+
arch: amd64_x86
42+
- build_type: x86-Release-Clang
43+
arch: amd64_x86
44+
- build_type: arm64-Debug-Clang
45+
arch: amd64_arm64
46+
- build_type: arm64-Release-Clang
47+
arch: amd64_arm64
48+
49+
steps:
50+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
51+
52+
- name: Clone test repository
53+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
54+
with:
55+
repository: walbourn/directxmathtest
56+
path: Tests
57+
ref: main
58+
59+
- name: 'Install Ninja'
60+
run: choco install ninja
61+
62+
- uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0
63+
with:
64+
arch: ${{ matrix.arch }}
65+
66+
- name: 'Configure CMake'
67+
working-directory: ${{ github.workspace }}
68+
run: cmake --preset=${{ matrix.build_type }} -DBUILD_TESTING=ON
69+
70+
- name: 'Build'
71+
working-directory: ${{ github.workspace }}
72+
run: cmake --build out/build/${{ matrix.build_type }}
73+
74+
- if: (matrix.build_type == 'x64-Release-Clang') || (matrix.build_type == 'x86-Release-Clang')
75+
timeout-minutes: 10
76+
name: 'Test'
77+
working-directory: ${{ github.workspace }}
78+
run: ctest --preset=${{ matrix.build_type }} --output-on-failure
79+
80+
build2026:
81+
runs-on: windows-2025-vs2026
82+
83+
strategy:
84+
fail-fast: false
85+
86+
matrix:
87+
build_type: [x64-Debug-Clang, x64-Release-Clang]
88+
arch: [amd64]
89+
include:
90+
- build_type: x86-Debug-Clang
91+
arch: amd64_x86
92+
- build_type: x86-Release-Clang
93+
arch: amd64_x86
94+
- build_type: arm64-Debug-Clang
95+
arch: amd64_arm64
96+
- build_type: arm64-Release-Clang
97+
arch: amd64_arm64
98+
99+
steps:
100+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
101+
102+
- name: Clone test repository
103+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
104+
with:
105+
repository: walbourn/directxmathtest
106+
path: Tests
107+
ref: main
108+
109+
- name: 'Install Ninja'
110+
run: choco install ninja
111+
112+
- uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0
113+
with:
114+
arch: ${{ matrix.arch }}
115+
116+
- name: 'Configure CMake'
117+
working-directory: ${{ github.workspace }}
118+
run: cmake --preset=${{ matrix.build_type }} -DBUILD_TESTING=ON
119+
120+
- name: 'Build'
121+
working-directory: ${{ github.workspace }}
122+
run: cmake --build out/build/${{ matrix.build_type }}
123+
124+
- if: (matrix.build_type == 'x64-Release-Clang') || (matrix.build_type == 'x86-Release-Clang')
125+
timeout-minutes: 10
126+
name: 'Test'
127+
working-directory: ${{ github.workspace }}
128+
run: ctest --preset=${{ matrix.build_type }} --output-on-failure

.github/workflows/main.yml

Lines changed: 50 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -35,15 +35,12 @@ jobs:
3535

3636
matrix:
3737
toolver: ['14.29', '14']
38-
build_type: [x64-Debug, x64-Release, x64-Debug-Clang, x64-Release-Clang]
38+
build_type: [x64-Debug, x64-Release]
3939
arch: [amd64]
4040
include:
4141
- toolver: '14.29'
4242
build_type: x86-Debug
4343
arch: amd64_x86
44-
- toolver: '14.29'
45-
build_type: x86-Debug-Clang
46-
arch: amd64_x86
4744
- toolver: '14'
4845
build_type: x86-Debug
4946
arch: amd64_x86
@@ -62,24 +59,63 @@ jobs:
6259
- toolver: '14'
6360
build_type: arm64ec-Release
6461
arch: amd64_arm64
65-
- toolver: '14'
66-
build_type: x86-Debug-Clang
62+
63+
steps:
64+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
65+
66+
- name: Clone test repository
67+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
68+
with:
69+
repository: walbourn/directxmathtest
70+
path: Tests
71+
ref: main
72+
73+
- name: 'Install Ninja'
74+
run: choco install ninja
75+
76+
- uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0
77+
with:
78+
arch: ${{ matrix.arch }}
79+
toolset: ${{ matrix.toolver }}
80+
81+
- name: 'Configure CMake'
82+
working-directory: ${{ github.workspace }}
83+
run: cmake --preset=${{ matrix.build_type }}
84+
85+
- name: 'Build'
86+
working-directory: ${{ github.workspace }}
87+
run: cmake --build out/build/${{ matrix.build_type }}
88+
89+
build2026:
90+
runs-on: windows-2025-vs2026
91+
92+
strategy:
93+
fail-fast: false
94+
95+
matrix:
96+
build_type: [x64-Debug, x64-Release]
97+
arch: [amd64]
98+
include:
99+
- build_type: x86-Debug
67100
arch: amd64_x86
68-
- toolver: '14'
69-
build_type: x86-Release-Clang
101+
- build_type: x86-Debug
70102
arch: amd64_x86
71-
- toolver: '14'
72-
build_type: arm64-Debug-Clang
103+
- build_type: x86-Release
104+
arch: amd64_x86
105+
- build_type: arm64-Debug
73106
arch: amd64_arm64
74-
- toolver: '14'
75-
build_type: arm64-Release-Clang
107+
- build_type: arm64-Release
108+
arch: amd64_arm64
109+
- build_type: arm64ec-Debug
110+
arch: amd64_arm64
111+
- build_type: arm64ec-Release
76112
arch: amd64_arm64
77113

78114
steps:
79-
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
115+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
80116

81117
- name: Clone test repository
82-
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
118+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
83119
with:
84120
repository: walbourn/directxmathtest
85121
path: Tests
@@ -91,7 +127,6 @@ jobs:
91127
- uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0
92128
with:
93129
arch: ${{ matrix.arch }}
94-
toolset: ${{ matrix.toolver }}
95130

96131
- name: 'Configure CMake'
97132
working-directory: ${{ github.workspace }}

.github/workflows/shmath.yml

Lines changed: 52 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -35,15 +35,12 @@ jobs:
3535

3636
matrix:
3737
toolver: ['14.29', '14']
38-
build_type: [x64-Debug, x64-Release, x64-Debug-Clang, x64-Release-Clang]
38+
build_type: [x64-Debug, x64-Release]
3939
arch: [amd64]
4040
include:
4141
- toolver: '14.29'
4242
build_type: x86-Debug
4343
arch: amd64_x86
44-
- toolver: '14.29'
45-
build_type: x86-Debug-Clang
46-
arch: amd64_x86
4744
- toolver: '14'
4845
build_type: x86-Debug
4946
arch: amd64_x86
@@ -62,24 +59,65 @@ jobs:
6259
- toolver: '14'
6360
build_type: arm64ec-Release
6461
arch: amd64_arm64
65-
- toolver: '14'
66-
build_type: x86-Debug-Clang
62+
63+
steps:
64+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
65+
66+
- name: Clone test repository
67+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
68+
with:
69+
repository: walbourn/directxmathtest
70+
path: Tests
71+
ref: main
72+
73+
- name: 'Install Ninja'
74+
run: choco install ninja
75+
76+
- uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0
77+
with:
78+
arch: ${{ matrix.arch }}
79+
toolset: ${{ matrix.toolver }}
80+
81+
- name: 'Configure CMake'
82+
working-directory: ${{ github.workspace }}
83+
run: >
84+
cmake --preset=${{ matrix.build_type }}
85+
-DBUILD_SHMATH=ON -DBUILD_DX11=ON -DBUILD_DX12=ON
86+
87+
- name: 'Build'
88+
working-directory: ${{ github.workspace }}
89+
run: cmake --build out/build/${{ matrix.build_type }}
90+
91+
build2026:
92+
runs-on: windows-2025-vs2026
93+
94+
strategy:
95+
fail-fast: false
96+
97+
matrix:
98+
build_type: [x64-Debug, x64-Release]
99+
arch: [amd64]
100+
include:
101+
- build_type: x86-Debug
67102
arch: amd64_x86
68-
- toolver: '14'
69-
build_type: x86-Release-Clang
103+
- build_type: x86-Debug
70104
arch: amd64_x86
71-
- toolver: '14'
72-
build_type: arm64-Debug-Clang
105+
- build_type: x86-Release
106+
arch: amd64_x86
107+
- build_type: arm64-Debug
73108
arch: amd64_arm64
74-
- toolver: '14'
75-
build_type: arm64-Release-Clang
109+
- build_type: arm64-Release
110+
arch: amd64_arm64
111+
- build_type: arm64ec-Debug
112+
arch: amd64_arm64
113+
- build_type: arm64ec-Release
76114
arch: amd64_arm64
77115

78116
steps:
79-
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
117+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
80118

81119
- name: Clone test repository
82-
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
120+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
83121
with:
84122
repository: walbourn/directxmathtest
85123
path: Tests
@@ -91,7 +129,6 @@ jobs:
91129
- uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0
92130
with:
93131
arch: ${{ matrix.arch }}
94-
toolset: ${{ matrix.toolver }}
95132

96133
- name: 'Configure CMake'
97134
working-directory: ${{ github.workspace }}

0 commit comments

Comments
 (0)