Skip to content

Commit 2b9198d

Browse files
authored
[E2E] Use latest CMake and ninja versions via vcpkg
1 parent a605be2 commit 2b9198d

4 files changed

Lines changed: 79 additions & 129 deletions

File tree

.github/workflows/shared-e2e.yml

Lines changed: 9 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -53,10 +53,8 @@ jobs:
5353
shell: bash
5454
run: |
5555
base_matrix='${{ steps.test-matrix-base.outputs.matrix }}'
56-
# Read CMake version from vcpkg config
57-
vcpkg_cmake_version=$(jq -r '.requires."arm:tools/kitware/cmake"' ./test/vcpkg-configuration.json)
58-
echo "CMake version from vcpkg config: $vcpkg_cmake_version"
59-
cmake_versions="[\"$vcpkg_cmake_version\", \"4.2.1\"]"
56+
# Test both CMake versions via workflow matrix
57+
cmake_versions="[\"3.31.12\", \"4.3.3\"]"
6058
# base_matrix is expected to be: { "include": [ ... ] }
6159
# produce: { "include": [ {..config.., cmake_version: ..}, ... ] }
6260
result=$(jq -nc \
@@ -426,42 +424,19 @@ jobs:
426424
python -m pip install --upgrade pip
427425
pip install -r test/e2e/requirements.txt
428426
429-
- name: Create vcpkg config without CMake
430-
if: matrix.cmake_version != '3.31.5'
427+
- name: Prepare vcpkg config with CMake ${{ matrix.cmake_version }}
431428
shell: bash
432429
run: |
433-
jq 'del(.requires."arm:tools/kitware/cmake")' ./test/vcpkg-configuration.json > ./test/vcpkg-configuration-temp.json
430+
jq '.requires."arm:tools/kitware/cmake" = "${{ matrix.cmake_version }}"' \
431+
./test/vcpkg-configuration.json > ./test/vcpkg-configuration-temp.json
434432
435433
- name: Setup vcpkg environment
436-
if: matrix.cmake_version == '3.31.5'
437-
uses: ARM-software/cmsis-actions/vcpkg@1ab1da03e6e9787dc903bcf041ba541e59b5739f # v1
438-
with:
439-
config: "./test/vcpkg-configuration.json"
440-
vcpkg-downloads: "${{ github.workspace }}/.vcpkg/downloads"
441-
cache: "-"
442-
443-
- name: Setup vcpkg environment (without CMake)
444-
if: matrix.cmake_version != '3.31.5'
445434
uses: ARM-software/cmsis-actions/vcpkg@1ab1da03e6e9787dc903bcf041ba541e59b5739f # v1
446435
with:
447436
config: "./test/vcpkg-configuration-temp.json"
448437
vcpkg-downloads: "${{ github.workspace }}/.vcpkg/downloads"
449438
cache: "-"
450439

451-
# Overlay CMake for non-vcpkg runs (no need to mutate the vcpkg config)
452-
- name: Install CMake ${{ matrix.cmake_version }} (amd64)
453-
if: matrix.cmake_version != '3.31.5' && matrix.arch == 'amd64'
454-
uses: jwlawson/actions-setup-cmake@0d6a7d60b009d01c9e7523be22153ff8f19460d3 # v2.2.0
455-
with:
456-
cmake-version: '${{ matrix.cmake_version }}'
457-
458-
- name: Install CMake ${{ matrix.cmake_version }} (arm64)
459-
if: matrix.cmake_version != '3.31.5' && matrix.arch == 'arm64'
460-
shell: bash
461-
run: |
462-
# Install CMake via pip for ARM64 compatibility
463-
pip install cmake==${{ matrix.cmake_version }}
464-
465440
- name: Confirm CMake selected
466441
shell: bash
467442
run: |
@@ -570,10 +545,10 @@ jobs:
570545
python -m robot.rebot --name Collective_Robot_Results \
571546
--outputdir collective_robot_results \
572547
--output output.xml \
573-
./reports-windows-amd64-cmake3.31.5/output.xml \
574-
./reports-windows-amd64-cmake4.2.1/output.xml \
575-
./reports-linux-amd64-cmake3.31.5/output.xml \
576-
./reports-linux-amd64-cmake4.2.1/output.xml
548+
./reports-windows-amd64-cmake3.31.12/output.xml \
549+
./reports-windows-amd64-cmake4.3.3/output.xml \
550+
./reports-linux-amd64-cmake3.31.12/output.xml \
551+
./reports-linux-amd64-cmake4.3.3/output.xml
577552
578553
- name: Generate Summary report
579554
if: always()

.github/workflows/toolbox.yml

Lines changed: 5 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -66,10 +66,8 @@ jobs:
6666
id: test-matrix
6767
run: |
6868
base_matrix='${{ steps.test-matrix-base.outputs.matrix }}'
69-
# Read CMake version from vcpkg config
70-
vcpkg_cmake_version=$(jq -r '.requires."arm:tools/kitware/cmake"' ./test/vcpkg-configuration.json)
71-
echo "CMake version from vcpkg config: $vcpkg_cmake_version"
72-
cmake_versions="[\"$vcpkg_cmake_version\", \"4.2.1\"]"
69+
# Test both CMake versions via workflow matrix
70+
cmake_versions="[\"3.31.12\", \"4.3.3\"]"
7371
# base_matrix is expected to be: { "include": [ ... ] }
7472
# produce: { "include": [ {..config.., cmake_version: ..}, ... ] }
7573
result=$(jq -nc \
@@ -528,40 +526,18 @@ jobs:
528526
python -m pip install --upgrade pip
529527
pip install -r test/e2e/requirements.txt
530528
531-
- name: Create vcpkg config without CMake
532-
if: matrix.cmake_version != '3.31.5'
529+
- name: Prepare vcpkg config with CMake ${{ matrix.cmake_version }}
533530
run: |
534-
jq 'del(.requires."arm:tools/kitware/cmake")' ./test/vcpkg-configuration.json > ./test/vcpkg-configuration-temp.json
531+
jq '.requires."arm:tools/kitware/cmake" = "${{ matrix.cmake_version }}" | .requires."arm:tools/ninja-build/ninja" = "1.13.2"' \
532+
./test/vcpkg-configuration.json > ./test/vcpkg-configuration-temp.json
535533
536534
- name: Setup vcpkg environment
537-
if: matrix.cmake_version == '3.31.5'
538-
uses: ARM-software/cmsis-actions/vcpkg@1ab1da03e6e9787dc903bcf041ba541e59b5739f # v1
539-
with:
540-
config: "./test/vcpkg-configuration.json"
541-
vcpkg-downloads: "${{ github.workspace }}/.vcpkg/downloads"
542-
cache: "-"
543-
544-
- name: Setup vcpkg environment (without CMake)
545-
if: matrix.cmake_version != '3.31.5'
546535
uses: ARM-software/cmsis-actions/vcpkg@1ab1da03e6e9787dc903bcf041ba541e59b5739f # v1
547536
with:
548537
config: "./test/vcpkg-configuration-temp.json"
549538
vcpkg-downloads: "${{ github.workspace }}/.vcpkg/downloads"
550539
cache: "-"
551540

552-
# Overlay CMake for non-vcpkg runs (no need to mutate the vcpkg config)
553-
- name: Install CMake ${{ matrix.cmake_version }} (amd64)
554-
if: matrix.cmake_version != '3.31.5' && matrix.arch == 'amd64'
555-
uses: jwlawson/actions-setup-cmake@0d6a7d60b009d01c9e7523be22153ff8f19460d3 # v2.2.0
556-
with:
557-
cmake-version: '${{ matrix.cmake_version }}'
558-
559-
- name: Install CMake ${{ matrix.cmake_version }} (arm64)
560-
if: matrix.cmake_version != '3.31.5' && matrix.arch == 'arm64'
561-
run: |
562-
# Install CMake via pip for ARM64 compatibility
563-
pip install cmake==${{ matrix.cmake_version }}
564-
565541
- name: Confirm CMake selected
566542
run: |
567543
echo "cmake_version matrix value: ${{ matrix.cmake_version }}"

test/e2e/reference.md

Lines changed: 64 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -10,67 +10,67 @@
1010

1111
|Tag|Test|:clock1030: Duration|Suite|
1212
|:---:|:---:|:---:|:---:|
13-
|windows-amd64-cmake3.31.5|Validate build-asm Example|22.30 s|Local Example Tests|
14-
|windows-amd64-cmake3.31.5|Validate build-c Example|9.72 s|Local Example Tests|
15-
|windows-amd64-cmake3.31.5|Validate build-cpp Example|14.60 s|Local Example Tests|
16-
|windows-amd64-cmake3.31.5|Validate build-set Example|4.60 s|Local Example Tests|
17-
|windows-amd64-cmake3.31.5|Validate executes Example|3.81 s|Local Example Tests|
18-
|windows-amd64-cmake3.31.5|Validate include-define Example|13.07 s|Local Example Tests|
19-
|windows-amd64-cmake3.31.5|Validate language-scope Example|13.64 s|Local Example Tests|
20-
|windows-amd64-cmake3.31.5|Validate linker-pre-processing Example|10.10 s|Local Example Tests|
21-
|windows-amd64-cmake3.31.5|Validate pre-include Example|10.55 s|Local Example Tests|
22-
|windows-amd64-cmake3.31.5|Validate whitespace Example|9.90 s|Local Example Tests|
23-
|windows-amd64-cmake3.31.5|Validate trustzone Example|37.85 s|Local Example Tests|
24-
|windows-amd64-cmake3.31.5|Hello_FRDM-K32L3A6|32.06 s|Remote Example Tests|
25-
|windows-amd64-cmake3.31.5|Hello_LPCXpresso55S69|24.64 s|Remote Example Tests|
26-
|windows-amd64-cmake3.31.5|Csolution-examples|116.44 s|Remote Example Tests|
27-
|windows-amd64-cmake3.31.5|keil-studio-get-started|8.19 s|Remote Example Tests|
28-
|windows-amd64-cmake3.31.5|AVH-VSI|73.83 s|Remote Example Tests|
29-
|windows-amd64-cmake4.2.1|Validate build-asm Example|20.91 s|Local Example Tests|
30-
|windows-amd64-cmake4.2.1|Validate build-c Example|9.08 s|Local Example Tests|
31-
|windows-amd64-cmake4.2.1|Validate build-cpp Example|14.15 s|Local Example Tests|
32-
|windows-amd64-cmake4.2.1|Validate build-set Example|4.31 s|Local Example Tests|
33-
|windows-amd64-cmake4.2.1|Validate executes Example|3.63 s|Local Example Tests|
34-
|windows-amd64-cmake4.2.1|Validate include-define Example|13.03 s|Local Example Tests|
35-
|windows-amd64-cmake4.2.1|Validate language-scope Example|12.59 s|Local Example Tests|
36-
|windows-amd64-cmake4.2.1|Validate linker-pre-processing Example|9.09 s|Local Example Tests|
37-
|windows-amd64-cmake4.2.1|Validate pre-include Example|9.22 s|Local Example Tests|
38-
|windows-amd64-cmake4.2.1|Validate whitespace Example|8.85 s|Local Example Tests|
39-
|windows-amd64-cmake4.2.1|Validate trustzone Example|39.44 s|Local Example Tests|
40-
|windows-amd64-cmake4.2.1|Hello_FRDM-K32L3A6|31.20 s|Remote Example Tests|
41-
|windows-amd64-cmake4.2.1|Hello_LPCXpresso55S69|24.12 s|Remote Example Tests|
42-
|windows-amd64-cmake4.2.1|Csolution-examples|113.61 s|Remote Example Tests|
43-
|windows-amd64-cmake4.2.1|keil-studio-get-started|7.86 s|Remote Example Tests|
44-
|windows-amd64-cmake4.2.1|AVH-VSI|73.77 s|Remote Example Tests|
45-
|linux-amd64-cmake3.31.5|Validate build-asm Example|8.88 s|Local Example Tests|
46-
|linux-amd64-cmake3.31.5|Validate build-c Example|3.60 s|Local Example Tests|
47-
|linux-amd64-cmake3.31.5|Validate build-cpp Example|5.47 s|Local Example Tests|
48-
|linux-amd64-cmake3.31.5|Validate build-set Example|1.96 s|Local Example Tests|
49-
|linux-amd64-cmake3.31.5|Validate executes Example|1.46 s|Local Example Tests|
50-
|linux-amd64-cmake3.31.5|Validate include-define Example|4.70 s|Local Example Tests|
51-
|linux-amd64-cmake3.31.5|Validate language-scope Example|4.69 s|Local Example Tests|
52-
|linux-amd64-cmake3.31.5|Validate linker-pre-processing Example|3.59 s|Local Example Tests|
53-
|linux-amd64-cmake3.31.5|Validate pre-include Example|3.79 s|Local Example Tests|
54-
|linux-amd64-cmake3.31.5|Validate whitespace Example|3.57 s|Local Example Tests|
55-
|linux-amd64-cmake3.31.5|Validate trustzone Example|10.58 s|Local Example Tests|
56-
|linux-amd64-cmake3.31.5|Hello_FRDM-K32L3A6|15.06 s|Remote Example Tests|
57-
|linux-amd64-cmake3.31.5|Hello_LPCXpresso55S69|12.66 s|Remote Example Tests|
58-
|linux-amd64-cmake3.31.5|Csolution-examples|65.13 s|Remote Example Tests|
59-
|linux-amd64-cmake3.31.5|keil-studio-get-started|4.85 s|Remote Example Tests|
60-
|linux-amd64-cmake3.31.5|AVH-VSI|33.10 s|Remote Example Tests|
61-
|linux-amd64-cmake4.2.1|Validate build-asm Example|8.97 s|Local Example Tests|
62-
|linux-amd64-cmake4.2.1|Validate build-c Example|4.31 s|Local Example Tests|
63-
|linux-amd64-cmake4.2.1|Validate build-cpp Example|5.21 s|Local Example Tests|
64-
|linux-amd64-cmake4.2.1|Validate build-set Example|2.15 s|Local Example Tests|
65-
|linux-amd64-cmake4.2.1|Validate executes Example|1.52 s|Local Example Tests|
66-
|linux-amd64-cmake4.2.1|Validate include-define Example|4.32 s|Local Example Tests|
67-
|linux-amd64-cmake4.2.1|Validate language-scope Example|4.89 s|Local Example Tests|
68-
|linux-amd64-cmake4.2.1|Validate linker-pre-processing Example|3.83 s|Local Example Tests|
69-
|linux-amd64-cmake4.2.1|Validate pre-include Example|4.01 s|Local Example Tests|
70-
|linux-amd64-cmake4.2.1|Validate whitespace Example|3.71 s|Local Example Tests|
71-
|linux-amd64-cmake4.2.1|Validate trustzone Example|12.16 s|Local Example Tests|
72-
|linux-amd64-cmake4.2.1|Hello_FRDM-K32L3A6|18.19 s|Remote Example Tests|
73-
|linux-amd64-cmake4.2.1|Hello_LPCXpresso55S69|13.01 s|Remote Example Tests|
74-
|linux-amd64-cmake4.2.1|Csolution-examples|69.72 s|Remote Example Tests|
75-
|linux-amd64-cmake4.2.1|keil-studio-get-started|4.74 s|Remote Example Tests|
76-
|linux-amd64-cmake4.2.1|AVH-VSI|33.58 s|Remote Example Tests|
13+
|windows-amd64-cmake3.31.12|Validate build-asm Example|22.30 s|Local Example Tests|
14+
|windows-amd64-cmake3.31.12|Validate build-c Example|9.72 s|Local Example Tests|
15+
|windows-amd64-cmake3.31.12|Validate build-cpp Example|14.60 s|Local Example Tests|
16+
|windows-amd64-cmake3.31.12|Validate build-set Example|4.60 s|Local Example Tests|
17+
|windows-amd64-cmake3.31.12|Validate executes Example|3.81 s|Local Example Tests|
18+
|windows-amd64-cmake3.31.12|Validate include-define Example|13.07 s|Local Example Tests|
19+
|windows-amd64-cmake3.31.12|Validate language-scope Example|13.64 s|Local Example Tests|
20+
|windows-amd64-cmake3.31.12|Validate linker-pre-processing Example|10.10 s|Local Example Tests|
21+
|windows-amd64-cmake3.31.12|Validate pre-include Example|10.55 s|Local Example Tests|
22+
|windows-amd64-cmake3.31.12|Validate whitespace Example|9.90 s|Local Example Tests|
23+
|windows-amd64-cmake3.31.12|Validate trustzone Example|37.85 s|Local Example Tests|
24+
|windows-amd64-cmake3.31.12|Hello_FRDM-K32L3A6|32.06 s|Remote Example Tests|
25+
|windows-amd64-cmake3.31.12|Hello_LPCXpresso55S69|24.64 s|Remote Example Tests|
26+
|windows-amd64-cmake3.31.12|Csolution-examples|116.44 s|Remote Example Tests|
27+
|windows-amd64-cmake3.31.12|keil-studio-get-started|8.19 s|Remote Example Tests|
28+
|windows-amd64-cmake3.31.12|AVH-VSI|73.83 s|Remote Example Tests|
29+
|windows-amd64-cmake4.3.3|Validate build-asm Example|20.91 s|Local Example Tests|
30+
|windows-amd64-cmake4.3.3|Validate build-c Example|9.08 s|Local Example Tests|
31+
|windows-amd64-cmake4.3.3|Validate build-cpp Example|14.15 s|Local Example Tests|
32+
|windows-amd64-cmake4.3.3|Validate build-set Example|4.31 s|Local Example Tests|
33+
|windows-amd64-cmake4.3.3|Validate executes Example|3.63 s|Local Example Tests|
34+
|windows-amd64-cmake4.3.3|Validate include-define Example|13.03 s|Local Example Tests|
35+
|windows-amd64-cmake4.3.3|Validate language-scope Example|12.59 s|Local Example Tests|
36+
|windows-amd64-cmake4.3.3|Validate linker-pre-processing Example|9.09 s|Local Example Tests|
37+
|windows-amd64-cmake4.3.3|Validate pre-include Example|9.22 s|Local Example Tests|
38+
|windows-amd64-cmake4.3.3|Validate whitespace Example|8.85 s|Local Example Tests|
39+
|windows-amd64-cmake4.3.3|Validate trustzone Example|39.44 s|Local Example Tests|
40+
|windows-amd64-cmake4.3.3|Hello_FRDM-K32L3A6|31.20 s|Remote Example Tests|
41+
|windows-amd64-cmake4.3.3|Hello_LPCXpresso55S69|24.12 s|Remote Example Tests|
42+
|windows-amd64-cmake4.3.3|Csolution-examples|113.61 s|Remote Example Tests|
43+
|windows-amd64-cmake4.3.3|keil-studio-get-started|7.86 s|Remote Example Tests|
44+
|windows-amd64-cmake4.3.3|AVH-VSI|73.77 s|Remote Example Tests|
45+
|linux-amd64-cmake3.31.12|Validate build-asm Example|8.88 s|Local Example Tests|
46+
|linux-amd64-cmake3.31.12|Validate build-c Example|3.60 s|Local Example Tests|
47+
|linux-amd64-cmake3.31.12|Validate build-cpp Example|5.47 s|Local Example Tests|
48+
|linux-amd64-cmake3.31.12|Validate build-set Example|1.96 s|Local Example Tests|
49+
|linux-amd64-cmake3.31.12|Validate executes Example|1.46 s|Local Example Tests|
50+
|linux-amd64-cmake3.31.12|Validate include-define Example|4.70 s|Local Example Tests|
51+
|linux-amd64-cmake3.31.12|Validate language-scope Example|4.69 s|Local Example Tests|
52+
|linux-amd64-cmake3.31.12|Validate linker-pre-processing Example|3.59 s|Local Example Tests|
53+
|linux-amd64-cmake3.31.12|Validate pre-include Example|3.79 s|Local Example Tests|
54+
|linux-amd64-cmake3.31.12|Validate whitespace Example|3.57 s|Local Example Tests|
55+
|linux-amd64-cmake3.31.12|Validate trustzone Example|10.58 s|Local Example Tests|
56+
|linux-amd64-cmake3.31.12|Hello_FRDM-K32L3A6|15.06 s|Remote Example Tests|
57+
|linux-amd64-cmake3.31.12|Hello_LPCXpresso55S69|12.66 s|Remote Example Tests|
58+
|linux-amd64-cmake3.31.12|Csolution-examples|65.13 s|Remote Example Tests|
59+
|linux-amd64-cmake3.31.12|keil-studio-get-started|4.85 s|Remote Example Tests|
60+
|linux-amd64-cmake3.31.12|AVH-VSI|33.10 s|Remote Example Tests|
61+
|linux-amd64-cmake4.3.3|Validate build-asm Example|8.97 s|Local Example Tests|
62+
|linux-amd64-cmake4.3.3|Validate build-c Example|4.31 s|Local Example Tests|
63+
|linux-amd64-cmake4.3.3|Validate build-cpp Example|5.21 s|Local Example Tests|
64+
|linux-amd64-cmake4.3.3|Validate build-set Example|2.15 s|Local Example Tests|
65+
|linux-amd64-cmake4.3.3|Validate executes Example|1.52 s|Local Example Tests|
66+
|linux-amd64-cmake4.3.3|Validate include-define Example|4.32 s|Local Example Tests|
67+
|linux-amd64-cmake4.3.3|Validate language-scope Example|4.89 s|Local Example Tests|
68+
|linux-amd64-cmake4.3.3|Validate linker-pre-processing Example|3.83 s|Local Example Tests|
69+
|linux-amd64-cmake4.3.3|Validate pre-include Example|4.01 s|Local Example Tests|
70+
|linux-amd64-cmake4.3.3|Validate whitespace Example|3.71 s|Local Example Tests|
71+
|linux-amd64-cmake4.3.3|Validate trustzone Example|12.16 s|Local Example Tests|
72+
|linux-amd64-cmake4.3.3|Hello_FRDM-K32L3A6|18.19 s|Remote Example Tests|
73+
|linux-amd64-cmake4.3.3|Hello_LPCXpresso55S69|13.01 s|Remote Example Tests|
74+
|linux-amd64-cmake4.3.3|Csolution-examples|69.72 s|Remote Example Tests|
75+
|linux-amd64-cmake4.3.3|keil-studio-get-started|4.74 s|Remote Example Tests|
76+
|linux-amd64-cmake4.3.3|AVH-VSI|33.58 s|Remote Example Tests|

test/vcpkg-configuration.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,7 @@
1212
}
1313
],
1414
"requires": {
15-
"arm:tools/kitware/cmake": "3.31.5",
16-
"arm:tools/ninja-build/ninja": "1.12.0",
15+
"arm:tools/ninja-build/ninja": "1.13.2",
1716
"arm:compilers/arm/armclang":"6.24.0",
1817
"arm:compilers/arm/arm-none-eabi-gcc": "14.2.1",
1918
"arm:tools/open-cmsis-pack/cmsis-toolbox": "2.12.0",

0 commit comments

Comments
 (0)