Skip to content

jupedsim-windows

jupedsim-windows #61

name: jupedsim-windows
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 0 * * *'
jobs:
build:
if: github.repository == 'DLR-TS/sumo' || github.event_name == 'pull_request'
runs-on: windows-latest
strategy:
# Allow all other matrix-jobs to continue running, even if one of the jobs fails
fail-fast: false
matrix:
jps_version: ['rls-1.0', 'master']
build_config: ['Release', 'Debug']
steps:
- name: Cloning jupedsim
uses: actions/checkout@v4
with:
repository: PedestrianDynamics/jupedsim
ref: ${{ matrix.jps_version }}
path: jupedsim
- name: Building jupedsim
run: |
cmake -B jupedsim-build-${{ matrix.build_config }} -DCMAKE_INSTALL_PREFIX=jupedsim-install-${{ matrix.build_config }} jupedsim
cmake --build jupedsim-build-${{ matrix.build_config }} -j4 --config ${{ matrix.build_config }}
cmake --install jupedsim-build-${{ matrix.build_config }} --config ${{ matrix.build_config }}
- name: Uploading artifacts
uses: actions/upload-artifact@v4
with:
name: jupedsim-${{ matrix.jps_version }}-${{ matrix.build_config }}
path: jupedsim-install-${{ matrix.build_config }}
- name: Cloning SUMO
uses: actions/checkout@v4
with:
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:
repository: DLR-TS/SUMOLibraries
path: sumolibraries
- name: Configuring and building SUMO
run: |
cmake -B sumo/build-${{ matrix.build_config }} -DJUPEDSIM_CUSTOMDIR=jupedsim-install-${{ matrix.build_config }} sumo
cmake --build sumo/build-${{ matrix.build_config }} -j4 --config ${{ matrix.build_config }} --target sumo
- name: Running extra tests from the sumo suite
run: |
cd sumo/build-${{ matrix.build_config }}
$env:TEXTTEST_TMP = "D:/texttest"
$env:TEXTTEST_CI_APPS = "-a sumo.extra"
ctest --build-config ${{ matrix.build_config }} --output-on-failure -R texttest
- name: Running more tests for bleeding edge
if: matrix.jps_version == 'master'
run: |
cd sumo/build-${{ matrix.build_config }}
$env:TEXTTEST_TMP = "D:/texttest"
$env:TEXTTEST_CI_APPS = "-a sumo.extra.jps"
ctest --build-config ${{ matrix.build_config }} --output-on-failure -R texttest
- name: Compressing test results
if: failure()
run: |
dir d:\texttest
Compress-Archive -Path D:/texttest -DestinationPath D:/texttest/tt.zip
dir d:\texttest
- name: Uploading test results
if: failure()
uses: actions/upload-artifact@v4
with:
name: texttesttmp-${{ matrix.jps_version }}-${{ matrix.build_config }}
path: D:/texttest/tt.zip
if-no-files-found: warn