Skip to content

MSCFModel_CC: properly handle leader role #66

MSCFModel_CC: properly handle leader role

MSCFModel_CC: properly handle leader role #66

Workflow file for this run

name: windows-wheels
on:
push: # run on push events
paths-ignore: # but ignore everything in the docs subfolder
- 'docs/**'
- 'src/gui*/**'
- 'src/netedit/**'
- 'tests/netedit/**'
branches:
- '**'
tags:
- '*'
pull_request: # run on pull requests
paths-ignore: # but ignore everything in the docs subfolder
- 'docs/**'
schedule:
- cron: '5 1 * * *'
jobs:
build-wheels:
runs-on: windows-latest
strategy:
fail-fast: false
matrix:
build_type: [libsumo]
python: [3.7, 3.8, 3.9, '3.10', 3.11]
include:
- build_type: sumo
python: 3.8
env:
CC: cl
CXX: cl
SUMO_LIBRARIES: D:\a\sumo\sumo\sumolibraries
TMPDIR: D:\a\sumo\sumo\tmp
steps:
- name: Cloning SUMO
uses: actions/checkout@v3
with:
path: sumo
fetch-depth: 0
- name: Fetching SUMO tags
run: |
cd sumo
git fetch --tags --force
- name: Cloning SUMO Libraries
uses: actions/checkout@v3
with:
repository: DLR-TS/SUMOLibraries
path: sumolibraries
- name: Configuring Python
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python }}
architecture: x64
- name: "Set up compiler cache"
uses: actions/cache@v3
with:
path: C:\Users\runneradmin\AppData\Local\Mozilla\sccache\cache
key: ${{ matrix.build_type }}-${{ matrix.python }}-${{ github.head_ref }}-${{ github.run_number }}
restore-keys: |
${{ matrix.build_type }}-${{ matrix.python }}-${{ github.head_ref }}-
${{ matrix.build_type }}-${{ matrix.python }}-
# required for CMake to find Ninja
- name: "Set up MSVC Developer Command Prompt"
# uses: seanmiddleditch/gha-setup-vsdevenv@v4 # disabled until it gets an update for node.js
uses: compnerd/gha-setup-vsdevenv@main
- name: Installing Python build environment
run: |
python -m pip install wheel build
mkdir tmp
- name: Building libsumo plain
if: matrix.build_type == 'libsumo'
run: |
cd sumo
mkdir build_msvc
cmake -Bbuild_msvc -GNinja -DCHECK_OPTIONAL_LIBS=false
cmake --build build_msvc --config Release --target libsumo libtraci
xcopy /s data .\tools\libsumo\data\
python tools\build\version.py tools\build\setup-libsumo.py tools\setup.py
python -m build --wheel tools -o dist --config-setting=--plat-name=win_amd64
python tools\build\version.py tools\build\setup-libtraci.py tools\setup.py
python -m build --wheel tools -o dist --config-setting=--plat-name=win_amd64
- name: Building SUMO Wheels
if: matrix.build_type == 'sumo'
run: |
cd sumo
python tools\build\version.py tools\build\setup-sumolib.py tools\setup.py
python -m build --wheel tools -o dist
python tools\build\version.py tools\build\setup-traci.py tools\setup.py
python -m build --wheel tools -o dist
copy build\pyproject.toml .
python tools\build\version.py tools\build\setup-sumo.py .\setup.py
python -m build --wheel --config-setting=--plat-name=win_amd64 --config-setting=-G=Ninja
python -c "import glob, os; f = glob.glob(\`"dist/eclipse_sumo-*\`")[0]; os.rename(f, f.replace(\`"cp38-cp38\`", \`"py2.py3-none\`"))"
- name: Uploading artifacts
uses: actions/upload-artifact@v3
with:
name: Py3-${{ matrix.build_type }}-wheels
path: sumo/dist
- name: Plain libsumo tests
if: matrix.build_type == 'libsumo'
run: |
$env:PATH += ";$pwd\sumo\bin"
$env:TEXTTEST_TMP = "D:/texttest"
cd sumo/build_msvc
$env:TEXTTEST_CI_APPS = "-a complex.libsumo.ci"
ctest -R texttest --verbose
copy Testing/Temporary/LastTest.log D:/texttest
- name: Uploading test results
if: always()
uses: actions/upload-artifact@v3
with:
name: texttesttmp-${{ matrix.build_type }}-${{ matrix.python }}
path: D:/texttest
if-no-files-found: warn
###################
# PUBLISHING wheels
###################
publish-wheels:
if: github.repository == 'eclipse/sumo' && (github.event_name == 'schedule' || startsWith(github.ref, 'refs/tags'))
needs: [build-wheels]
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@v2
# this step removes the sumolib and traci packages which linux takes care of
- name: Moving artifacts
run: |
ls -lR
mkdir dist
mv ./*-wheels/* dist
rm -f dist/sumolib* dist/traci*
- name: Publish to Test PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
password: ${{ secrets.TEST_PYPI_TOKEN }}
repository-url: https://test.pypi.org/legacy/
skip-existing: true
- name: Publish to PyPI
if: startsWith(github.ref, 'refs/tags')
uses: pypa/gh-action-pypi-publish@release/v1
with:
password: ${{ secrets.PYPI_TOKEN }}