Skip to content

Commit

Permalink
Merge branch 'main' into GLOSAUpdate
Browse files Browse the repository at this point in the history
  • Loading branch information
m-kro authored Oct 23, 2024
2 parents ce463a1 + e3654e5 commit 099cff3
Show file tree
Hide file tree
Showing 1,265 changed files with 54,081 additions and 5,549 deletions.
35 changes: 17 additions & 18 deletions .github/workflows/build-linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,8 @@ on:

jobs:
build:
runs-on: ubuntu-latest
# runs-on: ubuntu-latest
runs-on: ubuntu-24.04
strategy:
# Allow all other matrix-jobs to continue running, even if one of the jobs fails
fail-fast: false
Expand All @@ -36,18 +37,11 @@ jobs:
path: sumo
fetch-depth: 0

- name: Fetching SUMO tags
run: |
cd sumo
git fetch --tags --force
- name: Preparing Build System
run: |
sudo apt-get update
sudo apt-get install libunwind-dev # to work around https://bugs.launchpad.net/ubuntu/+source/google-glog/+bug/1991919
sudo apt-get install cmake libeigen3-dev libxerces-c-dev libfox-1.6-dev libgdal-dev libproj-dev libfmt-dev
sudo apt-get install libgtest-dev libgoogle-perftools-dev libgl2ps-dev python3-dev python3-setuptools swig
sudo apt-get install maven ccache libv8-dev gettext pipx
sudo apt-get install $(cat sumo/build_config/build_req_deb.txt)
pipx install texttest
- name: Validate CITATION.cff
Expand All @@ -56,10 +50,6 @@ jobs:
with:
citation-path: sumo/CITATION.cff

- name: ccache
if: github.event_name != 'schedule'
uses: hendrikmuhs/ccache-action@v1.2

- name: Cloning jupedsim
if: matrix.build_type == 'full' && matrix.compiler == 'gcc'
uses: actions/checkout@v4
Expand All @@ -68,11 +58,17 @@ jobs:
ref: ${{ matrix.jps_version }}
path: jupedsim

- name: ccache
# do a clean build once a day
if: github.event_name != 'schedule'
uses: hendrikmuhs/ccache-action@v1.2
with:
key: ${{ matrix.build_type }}-${{ matrix.compiler }}

- name: Building libjupedsim
if: matrix.build_type == 'full' && matrix.compiler == 'gcc'
run: |
sudo apt-get install libgeos-dev
cmake -B jupedsim-build -DCMAKE_INSTALL_PREFIX=jupedsim-install jupedsim
cmake -B jupedsim-build -D CMAKE_INSTALL_PREFIX=jupedsim-install -D CMAKE_C_COMPILER_LAUNCHER=ccache -D CMAKE_CXX_COMPILER_LAUNCHER=ccache jupedsim
cmake --build jupedsim-build -j4 --config Release
cmake --install jupedsim-build --config Release
Expand Down Expand Up @@ -113,8 +109,12 @@ jobs:
- name: Building Examples and Tests
if: matrix.build_type == 'full' && (github.repository == 'DLR-TS/sumo' || matrix.compiler == 'gcc')
# need to explicitly uninstall matplotlib below because pandas pulls it in but we need a newer version for test stability
# having both installed confuses matplotlib https://github.com/matplotlib/matplotlib/issues/26827
# the pipdeptree below is also just for debugging but often comes handy so keep it enabled
run: |
sudo apt-get install python3-pyproj python3-rtree python3-pandas python3-flake8 python3-autopep8 python3-scipy python3-pulp python3-ezdxf python3-pyperclip python3-polib
sudo apt-get install $(cat sumo/build_config/tools_req_deb.txt)
sudo apt-get -y remove python3-matplotlib
python3 -m venv testenv --system-site-packages
source testenv/bin/activate
python3 -m pip install -r sumo/tools/req_ci.txt -r sumo/tools/requirements.txt
Expand All @@ -126,10 +126,9 @@ jobs:
- name: Extra tests
if: matrix.build_type == 'full' && matrix.compiler == 'gcc'
run: |
sudo apt-get install python2
source testenv/bin/activate
sumo/tests/runTests.sh -b ci -a sumo.meso.ci,sumo.extra.ci
sumo/tests/runTests.sh -b ci -a netconvert.gdal.ci,polyconvert.gdal.ci
sumo/tests/runTests.sh -b ci -a tools.python2.ci
- name: Compressing test results
if: failure()
Expand Down
52 changes: 33 additions & 19 deletions .github/workflows/build-macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ jobs:
fail-fast: false
matrix:
os: [macos-13, macos-14]
jps_version: ['v1.2.1']
runs-on: ${{ matrix.os }}
env:
CCACHE_COMPILERTYPE: clang
Expand All @@ -31,58 +32,71 @@ jobs:
path: sumo
fetch-depth: 0

- name: Fetching SUMO tags
run: |
cd sumo
git fetch --tags --force
- name: Preparing Build System
run: |
brew update
brew upgrade || brew link --overwrite python@3.12
brew install --cask xquartz
brew install xerces-c fox proj gdal gl2ps ccache googletest fmt
# python3 -m pip install texttest
brew install xerces-c fox proj gdal gl2ps ccache googletest fmt swig eigen
- name: Cloning jupedsim
uses: actions/checkout@v4
with:
repository: PedestrianDynamics/jupedsim
ref: ${{ matrix.jps_version }}
path: jupedsim

- name: ccache
if: github.event_name != 'schedule'
uses: hendrikmuhs/ccache-action@v1.2
with:
key: ${{ matrix.os }}

- name: Building libjupedsim
run: |
cmake -B jupedsim-build -D CMAKE_INSTALL_PREFIX=jupedsim-install -D CMAKE_C_COMPILER_LAUNCHER=ccache -D CMAKE_CXX_COMPILER_LAUNCHER=ccache jupedsim
cmake --build jupedsim-build -j4 --config Release
cmake --install jupedsim-build --config Release
- name: Building SUMO
run: |
mkdir -p sumo/cmake-build
cd sumo/cmake-build
cmake ..
make -j4
cmake -B sumo/cmake-build sumo
cmake --build sumo/cmake-build -j4
- name: Building Traas
run: |
cd sumo/cmake-build
make traas
run: cmake --build sumo/cmake-build --target traas

- name: Installing SUMO
run: |
cd sumo/cmake-build
sudo make install
run: sudo cmake --install sumo/cmake-build

- name: Building Examples and Tests
run: |
export DYLD_FALLBACK_LIBRARY_PATH=$PWD/jupedsim-install/lib:$DYLD_FALLBACK_LIBRARY_PATH
cd sumo/cmake-build
make CTEST_OUTPUT_ON_FAILURE=1 examples test
- name: Running texttest
run: |
brew install texttest
export DYLD_FALLBACK_LIBRARY_PATH=$PWD/jupedsim-install/lib:$DYLD_FALLBACK_LIBRARY_PATH
sumo/tests/runTests.sh -b ci -v ci -ts meta
- name: Uploading artifacts (SUMO binaries and FMU)
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.os }}-binaries
path: sumo/bin

- name: Creating macOS installer dmg
if: matrix.os != 'macos-13'
run: |
cd sumo
python3 -m pip install dmgbuild
python3 tools/build_config/buildMacOSInstaller.py ./cmake-build
python3 -m venv dmgenv
dmgenv/bin/python3 -m pip install dmgbuild
dmgenv/bin/python3 tools/build_config/buildMacOSInstaller.py ./cmake-build --verbose
- name: Uploading macOS installer dmg
if: matrix.os != 'macos-13'
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.os }}-installer-unsigned
Expand Down
5 changes: 0 additions & 5 deletions .github/workflows/build-windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,11 +33,6 @@ jobs:
path: sumo
fetch-depth: 0

- name: Fetching SUMO tags
run: |
cd sumo
git fetch --tags --force
- name: Cloning SUMO Libraries
uses: actions/checkout@v4
with:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/documentation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ jobs:
uses: actions/checkout@v4

- name: Lychee Link Checker
uses: lycheeverse/lychee-action@v1
uses: lycheeverse/lychee-action@v2
with:
fail: true
args: -c docs/web/lychee.toml -n docs/web/docs/ --cache --max-cache-age 2d
5 changes: 0 additions & 5 deletions .github/workflows/jupedsim-windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,11 +51,6 @@ jobs:
path: sumo
fetch-depth: 0

- name: Fetching SUMO tags
run: |
cd sumo
git fetch --tags --force
- name: Cloning SUMO Libraries
uses: actions/checkout@v4
with:
Expand Down
9 changes: 2 additions & 7 deletions .github/workflows/wheel-cibw.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,18 +31,13 @@ jobs:
path: sumo
fetch-depth: 0

# - name: Fetching SUMO tags
# run: |
# cd sumo
# git fetch --tags --force

# - name: Preparing wheel eclipse-sumo
# run: |
# cp sumo/build_config/pyproject.toml sumo/
# python3 sumo/tools/build_config/version.py sumo/tools/build_config/setup-sumo.py sumo/setup.py

# - name: Building wheel eclipse-sumo
# uses: pypa/cibuildwheel@v2.21.2
# uses: pypa/cibuildwheel@v2.21.3
# with:
# package-dir: sumo
# output-dir: wheelhouse
Expand All @@ -56,7 +51,7 @@ jobs:
python3 sumo/tools/build_config/version.py sumo/tools/build_config/setup-libsumo.py sumo/tools/setup.py
- name: Building wheel libsumo
uses: pypa/cibuildwheel@v2.21.2
uses: pypa/cibuildwheel@v2.21.3
with:
package-dir: sumo/tools
output-dir: wheelhouse
Expand Down
20 changes: 9 additions & 11 deletions .github/workflows/wheel-linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,27 +20,24 @@ on:

jobs:
build-manylinux-wheels:
runs-on: ubuntu-latest
# runs-on: ubuntu-latest
runs-on: ubuntu-24.04

steps:
- name: Cloning SUMO
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Fetching SUMO tags
run: |
git fetch --tags --force
- name: Building sumolib / traci (pure Python) wheels and sdist
run: |
cd tools
sudo apt-get update
sudo apt-get install python3-build
python build_config/version.py build_config/setup-sumolib.py ./setup.py
python -m build -o ../wheelhouse
python build_config/version.py build_config/setup-traci.py ./setup.py
python -m build -o ../wheelhouse
python3 build_config/version.py build_config/setup-sumolib.py ./setup.py
python3 -m build -o ../wheelhouse
python3 build_config/version.py build_config/setup-traci.py ./setup.py
python3 -m build -o ../wheelhouse
- name: Building SUMO / libsumo Python wheels (latest manylinux docker)
# if: github.repository == 'DLR-TS/sumo'
Expand Down Expand Up @@ -72,7 +69,8 @@ jobs:
###################
test-wheels:
needs: [build-manylinux-wheels]
runs-on: ubuntu-latest
# runs-on: ubuntu-latest
runs-on: ubuntu-24.04
strategy:
fail-fast: false
matrix:
Expand All @@ -96,7 +94,7 @@ jobs:
sudo apt-get install pipx
pipx install texttest
python3 -m venv testenv --system-site-packages
testenv/bin/python -m pip install manylinux-wheels/eclipse_sumo*
testenv/bin/python -m pip install -f manylinux-wheels eclipse_sumo
testenv/bin/python -c "import sumo; print('SUMO_HOME=' + sumo.SUMO_HOME)" >> $GITHUB_ENV
- name: Running "sumo in the wheel" tests
Expand Down
3 changes: 0 additions & 3 deletions .github/workflows/wheel-macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -103,9 +103,6 @@ jobs:
with:
fetch-depth: 0

- name: Fetching SUMO tags
run: git fetch --tags --force

- name: Downloading Wheels artifact
uses: actions/download-artifact@v4
with:
Expand Down
6 changes: 0 additions & 6 deletions .github/workflows/wheel-windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,9 +42,6 @@ jobs:
with:
fetch-depth: 0

- name: Fetching SUMO tags
run: git fetch --tags --force

- name: Cloning SUMO Libraries
uses: actions/checkout@v4
with:
Expand Down Expand Up @@ -145,9 +142,6 @@ jobs:
with:
fetch-depth: 0

- name: Fetching SUMO tags
run: git fetch --tags --force

- name: Downloading Wheels artifact
uses: actions/download-artifact@v4
with:
Expand Down
1 change: 1 addition & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -395,6 +395,7 @@ if (SUMO_LIBRARIES AND WIN32)
# "${FREETYPE_PATH}/bin/*.dll"
"${GETTEXT_PATH}/bin/*.dll"
"${SUMO_LIBRARIES}/3rdPartyLibs/bzip2-*/bin/*.dll"
"${SUMO_LIBRARIES}/3rdPartyLibs/geos-*/bin/*.dll"
"${SUMO_LIBRARIES}/3rdPartyLibs/curl-*/bin/*.dll"
"${SUMO_LIBRARIES}/3rdPartyLibs/libpng-*/bin/*.dll"
"${SUMO_LIBRARIES}/3rdPartyLibs/libssh2-*/bin/*.dll"
Expand Down
32 changes: 32 additions & 0 deletions build_config/build_req_deb.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
astyle
ccache
cmake
doxygen
g++
gettext
git
graphviz
hugo
libeigen3-dev
libfmt-dev
libfox-1.6-dev
libgdal-dev
libgeos-dev
libgl2ps-dev
libgoogle-perftools-dev
libgtest-dev
libproj-dev
libv8-dev
libxerces-c-dev
maven
mkdocs
pipx
plantuml
pre-commit
python-is-python3
python3-build
python3-dev
python3-pip
python3-setuptools
swig
xvfb
Loading

0 comments on commit 099cff3

Please sign in to comment.