|
15 | 15 | paths-ignore: # but ignore everything in the docs subfolder |
16 | 16 | - 'docs/**' |
17 | 17 | workflow_dispatch: |
18 | | - schedule: |
19 | | - - cron: '5 1 * * *' |
20 | | - - cron: '5 8 * * *' |
21 | 18 |
|
22 | 19 | jobs: |
23 | | - build-manylinux-wheels: |
24 | | - runs-on: ubuntu-latest |
25 | | - |
26 | | - steps: |
27 | | - - name: Cloning SUMO |
28 | | - if: github.event.schedule != '5 8 * * *' |
29 | | - uses: actions/checkout@v6 |
30 | | - with: |
31 | | - fetch-depth: 0 |
32 | | - filter: tree:0 |
33 | | - # to work around actions/checkout#1467 |
34 | | - ref: ${{ github.ref }} |
35 | | - |
36 | | - - name: Building sumolib / traci (pure Python) wheels and sdist |
37 | | - if: github.event.schedule != '5 8 * * *' |
38 | | - run: | |
39 | | - cd tools |
40 | | - sudo apt-get update |
41 | | - sudo apt-get install python3-build |
42 | | - python3 build_config/version.py build_config/setup-sumolib.py ./setup.py |
43 | | - python3 -m build -o ../wheelhouse |
44 | | - python3 build_config/version.py build_config/setup-traci.py ./setup.py |
45 | | - python3 -m build -o ../wheelhouse |
46 | | -
|
47 | | - - name: Building SUMO / libsumo Python wheels (latest manylinux docker) |
48 | | - if: github.event.schedule != '5 8 * * *' |
49 | | - uses: docker://quay.io/pypa/manylinux2014_x86_64 |
50 | | - with: |
51 | | - entrypoint: tools/build_config/build_wheels.sh |
52 | | - |
53 | | - # the next two steps are only needed when we debug the manylinux build |
54 | | - # - name: Building Python wheels (fixed manylinux docker) |
55 | | - # uses: docker://quay.io/pypa/manylinux2014_x86_64:2022-11-14-1226cfc |
56 | | - # with: |
57 | | - # entrypoint: tools/build_config/build_wheels.sh |
58 | | - |
59 | | - # - name: Uploading raw wheels (without auditwheel being applied) |
60 | | - # uses: actions/upload-artifact@v6 |
61 | | - # with: |
62 | | - # name: manylinux-raw-wheels |
63 | | - # path: dist |
64 | | - |
65 | | - - name: Uploading artifacts (Python wheels) |
66 | | - if: github.event.schedule != '5 8 * * *' |
67 | | - uses: actions/upload-artifact@v6 |
68 | | - with: |
69 | | - name: manylinux-wheels |
70 | | - path: wheelhouse |
71 | | - |
72 | | - ################### |
73 | | - # testing wheels |
74 | | - ################### |
75 | | - test-wheels: |
76 | | - needs: [build-manylinux-wheels] |
77 | | - runs-on: ubuntu-latest |
78 | | - env: |
79 | | - WHEEL_DIR: manylinux-wheels |
80 | | - strategy: |
81 | | - fail-fast: false |
82 | | - matrix: |
83 | | - python_version: [3.8, 3.9, '3.10', 3.11, 3.12, 3.13] |
84 | | -# python_version: [3.8, 3.9, '3.10', 3.11, 3.12, 3.13, 3.13t, 3.14] |
85 | | - |
86 | | - steps: |
87 | | - - name: Cloning SUMO |
88 | | - uses: actions/checkout@v6 |
89 | | - |
90 | | - - name: Downloading Wheels artifact |
91 | | - if: github.event.schedule != '5 8 * * *' |
92 | | - uses: actions/download-artifact@v7 |
93 | | - with: |
94 | | - path: manylinux-wheels |
95 | | - |
96 | | - - name: Setting wheel directory |
97 | | - if: github.event.schedule == '5 8 * * *' |
98 | | - run: echo 'WHEEL_DIR=https://sumo.dlr.de/daily/wheels' >> $GITHUB_ENV |
99 | | - |
100 | | - - name: Configuring Python |
101 | | - uses: actions/setup-python@v6 |
102 | | - with: |
103 | | - python-version: ${{ matrix.python_version }} |
104 | | - |
105 | | - - name: Preparing Python environment |
106 | | - run: | |
107 | | - sudo apt-get update |
108 | | - sudo apt-get install pipx |
109 | | - pipx install texttest |
110 | | - python3 -m venv testenv --system-site-packages |
111 | | - testenv/bin/python -m pip install --no-index -f $WHEEL_DIR eclipse_sumo |
112 | | - testenv/bin/python -c "import sumo; print('SUMO_HOME=' + sumo.SUMO_HOME)" >> $GITHUB_ENV |
113 | | -
|
114 | | - - name: Running "sumo in the wheel" tests |
115 | | - if: matrix.python_version != '3.13t' |
116 | | - run: | |
117 | | - source testenv/bin/activate |
118 | | - python3 -m pip install -r tools/req_ci.txt -r tools/requirements.txt |
119 | | - tests/runTests.sh -b ci -v ci.fast |
120 | | -
|
121 | | - - name: Running libsumo tests |
122 | | - run: | |
123 | | - source testenv/bin/activate |
124 | | - python3 -m pip install -f $WHEEL_DIR libsumo |
125 | | - cd tests |
126 | | - texttest -b ci -v ci -a complex.libsumo |
127 | | -
|
128 | | - - name: Compressing test results |
129 | | - if: failure() |
130 | | - run: | |
131 | | - zip -r texttesttmp.zip ~/.texttest/tmp |
132 | | -
|
133 | | - - name: Uploading test results |
134 | | - if: failure() |
135 | | - uses: actions/upload-artifact@v6 |
136 | | - with: |
137 | | - name: texttesttmp-${{ matrix.python_version }} |
138 | | - path: texttesttmp.zip |
139 | | - if-no-files-found: warn |
| 20 | + call-cibuildwheel: |
| 21 | + uses: ./.github/workflows/cibuildwheel.yml |
| 22 | + with: |
| 23 | + os: "ubuntu-latest,ubuntu-24.04-arm" |
0 commit comments