Skip to content

Commit fe724f2

Browse files
committed
Add GHA for VS2026
1 parent f45ee0f commit fe724f2

File tree

5 files changed

+302
-30
lines changed

5 files changed

+302
-30
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: 144 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,144 @@
1+
# Copyright (c) Microsoft Corporation.
2+
# Licensed under the MIT License.
3+
#
4+
# http://go.microsoft.com/fwlink/?LinkId=248929
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/*.cmd
17+
- build/*.json
18+
- build/*.props
19+
- build/*.ps1
20+
- build/*.targets
21+
pull_request:
22+
branches: "main"
23+
paths-ignore:
24+
- '*.md'
25+
- LICENSE
26+
- '.azuredevops/**'
27+
- '.nuget/*'
28+
- build/*.cmd
29+
- build/*.json
30+
- build/*.props
31+
- build/*.ps1
32+
- build/*.targets
33+
34+
permissions:
35+
contents: read
36+
37+
jobs:
38+
build:
39+
runs-on: windows-2022
40+
41+
strategy:
42+
fail-fast: false
43+
44+
matrix:
45+
build_type: [x64-Debug-Win10-Clang, x64-Release-Win10-Clang]
46+
arch: [amd64]
47+
include:
48+
- build_type: x86-Debug-Win10-Clang
49+
arch: amd64_x86
50+
- build_type: x86-Release-Win10-Clang
51+
arch: amd64_x86
52+
- build_type: arm64-Debug-Clang
53+
arch: amd64_arm64
54+
- build_type: arm64-Release-Clang
55+
arch: amd64_arm64
56+
57+
steps:
58+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
59+
60+
- name: Clone test repository
61+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
62+
with:
63+
repository: walbourn/directxtktest
64+
path: Tests
65+
ref: main
66+
67+
- name: 'Install Ninja'
68+
run: choco install ninja
69+
70+
- uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0
71+
with:
72+
arch: ${{ matrix.arch }}
73+
74+
- name: 'Configure CMake'
75+
working-directory: ${{ github.workspace }}
76+
run: >
77+
cmake --preset=${{ matrix.build_type }} -DBUILD_TESTING=ON
78+
79+
- name: 'Build'
80+
working-directory: ${{ github.workspace }}
81+
run: cmake --build out\build\${{ matrix.build_type }}
82+
83+
- name: 'Clean up'
84+
working-directory: ${{ github.workspace }}
85+
run: Remove-Item -Path out -Recurse -Force
86+
87+
- name: 'Configure CMake (DLL)'
88+
working-directory: ${{ github.workspace }}
89+
run: >
90+
cmake --preset=${{ matrix.build_type }} -DBUILD_TESTING=ON
91+
-DBUILD_SHARED_LIBS=ON
92+
93+
- name: 'Build (DLL)'
94+
working-directory: ${{ github.workspace }}
95+
run: cmake --build out\build\${{ matrix.build_type }}
96+
97+
build2026:
98+
runs-on: windows-2025-vs2026
99+
100+
strategy:
101+
fail-fast: false
102+
103+
matrix:
104+
build_type: [x64-Debug-Win10-Clang, x64-Release-Win10-Clang]
105+
arch: [amd64]
106+
include:
107+
- build_type: x86-Debug-Win10-Clang
108+
arch: amd64_x86
109+
- build_type: x86-Release-Win10-Clang
110+
arch: amd64_x86
111+
- build_type: arm64-Debug-Clang
112+
arch: amd64_arm64
113+
- build_type: arm64-Release-Clang
114+
arch: amd64_arm64
115+
116+
steps:
117+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
118+
119+
- name: 'Install Ninja'
120+
run: choco install ninja
121+
122+
- uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0
123+
with:
124+
arch: ${{ matrix.arch }}
125+
126+
- name: 'Configure CMake'
127+
working-directory: ${{ github.workspace }}
128+
run: cmake --preset=${{ matrix.build_type }}
129+
130+
- name: 'Build'
131+
working-directory: ${{ github.workspace }}
132+
run: cmake --build out\build\${{ matrix.build_type }}
133+
134+
- name: 'Clean up'
135+
working-directory: ${{ github.workspace }}
136+
run: Remove-Item -Path out -Recurse -Force
137+
138+
- name: 'Configure CMake (DLL)'
139+
working-directory: ${{ github.workspace }}
140+
run: cmake --preset=${{ matrix.build_type }} -DBUILD_SHARED_LIBS=ON
141+
142+
- name: 'Build (DLL)'
143+
working-directory: ${{ github.workspace }}
144+
run: cmake --build out\build\${{ matrix.build_type }}

.github/workflows/msbuild.yml

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ jobs:
4242
platform: ARM64
4343

4444
steps:
45-
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
45+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
4646

4747
- name: Add MSBuild to PATH
4848
uses: microsoft/setup-msbuild@6fb02220983dee41ce7ae257b6f4d8f9bf5ed4ce # v2.0.0
@@ -82,3 +82,25 @@ jobs:
8282
msbuild /m /p:Configuration=${{ matrix.build_type }} /p:Platform=${{ matrix.platform }}
8383
/p:SpectreMitigation=Spectre
8484
DirectXTK_Desktop_${{ matrix.vs }}_Win10.sln
85+
86+
build2026:
87+
runs-on: windows-2025-vs2026
88+
89+
strategy:
90+
fail-fast: false
91+
92+
matrix:
93+
build_type: [Debug, Release]
94+
platform: [x86, x64, ARM64]
95+
96+
steps:
97+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
98+
99+
- name: Add MSBuild to PATH
100+
uses: microsoft/setup-msbuild@6fb02220983dee41ce7ae257b6f4d8f9bf5ed4ce # v2.0.0
101+
102+
- name: 'Build'
103+
working-directory: ${{ github.workspace }}
104+
run: >
105+
msbuild /m /p:Configuration=${{ matrix.build_type }} /p:Platform=${{ matrix.platform }}
106+
DirectXTK_Desktop_2026.slnx

.github/workflows/test.yml

Lines changed: 72 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -59,18 +59,6 @@ jobs:
5959
- toolver: '14'
6060
build_type: x86-Release
6161
arch: amd64_x86
62-
- toolver: '14'
63-
build_type: x64-Debug-Clang
64-
arch: amd64
65-
- toolver: '14'
66-
build_type: x64-Release-Clang
67-
arch: amd64
68-
- toolver: '14'
69-
build_type: x86-Debug-Clang
70-
arch: amd64_x86
71-
- toolver: '14'
72-
build_type: x86-Release-Clang
73-
arch: amd64_x86
7462
- toolver: '14'
7563
build_type: arm64-Debug
7664
arch: amd64_arm64
@@ -85,10 +73,10 @@ jobs:
8573
arch: amd64_arm64
8674

8775
steps:
88-
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
76+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
8977

9078
- name: Clone test repository
91-
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
79+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
9280
with:
9381
repository: walbourn/directxtktest
9482
path: Tests
@@ -130,3 +118,73 @@ jobs:
130118
- name: 'Build (DLL)'
131119
working-directory: ${{ github.workspace }}
132120
run: cmake --build out\build\${{ matrix.build_type }}
121+
122+
build2026:
123+
runs-on: windows-2025-vs2026
124+
timeout-minutes: 20
125+
126+
strategy:
127+
fail-fast: false
128+
129+
matrix:
130+
build_type: [x64-Debug-Win10, x64-Release-Win10]
131+
arch: [amd64]
132+
include:
133+
- build_type: x86-Debug-Win10
134+
arch: amd64_x86
135+
- build_type: x86-Release-Win10
136+
arch: amd64_x86
137+
- build_type: x86-Debug-Win10
138+
arch: amd64_x86
139+
- build_type: x86-Release-Win10
140+
arch: amd64_x86
141+
- build_type: arm64-Debug
142+
arch: amd64_arm64
143+
- build_type: arm64-Release
144+
arch: amd64_arm64
145+
146+
steps:
147+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
148+
149+
- name: Clone test repository
150+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
151+
with:
152+
repository: walbourn/directxtktest
153+
path: Tests
154+
ref: main
155+
156+
- name: 'Install Ninja'
157+
run: choco install ninja
158+
159+
- uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0
160+
with:
161+
arch: ${{ matrix.arch }}
162+
163+
- name: 'Configure CMake'
164+
working-directory: ${{ github.workspace }}
165+
run: >
166+
cmake --preset=${{ matrix.build_type }} -DBUILD_TESTING=ON -DBUILD_TOOLS=OFF
167+
168+
- name: 'Build'
169+
working-directory: ${{ github.workspace }}
170+
run: cmake --build out\build\${{ matrix.build_type }}
171+
172+
- if: (matrix.build_type == 'x64-Release') || (matrix.build_type == 'x86-Release')
173+
timeout-minutes: 10
174+
name: 'Test (Math only)'
175+
working-directory: ${{ github.workspace }}
176+
run: ctest --preset=${{ matrix.build_type }} -L Math
177+
178+
- name: 'Clean up'
179+
working-directory: ${{ github.workspace }}
180+
run: Remove-Item -Path out -Recurse -Force
181+
182+
- name: 'Configure CMake (DLL)'
183+
working-directory: ${{ github.workspace }}
184+
run: >
185+
cmake --preset=${{ matrix.build_type }} -DBUILD_TESTING=ON -DBUILD_TOOLS=OFF
186+
-DBUILD_SHARED_LIBS=ON
187+
188+
- name: 'Build (DLL)'
189+
working-directory: ${{ github.workspace }}
190+
run: cmake --build out\build\${{ matrix.build_type }}

.github/workflows/win10.yml

Lines changed: 62 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -70,27 +70,74 @@ jobs:
7070
- toolver: '14'
7171
build_type: arm64ec-Release
7272
arch: amd64_arm64
73-
- toolver: '14'
74-
build_type: x64-Debug-Win10-Clang
75-
arch: amd64
76-
- toolver: '14'
77-
build_type: x64-Release-Win10-Clang
78-
arch: amd64
79-
- toolver: '14'
80-
build_type: x86-Debug-Win10-Clang
73+
74+
steps:
75+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
76+
77+
- name: 'Install Ninja'
78+
run: choco install ninja
79+
80+
- uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0
81+
with:
82+
arch: ${{ matrix.arch }}
83+
toolset: ${{ matrix.toolver }}
84+
85+
- name: 'Configure CMake'
86+
working-directory: ${{ github.workspace }}
87+
run: cmake --preset=${{ matrix.build_type }}
88+
89+
- name: 'Build'
90+
working-directory: ${{ github.workspace }}
91+
run: cmake --build out\build\${{ matrix.build_type }}
92+
93+
- name: 'Clean up'
94+
working-directory: ${{ github.workspace }}
95+
run: Remove-Item -Path out -Recurse -Force
96+
97+
- if: matrix.arch != 'amd64_arm64'
98+
name: 'Configure CMake (Spectre)'
99+
working-directory: ${{ github.workspace }}
100+
run: cmake --preset=${{ matrix.build_type }} -DENABLE_SPECTRE_MITIGATION=ON
101+
102+
- if: matrix.arch != 'amd64_arm64'
103+
name: 'Build (Spectre)'
104+
working-directory: ${{ github.workspace }}
105+
run: cmake --build out\build\${{ matrix.build_type }}
106+
107+
- if: matrix.arch != 'amd64_arm64'
108+
name: 'Clean up'
109+
working-directory: ${{ github.workspace }}
110+
run: Remove-Item -Path out -Recurse -Force
111+
112+
- name: 'Configure CMake (DLL)'
113+
working-directory: ${{ github.workspace }}
114+
run: cmake --preset=${{ matrix.build_type }} -DBUILD_SHARED_LIBS=ON
115+
116+
- name: 'Build (DLL)'
117+
working-directory: ${{ github.workspace }}
118+
run: cmake --build out\build\${{ matrix.build_type }}
119+
120+
build2026:
121+
runs-on: windows-2025-vs2026
122+
123+
strategy:
124+
fail-fast: false
125+
126+
matrix:
127+
build_type: [x64-Debug-Win10, x64-Release-Win10]
128+
arch: [amd64]
129+
include:
130+
- build_type: x86-Debug-Win10
81131
arch: amd64_x86
82-
- toolver: '14'
83-
build_type: x86-Release-Win10-Clang
132+
- build_type: x86-Release-Win10
84133
arch: amd64_x86
85-
- toolver: '14'
86-
build_type: arm64-Debug-Clang
134+
- build_type: arm64-Debug
87135
arch: amd64_arm64
88-
- toolver: '14'
89-
build_type: arm64-Release-Clang
136+
- build_type: arm64-Release
90137
arch: amd64_arm64
91138

92139
steps:
93-
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
140+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
94141

95142
- name: 'Install Ninja'
96143
run: choco install ninja

0 commit comments

Comments
 (0)