Merge pull request #587 from Farama-Foundation/core-updates #82
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build and test | |
on: | |
push: | |
paths: | |
- '.github/workflows/build-and-test.yml' | |
- 'include/**' | |
- 'scripts/**' | |
- 'src/**' | |
- 'tests/**' | |
- 'CMakeLists.txt' | |
- 'setup.py' | |
- 'pyproject.toml' | |
branches: [master] | |
pull_request: | |
paths: | |
- '.github/workflows/build-and-test.yml' | |
- 'include/**' | |
- 'scripts/**' | |
- 'src/**' | |
- 'tests/**' | |
- 'CMakeLists.txt' | |
- 'setup.py' | |
- 'pyproject.toml' | |
branches: [master] | |
env: | |
HOMEBREW_NO_AUTO_UPDATE: 1 | |
HOMEBREW_NO_INSTALL_CLEANUP: 1 | |
jobs: | |
build_and_test: | |
strategy: | |
matrix: | |
os: [ubuntu-22.04, ubuntu-24.04, macos-13, macos-14] | |
python-version: ['3.9', '3.10', '3.11', '3.12'] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Report OS | |
run: | | |
echo ${{ matrix.os }} | |
echo ${{ runner.os }} | |
uname -p | |
- name: Install dependencies on Ubuntu | |
if: runner.os == 'Linux' | |
run: | | |
sudo apt update | |
sudo apt install -y cmake git libboost-all-dev libsdl2-dev libopenal-dev | |
- name: Apt report | |
if: runner.os == 'Linux' | |
run: apt list --installed | |
- name: Install dependencies on MacOS | |
if: runner.os == 'macOS' | |
run: brew install cmake boost openal-soft sdl2 | |
- name: Set up Python ${{ matrix.python-version }} environment | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Python environment report | |
run: python -c "import sys; print(sys.version)" | |
- name: Pip install | |
run: pip install .[test] | |
- name: Import check | |
run: python -c "import vizdoom" | |
- name: Run tests | |
# Skip tests on macOS with Apple Silicon, because they are slow (TODO: investigate) | |
if: matrix.os != 'macos-14' | |
run: pytest tests |