Added CrossQ #1006
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
# This workflow will install Python dependencies, run tests and lint with a variety of Python versions | |
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions | |
name: CI | |
on: | |
push: | |
branches: [master] | |
pull_request: | |
branches: [master] | |
jobs: | |
build: | |
env: | |
TERM: xterm-256color | |
FORCE_COLOR: 1 | |
# Skip CI if [ci skip] in the commit message | |
if: "! contains(toJSON(github.event.commits.*.message), '[ci skip]')" | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
python-version: ["3.8", "3.9", "3.10", "3.11"] | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: true | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
# Use uv for faster downloads | |
pip install uv | |
# Install Atari Roms | |
uv pip install --system autorom | |
wget https://gist.githubusercontent.com/jjshoots/61b22aefce4456920ba99f2c36906eda/raw/00046ac3403768bfe45857610a3d333b8e35e026/Roms.tar.gz.b64 | |
base64 Roms.tar.gz.b64 --decode &> Roms.tar.gz | |
AutoROM --accept-license --source-file Roms.tar.gz | |
# See https://github.com/astral-sh/uv/issues/1497 | |
uv pip install --system torch==2.4.1+cpu --index https://download.pytorch.org/whl/cpu | |
# Install full requirements (for additional envs and test tools) | |
uv pip install --system -r requirements.txt | |
# Use headless version | |
uv pip install --system opencv-python-headless | |
uv pip install --system -e .[plots,tests] | |
- name: Lint with ruff | |
run: | | |
make lint | |
- name: Check codestyle | |
run: | | |
make check-codestyle | |
- name: Build the doc | |
run: | | |
make doc | |
- name: Type check | |
run: | | |
make type | |
# Do not run for python 3.8 (mypy internal error) | |
if: matrix.python-version != '3.8' | |
- name: Test with pytest | |
run: | | |
make pytest |