Skip to content

SMARTS CI Base Tests Mac #110

SMARTS CI Base Tests Mac

SMARTS CI Base Tests Mac #110

name: SMARTS CI Base Tests Mac
on:
workflow_run:
workflows: ["SMARTS CI Auto Commit Mac"]
types:
- completed
workflow_dispatch:
env:
venv_dir: .venv
jobs:
base-tests-mac:
runs-on: macos-12
strategy:
matrix:
tests:
- ./cli
- ./envision
- ./examples/tests --ignore=./examples/tests/test_learning.py
- ./smarts/sstudio
- ./smarts/env/tests/test_rllib_hiway_env.py
- ./smarts/core --nb-exec-timeout 65536 --ignore=./smarts/core/tests/test_notebook.py --ignore=./smarts/core/tests/test_renderers.py::test_custom_shader_pass_buffers
- ./smarts/env --ignore=./smarts/env/tests/test_rllib_hiway_env.py
- ./smarts/ray
steps:
- name: Checkout
uses: actions/checkout@v3
with:
ref: master
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: "3.9"
- name: Setup SUMO
run: |
brew install xquartz
brew tap dlr-ts/sumo
brew install sumo spatialindex
brew install geos
- name: Install dependencies
run: |
python3.9 -m venv ${{env.venv_dir}}
. ${{env.venv_dir}}/bin/activate
pip install --upgrade pip
pip install wheel==0.38.4
pip install -r utils/setup/mac_requirements.txt
pip install -e .[camera-obs,opendrive,rllib,test,test-notebook,torch,train,argoverse,envision,sumo]
if echo ${{matrix.tests}} | grep -q -e "/env"; then pip install -e .[rllib]; fi
if echo ${{matrix.tests}} | grep -q -e "/examples"; then pip install -e .[examples,rllib]; fi
if echo ${{matrix.tests}} | grep -q "/ray"; then pip install -e .[ray]; fi
- name: Run smoke tests
run: |
. ${{env.venv_dir}}/bin/activate
export SUMO_HOME="/usr/local/opt/sumo/share/sumo"
open -g -a XQuartz.app
make build-all-scenarios
PYTHONPATH=$PWD PYTHONHASHSEED=42 pytest -v \
--doctest-modules \
-n auto \
--ignore-glob="**/waymo_map.py" \
--ignore-glob="**/argoverse_map.py" \
${{matrix.tests}} \
--ignore=./smarts/core/tests/test_smarts_memory_growth.py \
--ignore=./smarts/env/tests/test_benchmark.py \
--ignore=./smarts/env/tests/test_frame_stack.py \
--ignore=./smarts/env/tests/test_determinism.py \
--ignore=./smarts/core/tests/test_renderers.py \
--ignore=./smarts/core/tests/test_smarts.py \
--ignore=./smarts/core/tests/test_env_frame_rate.py \
--ignore=./smarts/core/tests/test_observations.py \
--ignore=./smarts/core/utils/tests/test_traci_port_acquisition.py