Skip to content

Commit 1642370

Browse files
+ c++26 in run.sh; ci for explore windows-2025-vs2026
1 parent b7b8b69 commit 1642370

File tree

3 files changed

+40
-296
lines changed

3 files changed

+40
-296
lines changed

.github/workflows/ci.yml

Lines changed: 37 additions & 277 deletions
Original file line numberDiff line numberDiff line change
@@ -1,277 +1,37 @@
1-
name: CI
2-
3-
on:
4-
workflow_dispatch:
5-
push:
6-
paths-ignore:
7-
- 'docs/**'
8-
- 'LICENSE'
9-
- 'read.me'
10-
- 'README.md'
11-
pull_request:
12-
paths-ignore:
13-
- 'docs/**'
14-
- 'LICENSE'
15-
- 'read.me'
16-
- 'README.md'
17-
18-
env:
19-
TEST_REF_FORBID_GEN_REFS: true
20-
21-
jobs:
22-
# tests-ubuntu2004-gpp:
23-
# strategy:
24-
# matrix:
25-
# os: [ubuntu-20.04]
26-
# compiler: [g++]
27-
# version: [9, 10]
28-
# name: Use ${{ matrix.compiler }}-${{ matrix.version }} on ${{ matrix.os }}
29-
# runs-on: ${{ matrix.os }}
30-
# steps:
31-
# - uses: actions/checkout@v3
32-
# - name: Run tests
33-
# run: |
34-
# cd tests
35-
# bash ./run.sh ${{ matrix.compiler }} v${{ matrix.version }}
36-
#
37-
# tests-ubuntu2004-clang:
38-
# strategy:
39-
# matrix:
40-
# os: [ubuntu-20.04]
41-
# compiler: [clang++]
42-
# version: [10, 11, 12]
43-
# name: Use ${{ matrix.compiler }}-${{ matrix.version }} on ${{ matrix.os }}
44-
# runs-on: ${{ matrix.os }}
45-
# steps:
46-
# - uses: actions/checkout@v3
47-
# - name: Run tests
48-
# run: |
49-
# cd tests
50-
# bash ./run.sh ${{ matrix.compiler }} v${{ matrix.version }}
51-
52-
tests-ubuntu2204-gpp:
53-
strategy:
54-
matrix:
55-
os: [ubuntu-22.04]
56-
compiler: [g++]
57-
version: [10, 11, 12]
58-
name: Use ${{ matrix.compiler }}-${{ matrix.version }} on ${{ matrix.os }}
59-
runs-on: ${{ matrix.os }}
60-
steps:
61-
- uses: actions/checkout@v3
62-
- name: Run tests
63-
run: |
64-
cd tests
65-
bash ./run.sh ${{ matrix.compiler }} v${{ matrix.version }}
66-
67-
tests-ubuntu2204-clang:
68-
strategy:
69-
matrix:
70-
os: [ubuntu-22.04]
71-
compiler: [clang++]
72-
version: [13, 14]
73-
name: Use ${{ matrix.compiler }}-${{ matrix.version }} on ${{ matrix.os }}
74-
runs-on: ${{ matrix.os }}
75-
steps:
76-
- uses: actions/checkout@v3
77-
- name: Run tests
78-
run: |
79-
cd tests
80-
bash ./run.sh ${{ matrix.compiler }} v${{ matrix.version }}
81-
82-
# tests-ubuntu2004-gpp-32:
83-
# strategy:
84-
# matrix:
85-
# os: [ubuntu-20.04]
86-
# compiler: [g++]
87-
# version: [9, 10]
88-
# name: Use ${{ matrix.compiler }}-${{ matrix.version }} -m32 on ${{ matrix.os }}
89-
# runs-on: ${{ matrix.os }}
90-
# steps:
91-
# - uses: actions/checkout@v3
92-
# - name: Run tests
93-
# run: |
94-
# sudo apt-get update
95-
# sudo apt-get install gcc-${{ matrix.version }}-multilib g++-${{ matrix.version }}-multilib
96-
# cd tests
97-
# bash ./run.sh ${{ matrix.compiler }} v${{ matrix.version }} 32
98-
#
99-
# tests-ubuntu2004-clang-32:
100-
# strategy:
101-
# matrix:
102-
# os: [ubuntu-20.04]
103-
# compiler: [clang++]
104-
# version: [10, 11, 12]
105-
# name: Use ${{ matrix.compiler }}-${{ matrix.version }} -m32 on ${{ matrix.os }}
106-
# runs-on: ${{ matrix.os }}
107-
# steps:
108-
# - uses: actions/checkout@v3
109-
# - name: Run tests
110-
# run: |
111-
# sudo apt-get update
112-
# sudo apt-get install gcc-multilib g++-multilib
113-
# cd tests
114-
# bash ./run.sh ${{ matrix.compiler }} v${{ matrix.version }} 32
115-
116-
tests-ubuntu2204-gpp-32:
117-
strategy:
118-
matrix:
119-
os: [ubuntu-22.04]
120-
compiler: [g++]
121-
version: [9, 10, 11]
122-
name: Use ${{ matrix.compiler }}-${{ matrix.version }} -m32 on ${{ matrix.os }}
123-
runs-on: ${{ matrix.os }}
124-
steps:
125-
- uses: actions/checkout@v3
126-
- name: Run tests
127-
run: |
128-
sudo apt-get update
129-
sudo apt-get install gcc-${{ matrix.version }}-multilib g++-${{ matrix.version }}-multilib
130-
cd tests
131-
bash ./run.sh ${{ matrix.compiler }} v${{ matrix.version }} 32
132-
133-
tests-ubuntu2204-clang-32:
134-
strategy:
135-
matrix:
136-
os: [ubuntu-22.04]
137-
compiler: [clang++]
138-
version: [13, 14]
139-
name: Use ${{ matrix.compiler }}-${{ matrix.version }} -m32 on ${{ matrix.os }}
140-
runs-on: ${{ matrix.os }}
141-
steps:
142-
- uses: actions/checkout@v3
143-
- name: Run tests
144-
run: |
145-
sudo apt-get update
146-
sudo apt-get install gcc-multilib g++-multilib
147-
cd tests
148-
bash ./run.sh ${{ matrix.compiler }} v${{ matrix.version }} 32
149-
150-
tests-macos14-gpp:
151-
strategy:
152-
matrix:
153-
os: [macos-14]
154-
compiler: [g++]
155-
version: [13, 14, 15]
156-
name: Use ${{ matrix.compiler }}-${{ matrix.version }} on ${{ matrix.os }}
157-
runs-on: ${{ matrix.os }}
158-
steps:
159-
- uses: actions/checkout@v3
160-
- name: Run tests
161-
run: |
162-
cd tests
163-
bash ./run.sh ${{ matrix.compiler }} v${{ matrix.version }}
164-
165-
tests-macos14-clang:
166-
strategy:
167-
matrix:
168-
os: [macos-14]
169-
compiler: [clang++]
170-
name: Use ${{ matrix.compiler }} on ${{ matrix.os }}
171-
runs-on: ${{ matrix.os }}
172-
steps:
173-
- uses: actions/checkout@v3
174-
- name: Run tests
175-
run: |
176-
cd tests
177-
bash ./run.sh ${{ matrix.compiler }}
178-
179-
tests-macos15-gpp:
180-
strategy:
181-
matrix:
182-
os: [macos-15]
183-
compiler: [g++]
184-
version: [13, 14, 15]
185-
name: Use ${{ matrix.compiler }}-${{ matrix.version }} on ${{ matrix.os }}
186-
runs-on: ${{ matrix.os }}
187-
steps:
188-
- uses: actions/checkout@v3
189-
- name: Run tests
190-
run: |
191-
cd tests
192-
bash ./run.sh ${{ matrix.compiler }} v${{ matrix.version }}
193-
194-
tests-macos15-clang:
195-
strategy:
196-
matrix:
197-
os: [macos-15]
198-
compiler: [clang++]
199-
name: Use ${{ matrix.compiler }} on ${{ matrix.os }}
200-
runs-on: ${{ matrix.os }}
201-
steps:
202-
- uses: actions/checkout@v3
203-
- name: Run tests
204-
run: |
205-
cd tests
206-
bash ./run.sh ${{ matrix.compiler }}
207-
208-
tests-macos26-gpp:
209-
strategy:
210-
matrix:
211-
os: [macos-26]
212-
compiler: [g++]
213-
version: [13, 14, 15]
214-
name: Use ${{ matrix.compiler }}-${{ matrix.version }} on ${{ matrix.os }}
215-
runs-on: ${{ matrix.os }}
216-
steps:
217-
- uses: actions/checkout@v3
218-
- name: Run tests
219-
run: |
220-
cd tests
221-
bash ./run.sh ${{ matrix.compiler }} v${{ matrix.version }}
222-
223-
tests-macos26-clang:
224-
strategy:
225-
matrix:
226-
os: [macos-26]
227-
compiler: [clang++]
228-
name: Use ${{ matrix.compiler }} on ${{ matrix.os }}
229-
runs-on: ${{ matrix.os }}
230-
steps:
231-
- uses: actions/checkout@v3
232-
- name: Run tests
233-
run: |
234-
cd tests
235-
bash ./run.sh ${{ matrix.compiler }}
236-
237-
tests-windows-2019:
238-
strategy:
239-
matrix:
240-
os: [windows-2019]
241-
compiler: [msvc, g++, clang++]
242-
name: Use ${{ matrix.compiler }} on ${{ matrix.os }}
243-
runs-on: ${{ matrix.os }}
244-
steps:
245-
- uses: actions/checkout@v3
246-
- name: Run tests
247-
run: |
248-
cd tests
249-
bash ./run.sh ${{ matrix.compiler }}
250-
251-
tests-windows-2022:
252-
strategy:
253-
matrix:
254-
os: [windows-2022]
255-
compiler: [msvc, g++, clang++]
256-
name: Use ${{ matrix.compiler }} on ${{ matrix.os }}
257-
runs-on: ${{ matrix.os }}
258-
steps:
259-
- uses: actions/checkout@v3
260-
- name: Run tests
261-
run: |
262-
cd tests
263-
bash ./run.sh ${{ matrix.compiler }}
264-
265-
tests-windows-2025-vs2026:
266-
strategy:
267-
matrix:
268-
os: [windows-2025-vs2026]
269-
compiler: [msvc, g++, clang++]
270-
name: Use ${{ matrix.compiler }} on ${{ matrix.os }}
271-
runs-on: ${{ matrix.os }}
272-
steps:
273-
- uses: actions/checkout@v3
274-
- name: Run tests
275-
run: |
276-
cd tests
277-
bash ./run.sh ${{ matrix.compiler }}
1+
name: Image Investigation
2+
on: workflow_dispatch # Çàïóñê âðó÷íóþ
3+
4+
jobs:
5+
investigate:
6+
name: Explore Windows 2025 Image
7+
runs-on: windows-2025-vs2026
8+
steps:
9+
- name: System Inventory
10+
shell: pwsh
11+
run: |
12+
# 1. Âñå ïåðåìåííûå îêðóæåíèÿ
13+
Write-Host "--- ENVIRONMENT VARIABLES ---" -ForegroundColor Cyan
14+
Get-ChildItem Env: | Sort-Object Name | ForEach-Object { "$($_.Name)=$($_.Value)" }
15+
16+
# 2. Ãëóáîêîå ñêàíèðîâàíèå Program Files (Ãëóáèíà 3)
17+
Write-Host "`n--- DIRECTORY TREE: PROGRAM FILES ---" -ForegroundColor Cyan
18+
$roots = @($env:ProgramFiles, ${env:ProgramFiles(x86)})
19+
20+
foreach ($root in $roots) {
21+
if (Test-Path $root) {
22+
Write-Host "`n[ Root: $root ]" -ForegroundColor Yellow
23+
# Depth 2 äàåò íàì 3 óðîâíÿ (0 - êîðåíü, 1 - ïîäïàïêà, 2 - ïîä-ïîäïàïêà)
24+
Get-ChildItem -Path $root -Directory -Depth 2 -ErrorAction SilentlyContinue |
25+
Select-Object @{Name="Depth"; Expression={$_.FullName.Replace($root, "").Split('\').Count - 1}}, FullName |
26+
Sort-Object FullName |
27+
ForEach-Object { " " * $_.Depth + $_.FullName }
28+
}
29+
}
30+
31+
# 3. Ïîèñê Visual Studio 2026 (÷åðåç vswhere)
32+
Write-Host "`n--- VISUAL STUDIO LOCATIONS (vswhere) ---" -ForegroundColor Cyan
33+
if (Get-Command vswhere -ErrorAction SilentlyContinue) {
34+
vswhere -latest -property installationPath
35+
} else {
36+
Write-Host "vswhere not found in PATH" -ForegroundColor Red
37+
}

tests/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ Use `tests\run.sh`. Also you can use `t.sh` (or `t.bat`) to run shortcut of `run
1919
### Parameters (use can use all combinations):
2020

2121
* `g++`, `clang++`, `msvc` - to specify compiler(s)
22-
* `11`, `14`, `17`, `20`, `23` - to specify standard(s)
22+
* `11`, `14`, `17`, `20`, `23`, `26` - to specify standard(s)
2323
* `vxx` (example `v10`) - to try `-10` suffix to run compilers, like `g++-10`, use `v0` to run without any suffixes
2424
* `test-` - to specify test(s)
2525

tests/run.sh

Lines changed: 2 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,12 @@ export GREEN='\033[1;32m'
1515
export NC='\033[0m'
1616

1717
ARGS_CPP=""
18-
ARGS_VALID_CPP_STANDARDS=",11,14,17,20,23,"
18+
ARGS_VALID_CPP_STANDARDS=",11,14,17,20,23,26,"
1919
ARGS_CPP_STANDARDS=","
2020
ARGS_CPP_VERSIONS=","
2121
ARGS_TESTS=","
2222
ARGS_CPP_BITS=""
2323

24-
MSVC_INCLUDE_YEAR="2022"
25-
WINKIT_INCLUDE_VERSION="10.0.19041.0"
26-
2724
for arg in "$@"; do
2825
if [[ "$arg" == test-* ]]; then
2926
ARGS_TESTS="${ARGS_TESTS}${arg},"
@@ -90,7 +87,7 @@ printf ' %s\n' "${COMPILERS[@]}"
9087

9188
CPP_STANDARDS=()
9289
MSVC_CPP_STANDARDS=()
93-
for v in 11 14 17 20 23; do
90+
for v in 11 14 17 20 23 26; do
9491
if [[ "$ARGS_CPP_STANDARDS" == "," || "$ARGS_CPP_STANDARDS" == *,$v,* ]]; then
9592
CPP_STANDARDS+=("--std=c++$v")
9693
MSVC_CPP_STANDARDS+=("-std:c++$v")
@@ -111,13 +108,6 @@ MSYS*) machine=Windows ;;
111108
esac
112109
export MACHINE="$machine"
113110

114-
#if [[ "$machine" == "Windows" && ("$ARGS_CPP" == "" || "$ARGS_CPP" == "clang++") ]]; then
115-
# for f in msvc-${MSVC_INCLUDE_YEAR}-include windows-kit-${WINKIT_INCLUDE_VERSION}-include; do
116-
# rm -rf "${TESTS_DIR:?}"/lib/$f && mkdir -p "$TESTS_DIR"/lib/$f
117-
# 7z x -o"${TESTS_DIR:?}"/lib/$f "$TESTS_DIR"/lib/$f.7z
118-
# done
119-
#fi
120-
121111
run_tests() {
122112
export INVOCATION_ID=$RANDOM
123113
export CPP="$1"
@@ -259,12 +249,6 @@ for compiler in "${COMPILERS[@]}"; do
259249
done
260250
done
261251

262-
#if [[ "$machine" == "Windows" ]]; then
263-
# for f in msvc-${MSVC_INCLUDE_YEAR}-include windows-kit-${WINKIT_INCLUDE_VERSION}-include; do
264-
# rm -rf "${TESTS_DIR:?}"/lib/$f
265-
# done
266-
#fi
267-
268252
if [[ -z "$done" ]]; then
269253
echo -e "${RED}[ERROR]${NC} No compilers found\n"
270254
exit 1

0 commit comments

Comments
 (0)