1919 - cron : ' 5 1 * * *'
2020
2121jobs :
22- build-wheels :
23- runs-on : windows-latest
24- strategy :
25- fail-fast : false
26- matrix :
27- build_type : [libsumo]
28- python_version : [3.9, '3.10', 3.11, 3.12, 3.13, 3.14]
29- include :
30- - build_type : sumo
31- python_version : 3.12
32- env :
33- CC : cl
34- CXX : cl
35- SUMO_LIBRARIES : D:\a\sumo\sumo\SUMOLibraries
36- TEXTTEST_TMP : ' D:/texttest'
37-
38- steps :
39- - name : Cloning SUMO
40- uses : actions/checkout@v6
41- with :
42- fetch-depth : 0
43- filter : tree:0
44- # to work around actions/checkout#1467
45- ref : ${{ github.ref }}
46-
47- - name : Cloning SUMO Libraries
48- uses : actions/checkout@v6
49- with :
50- repository : DLR-TS/SUMOLibraries
51- path : SUMOLibraries
52-
53- - name : Setup fail-fast PowerShell
54- run : |
55- if (-not (Test-Path $PROFILE.CurrentUserAllHosts)) {
56- New-Item -ItemType File -Path $PROFILE.CurrentUserAllHosts -Force | Out-Null
57- }
58- Add-Content -Path $PROFILE.CurrentUserAllHosts -Value '$ErrorActionPreference = "Stop"'
59-
60- - name : Configuring Python
61- uses : actions/setup-python@v6
62- with :
63- python-version : ${{ matrix.python_version }}
64- architecture : x64
65-
66- - name : Configuring Java
67- uses : actions/setup-java@v5
68- with :
69- distribution : ' temurin'
70- java-version : ' 21'
71-
72- - name : ccache
73- # do a clean build once a day
74- if : github.event_name != 'schedule'
75- uses : hendrikmuhs/ccache-action@v1.2
76- with :
77- key : ${{ matrix.build_type }}-${{ matrix.python_version }}
78- variant : sccache
79-
80- # required for CMake to find Ninja
81- - name : " Set up MSVC Developer Command Prompt"
82- # uses: seanmiddleditch/gha-setup-vsdevenv@v4 # disabled until it gets an update for node.js
83- uses : compnerd/gha-setup-vsdevenv@main
84-
85- - name : Installing Python build environment
86- run : python -m pip install wheel build texttest
22+ call-cibuildwheel :
23+ uses : ./.github/workflows/cibuildwheel.yml
24+ with :
25+ os : " windows-latest"
8726
88- - name : Building libsumo plain
89- if : matrix.build_type == 'libsumo'
90- run : |
91- cmake -Bbuild_msvc -GNinja
92- cmake --build build_msvc --config Release --target libsumo
93- python tools\build_config\version.py tools\build_config\setup-libsumo.py tools\setup.py
94- python -m build --wheel tools -o dist --config-setting=--plat-name=win_amd64
95-
96- - name : Uploading artifacts
97- if : matrix.build_type == 'libsumo'
98- uses : actions/upload-artifact@v6
99- with :
100- name : libsumo-python-${{ matrix.python_version }}-wheels
101- path : dist
102-
103- - name : Building SUMO Wheels
104- if : matrix.build_type == 'sumo'
105- run : |
106- python tools\build_config\version.py tools\build_config\setup-sumolib.py tools\setup.py
107- python -m build --wheel tools -o dist
108- python tools\build_config\version.py tools\build_config\setup-traci.py tools\setup.py
109- python -m build --wheel tools -o dist
110- python tools\build_config\buildWindowsSUMOWheel.py
111-
112- - name : Uploading artifacts
113- if : matrix.build_type == 'sumo'
114- uses : actions/upload-artifact@v6
115- with :
116- name : sumo-python-wheels
117- path : dist
118-
119- - name : Plain libsumo tests
120- if : matrix.build_type == 'libsumo'
121- run : |
122- $env:PATH += ";$pwd\bin"
123- $env:TEXTTEST_CI_APPS = "-a complex.libsumo.ci"
124- tests\runCiTests.bat $env:pythonLocation\Scripts\texttest.exe
125-
126- - name : Compressing test results
127- if : failure()
128- run : Compress-Archive -Path $env:TEXTTEST_TMP -DestinationPath D:/texttest_plain.zip
129-
130- - name : Uploading test results
131- if : failure()
132- uses : actions/upload-artifact@v6
133- with :
134- name : texttesttmp-${{ matrix.build_type }}-${{ matrix.python_version }}
135- path : D:/texttest_plain.zip
136- if-no-files-found : warn
137-
138- # ##################
139- # testing wheels
140- # ##################
141- test-wheels :
142- needs : [build-wheels]
27+ check-dependencies :
14328 runs-on : windows-latest
14429 strategy :
14530 fail-fast : false
14631 matrix :
14732 python_version : [3.9, '3.10', 3.11, 3.12, 3.13, 3.14]
148- env :
149- TEXTTEST_TMP : ' D:/texttest'
15033
15134 steps :
152- - name : Cloning SUMO
153- uses : actions/checkout@v6
154-
15535 - name : Downloading Wheels artifact
15636 uses : actions/download-artifact@v7
15737 with :
@@ -163,24 +43,9 @@ jobs:
16343 with :
16444 python-version : ${{ matrix.python_version }}
16545
166- - name : Preparing Python environment
167- run : |
168- dir python-wheels
169- python -m pip install texttest
170- python -m pip install -f python-wheels eclipse_sumo
171- python -c "import sumo; print('SUMO_HOME=' + sumo.SUMO_HOME)" >> $env:GITHUB_ENV
172-
173- - name : Running "sumo in the wheel" tests
174- run : |
175- python -m pip install -r tools/req_ci.txt -r tools/requirements.txt
176- $env:TEXTTEST_CI_APPS = "-v ci.fast -a activitygen,dfrouter,duarouter,jtrrouter,marouter,netgen,od2trips,polyconvert,netconvert,sumo"
177- tests\runCiTests.bat $env:pythonLocation\Scripts\texttest.exe
178- $env:TEXTTEST_CI_APPS = "-v ci.fast -a complex,tools"
179- tests\runCiTests.bat $env:pythonLocation\Scripts\texttest.exe
180-
18146 - name : Installing libsumo
18247 run : |
183- python -m pip install -f python-wheels libsumo
48+ python -m pip install --no-index - f python-wheels libsumo
18449 python -c "import libsumo; print(libsumo.__file__)"
18550
18651 - name : Running dependency checker
@@ -190,20 +55,3 @@ jobs:
19055 7z x -oDependencies Dependencies.zip
19156 $env:PATH += ";" + $env:SUMO_HOME + "\bin"
19257 python -c "import libsumo, subprocess; subprocess.call(['Dependencies\\Dependencies.exe', '-modules', '-depth', '2', libsumo.__file__.replace('__init__.py', '_libsumo.pyd')])"
193-
194- - name : Running libsumo tests
195- run : |
196- $env:TEXTTEST_CI_APPS = "-a complex.libsumo"
197- tests\runCiTests.bat $env:pythonLocation\Scripts\texttest.exe
198-
199- - name : Compressing test results
200- if : failure()
201- run : Compress-Archive -Path $env:TEXTTEST_TMP -DestinationPath D:/texttest_installed.zip
202-
203- - name : Uploading test results
204- if : failure()
205- uses : actions/upload-artifact@v6
206- with :
207- name : texttesttmp-installed-${{ matrix.python_version }}
208- path : D:/texttest_installed.zip
209- if-no-files-found : warn
0 commit comments