Skip to content

Commit

Permalink
Initial Code Commit
Browse files Browse the repository at this point in the history
  • Loading branch information
nicoostendorf committed Dec 12, 2024
1 parent 2174c7d commit 96d170c
Show file tree
Hide file tree
Showing 78,049 changed files with 9,790,361 additions and 0 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
55 changes: 55 additions & 0 deletions .appveyor.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
version: git.{build}

skip_commits:
files:
- docs/**/*

environment:
matrix:
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2013
ver: 2013
generator: "Visual Studio 12 2013"
configuration: Release
PYTHON: C:\Python37-x64
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
ver: 2015
generator: "Visual Studio 14 2015"
configuration: Release
PYTHON: C:\Python37-x64
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
ver: 2017
generator: "Visual Studio 15 2017"
configuration: Release
PYTHON: C:\Python37-x64
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
ver: 2019
generator: "Visual Studio 16 2019"
configuration: Release
PYTHON: C:\Python37-x64
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
ver: 2019
generator: "Visual Studio 16 2019"
configuration: Release
PYTHON: C:\Python27-x64

install:
- git clone --recurse-submodules https://github.com/DLR-TS/SUMOLibraries
- set SUMO_LIBRARIES=%CD%\SUMOLibraries
- "%PYTHON%\\python.exe -m pip install wheel"

build_script:
- cd %APPVEYOR_BUILD_FOLDER%
- mkdir build_msvc%ver% &&
cd build_msvc%ver% &&
cmake .. -G"%generator%" -A x64 -DPYTHON_EXECUTABLE=%PYTHON%\python.exe &&
cmake --build . --config %configuration% && cd .. &&
%PYTHON%\python.exe tools\build\setup-libsumo.py bdist_wheel


matrix:
fast_finish: true

artifacts:
- path: bin
type: zip
- path: dist\*
68 changes: 68 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
# Set the default behavior, in case people don't have core.autocrlf set.
* text=auto

# Explicitly declare text files you want to always be normalized and converted
# to native line endings on checkout.
# (none yet)

# Declare files that will always have LF line endings on checkout.
*.h text eol=lf filter=keywords
*.cpp text eol=lf filter=keywords
*.py text eol=lf filter=keywords
*.pyw text eol=lf filter=keywords
*.pl text eol=lf filter=keywords
*.java text eol=lf filter=keywords
*.cs text eol=lf filter=keywords

*.xml text eol=lf
*.prog text eol=lf
*.csv text eol=lf
*.txt text eol=lf
*.tcl text eol=lf

*.complex text eol=lf
*.dfrouter text eol=lf
*.duarouter text eol=lf
*.jtrrouter text eol=lf
*.marouter text eol=lf
*.astar text eol=lf
*.chrouter text eol=lf
*.ballistic text eol=lf
*.netconvert text eol=lf
*.netedit text eol=lf
*.netgen text eol=lf
*.od2trips text eol=lf
*.polyconvert text eol=lf
*.sumo text eol=lf
*.meso text eol=lf
*.tools text eol=lf
*.traci text eol=lf
*.activitygen text eol=lf
*.sumocfg text eol=lf
*.netccfg text eol=lf
*.netgcfg text eol=lf
*.big text eol=lf
visum.net text eol=lf
# .scenario .tapasVEU only used in internal repo

# Declare files that will always have CRLF line endings on checkout.
*.bat text eol=crlf

# Denote all files that are truly binary and should not be modified.
png.complex binary
png.sumo binary
png2.sumo binary
*.ico binary
*.png binary
*.jpg binary
*.ttf binary

# files to ignore on export / archive / dist building
/.appveyor.yml export-ignore
/.gitattributes export-ignore
/.git_filters export-ignore
/.github export-ignore
/.gitignore export-ignore
/.gitmodules export-ignore
/.travis.yml export-ignore
/tests export-ignore
167 changes: 167 additions & 0 deletions .github/workflows/build-linux.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,167 @@
name: linux

on:
push: # run on push events
paths-ignore: # but ignore everything in the docs subfolder
- 'docs/**'
branches:
- '**'
tags:
- '*'
pull_request: # run on pull requests
paths-ignore: # but ignore everything in the docs subfolder
- 'docs/**'
schedule:
- cron: '5 1 * * *'

jobs:
###########################
# BUILDING ON LINUX
###########################
build:
runs-on: ubuntu-latest
strategy:
# Allow all other matrix-jobs to continue running, even if one of the jobs fails
fail-fast: false
matrix:
build_type: [full, minimal]
compiler: [gcc, clang]

steps:
- name: Cloning SUMO
uses: actions/checkout@v2
with:
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 cmake libeigen3-dev libxerces-c-dev libfox-1.6-dev libgdal-dev libproj-dev libgtest-dev libgoogle-perftools-dev libgl2ps-dev python3-dev python3-setuptools swig openjdk-8-jdk maven ccache
sudo pip3 install texttest
- name: Preparing Gtest
run: |
pushd /usr/src/gtest
sudo mkdir build
cd build
if [[ "${{ matrix.compiler }}" == "gcc" ]]; then sudo CC=gcc CXX=g++ cmake ..; fi
if [[ "${{ matrix.compiler }}" == "clang" ]]; then sudo CC=clang CXX=clang++ cmake ..; fi
sudo make
sudo cp libgtest* /usr/lib/
- name: Building SUMO
run: |
mkdir -p sumo/cmake-build
cd sumo/cmake-build
if [[ "${{ matrix.compiler }}" == "gcc" ]]; then export CC=gcc; export CXX=g++; fi
if [[ "${{ matrix.compiler }}" == "clang" ]]; then export CC=clang; export CXX=clang++; fi
if [[ "${{ matrix.build_type }}" == "full" ]]; then cmake -DFMI=ON ..; fi
if [[ "${{ matrix.build_type }}" == "minimal" ]]; then cmake -DFOX_CONFIG= -DPROJ_LIBRARY= -DCHECK_OPTIONAL_LIBS=OFF ..; fi
make -j4
- name: Building Traas
run: |
cd sumo/cmake-build
make traas
- name: Installing SUMO
run: |
cd sumo/cmake-build
sudo make install
- name: Building Examples and Tests
run: |
cd sumo/cmake-build
if [[ "${{ matrix.build_type }}" == "full" ]]; then make CTEST_OUTPUT_ON_FAILURE=1 examples test; fi
- name: Uploading artifacts (SUMO binaries)
uses: actions/upload-artifact@v1
with:
name: Linux-${{ matrix.compiler }}-${{ matrix.build_type }}
path: sumo/bin

- name: Building FMU Compliance Checker
if: matrix.build_type == 'full'
run: |
git clone https://github.com/modelica-tools/FMUComplianceChecker.git fmuChecker
cd fmuChecker
mkdir build
cd build
cmake ..
make install test
- name: Checking sumo-fmi2.fmu
if: matrix.build_type == 'full'
run: |
cd sumo
../fmuChecker/install/fmuCheck.linux64 bin/sumo-fmi2-linux64.fmu
- name: Uploading FMI 2.0 FMU artifacts
if: matrix.build_type == 'full'
uses: actions/upload-artifact@v1
with:
name: sumo-fmi2-linux64
path: sumo/bin/sumo-fmi2-linux64.fmu


###################
# BUILDING wheels
###################
build-manylinux-wheels:
runs-on: ubuntu-latest

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

- name: Fetching SUMO tags
run: |
git fetch --tags --force
- name: Building Python wheels
uses: docker://quay.io/pypa/manylinux2014_x86_64
with:
entrypoint: tools/build/build_wheels.sh

- name: Uploading artifacts (Python wheels)
uses: actions/upload-artifact@v1
with:
name: manylinux-wheels
path: wheelhouse

###################
# PUBLISHING wheels
###################
publish-wheels:
needs: [build-manylinux-wheels]
runs-on: ubuntu-latest

steps:
- uses: actions/download-artifact@v2

- name: Moving artifacts
run: |
ls -lR
mkdir dist
mv ./*-wheels/* dist
- name: Publish to Test PyPI
if: github.event_name == 'schedule'
uses: pypa/gh-action-pypi-publish@master
with:
password: ${{ secrets.TEST_PYPI_TOKEN }}
repository_url: https://test.pypi.org/legacy/

- name: Publish to PyPI
if: startsWith(github.ref, 'refs/tags')
uses: pypa/gh-action-pypi-publish@master
with:
password: ${{ secrets.PYPI_TOKEN }}
90 changes: 90 additions & 0 deletions .github/workflows/build-macos.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@

name: macos

on:
push: # run on push events
paths-ignore: # but ignore everything in the docs subfolder
- 'docs/**'
pull_request: # run on pull requests
paths-ignore: # but ignore everything in the docs subfolder
- 'docs/**'

jobs:
build:
runs-on: macos-10.15
steps:

- name: Cloning SUMO
uses: actions/checkout@v2
with:
path: sumo
fetch-depth: 0

- name: Fetching SUMO tags
run: |
cd sumo
git fetch --tags --force
- name: Preparing Build System
run: |
brew cask install xquartz
brew install xerces-c fox proj gdal gl2ps
- name: Installing Google Test
run: |
git clone --depth 1 --branch release-1.10.0 https://github.com/google/googletest
cd googletest
mkdir build
cd build
cmake ..
make
make install
- name: Building SUMO
run: |
mkdir -p sumo/cmake-build
cd sumo/cmake-build
cmake -DFMI=ON ..
make -j4
- name: Building Traas
run: |
cd sumo/cmake-build
make traas
- name: Installing SUMO
run: |
cd sumo/cmake-build
sudo make install
- name: Building Examples and Tests
run: |
cd sumo/cmake-build
make CTEST_OUTPUT_ON_FAILURE=1 examples test
- name: Uploading artifacts (SUMO binaries)
uses: actions/upload-artifact@v1
with:
name: macOS
path: sumo/bin

- name: Building FMU Compliance Checker
run: |
# Runs only in Clang11 - minizip fails due to -Werror
sudo xcode-select -s "/Applications/Xcode_11.7.app"
git clone --depth 1 https://github.com/modelica-tools/FMUComplianceChecker.git fmuChecker
cd fmuChecker
mkdir build
cd build
cmake ../ -Wno-dev
cmake --build . --target install -Wno-dev
- name: Checking sumo-fmi2.fmu
run: |
cd sumo
../fmuChecker/install/fmuCheck.darwin64 bin/sumo-fmi2-darwin64.fmu
- name: Uploading FMI 2.0 FMU artifacts
uses: actions/upload-artifact@v1
with:
name: sumo-fmi2-darwin64
path: sumo/bin/sumo-fmi2-darwin64.fmu
Loading

0 comments on commit 96d170c

Please sign in to comment.