1414 workflow_dispatch :
1515
1616env :
17- # for use by the Windows runner (ignored by the others):
17+ # For use by the Windows runner (ignored by the others):
1818 SCONS_CACHE_MSVC_CONFIG : 1
1919
2020# A workflow run is made up of one or more jobs that can run sequentially or in parallel
2121jobs :
22- # This workflow contains a single job called "build "
22+ # This workflow contains a single job called "experimental "
2323 experimental :
2424
2525 strategy :
@@ -28,11 +28,14 @@ jobs:
2828 # In the 2nd half of 2022 the setup-mingw was often failing on
2929 # windows-latest, when 2022 became the latest. Now 2025 is out,
3030 # and 2019 is being retired, we need some kind of a solution.
31- os : ['ubuntu-latest', 'windows-latest', 'macos-latest']
32- # os: ['ubuntu-latest', 'windows-2019', 'macos-latest']
31+ cfg : [
32+ {os: 'ubuntu-latest', args: ''},
33+ {os: 'windows-latest', args: ''},
34+ {os: 'macos-latest', args: '--exclude-list=testing/ci/macos_ci_skip.txt'},
35+ ]
3336
3437 # The type of runner that the job will run on
35- runs-on : ${{ matrix.os }}
38+ runs-on : ${{ matrix.cfg. os }}
3639
3740 # Steps represent a sequence of tasks that will be executed as part of the job
3841 steps :
@@ -48,25 +51,38 @@ jobs:
4851 # platform: x64
4952 # static: 0
5053
51- - name : Set up MSYS2
54+ - name : Set up MSYS2 ${{ matrix.cfg.os }}
5255 uses : msys2/setup-msys2@v2
53- if : matrix.os == 'windows-latest'
56+ if : startsWith( matrix.cfg.os, 'windows')
5457 with :
5558 msystem : UCRT64
5659 update : false
5760 install : git mingw-w64-ucrt-x86_64-gcc
5861
59- - name : Set up Python 3.11 ${{ matrix.os }}
62+ - name : Set up Python 3.11 ${{ matrix.cfg. os }}
6063 uses : actions/setup-python@v5
6164 with :
6265 python-version : ' 3.11'
6366
64- - name : Install dependencies including ninja ${{ matrix.os }}
67+ - name : Install dependencies including ninja ${{ matrix.cfg. os }}
6568 run : |
6669 python -m pip install --progress-bar off --upgrade pip
6770 python -m pip install --progress-bar off ninja psutil
6871 # sudo apt-get update
6972
70- - name : Test experimental packages ${{ matrix.os }}
73+ - name : Populate MSVC cache ${{ matrix.cfg.os }}
74+ if : startsWith(matrix.cfg.os, 'windows')
7175 run : |
72- python runtest.py test/import.py test/ninja
76+ python testing/ci/windows_msvc_cache.py
77+
78+ - name : Test experimental packages ${{ matrix.cfg.os }}
79+ run : |
80+ python runtest.py --time ${{ matrix.cfg.args }} test/import.py test/ninja
81+
82+ - name : Archive Failed tests ${{ matrix.cfg.os }}
83+ uses : actions/upload-artifact@v4
84+ if : failure()
85+ with :
86+ name : ${{ matrix.cfg.os }}-failed-tests
87+ path : |
88+ failed_tests.log
0 commit comments