Skip to content

Call step preprocessor once #172

Call step preprocessor once

Call step preprocessor once #172

Workflow file for this run

name: tests-jax
on:
push:
branches: [ main, develop ]
paths:
- 'skrl/**/jax/**'
- 'skrl/__init__.py'
- 'skrl/utils/__init__.py'
- 'tests/**/jax/**'
- 'tests/test_jax_config.py'
- 'tests/strategies.py'
- 'tests/utilities.py'
pull_request:
types: [opened, synchronize, reopened, ready_for_review]
branches: [ main, develop ]
paths:
- 'skrl/**/jax/**'
- 'skrl/__init__.py'
- 'skrl/utils/__init__.py'
- 'tests/**/jax/**'
- 'tests/test_jax_config.py'
- 'tests/strategies.py'
- 'tests/utilities.py'
schedule:
- cron: "9 9 * * 6" # every Saturday at 9:09 UTC
workflow_dispatch:
defaults:
run:
shell: bash
jobs:
############################################################
# Minimum requirements
############################################################
jax-minimum-components:
name: Minimum requirements (components)
runs-on: ubuntu-22.04
if: github.event.pull_request.draft == false && github.event_name != 'workflow_dispatch'
steps:
# setup
- uses: actions/checkout@v4
- name: Delete Python cache
if: env.DELETE_HOSTED_TOOL_PYTHON_CACHE == '1'
run: |
rm -rf /opt/hostedtoolcache/Python
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.10'
check-latest: true
# install dependencies
- name: Install dependencies
run: |
python -m pip install --quiet --upgrade pip
python -m pip install --quiet "numpy<2.0" # 1.19.3
python -m pip install --quiet jax==0.4.31 jaxlib==0.4.31 flax==0.9.0 optax
python -m pip install --quiet -e .[jax]
python -m pip install --quiet -e .[tests]
python -m pip list
# run tests
- name: Run tests (agents)
run: |
pytest \
--self-contained-html \
--html=jax-minimum-components-agents-pytest.html \
--cov=skrl/agents/jax \
--cov-report term:skip-covered \
--cov-report html:jax-minimum-components-agents-coverage.html \
tests/agents/jax
- name: Run tests (multi-agents)
run: |
pytest \
--self-contained-html \
--html=jax-minimum-components-multi-agents-pytest.html \
--cov=skrl/multi_agents/jax \
--cov-report term:skip-covered \
--cov-report html:jax-minimum-components-multi-agents-coverage.html \
tests/multi_agents/jax
- name: Run tests (trainers)
run: |
pytest \
--self-contained-html \
--html=jax-minimum-components-trainers-pytest.html \
--cov=skrl/trainers/jax \
--cov-report term:skip-covered \
--cov-report html:jax-minimum-components-trainers-coverage.html \
tests/trainers/jax
# report
- name: Save reports
uses: actions/upload-artifact@v4
with:
name: jax-minimum-components.html
path: jax-minimum-components-*.html
retention-days: 3
jax-minimum-envs:
name: Minimum requirements (envs)
runs-on: ubuntu-22.04
if: github.event.pull_request.draft == false && github.event_name != 'workflow_dispatch'
steps:
# setup
- uses: actions/checkout@v4
- name: Delete Python cache
if: env.DELETE_HOSTED_TOOL_PYTHON_CACHE == '1'
run: |
rm -rf /opt/hostedtoolcache/Python
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.10'
check-latest: true
# install dependencies
- name: Install dependencies
run: |
python -m pip install --quiet --upgrade pip
python -m pip install --quiet "numpy<2.0" # 1.19.3
python -m pip install --quiet jax==0.4.31 jaxlib==0.4.31 flax==0.9.0 optax
python -m pip install --quiet -e .[jax]
python -m pip install --quiet -e .[tests]
python -m pip list
# run tests
- name: Run tests (Gymnasium)
run: |
python -m pip install --quiet gymnasium==0.26.1 pygame
python -m pip list
pytest tests/envs/wrappers/jax/test_gymnasium_envs.py
- name: Run tests (Gym)
run: |
python -m pip install --quiet gym==0.23.0
python -m pip list
pytest tests/envs/wrappers/jax/test_gym_envs.py
- name: Run tests (PettingZoo)
run: |
python -m pip install --quiet pettingzoo==1.22.2 pymunk
python -m pip list
pytest tests/envs/wrappers/jax/test_pettingzoo_envs.py
- name: Run tests (Brax)
run: |
python -m pip install --quiet brax==0.12.0 mujoco==3.2.6
python -m pip list
pytest tests/envs/wrappers/jax/test_brax_envs.py
- name: Run tests (Isaac Lab)
run: |
python -m pip install --quiet torch==1.11.0
pytest tests/envs/wrappers/jax/test_isaaclab_envs.py
jax-minimum-utils:
name: Minimum requirements (utils)
runs-on: ubuntu-22.04
if: github.event.pull_request.draft == false && github.event_name != 'workflow_dispatch'
steps:
# setup
- uses: actions/checkout@v4
- name: Delete Python cache
if: env.DELETE_HOSTED_TOOL_PYTHON_CACHE == '1'
run: |
rm -rf /opt/hostedtoolcache/Python
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.10'
check-latest: true
# install dependencies
- name: Install dependencies
run: |
python -m pip install --quiet --upgrade pip
python -m pip install --quiet "numpy<2.0" # 1.19.3
python -m pip install --quiet jax==0.4.31 jaxlib==0.4.31 flax==0.9.0 optax
python -m pip install --quiet -e .[jax]
python -m pip install --quiet -e .[tests]
python -m pip list
# run tests
- name: Run tests (model_instantiators)
run: |
python -m pip install --quiet gym==0.23.0
pytest \
--self-contained-html \
--html=jax-minimum-utils-model_instantiators-pytest.html \
--cov=skrl/utils/model_instantiators/jax \
--cov-report term:skip-covered \
--cov-report html:jax-minimum-utils-model_instantiators-coverage.html \
tests/utils/model_instantiators/jax
- name: Run tests (spaces)
run: |
pytest \
--self-contained-html \
--html=jax-minimum-utils-spaces-pytest.html \
--cov=skrl/utils/spaces/jax \
--cov-report term:skip-covered \
--cov-report html:jax-minimum-utils-spaces-coverage.html \
tests/utils/spaces/jax
# report
- name: Save reports
uses: actions/upload-artifact@v4
with:
name: jax-minimum-utils.html
path: jax-minimum-utils-*.html
retention-days: 3
############################################################
# Latest requirements
############################################################
jax-latest-components:
name: Latest requirements (components)
runs-on: ubuntu-latest
if: github.event.pull_request.draft == false
steps:
# setup
- uses: actions/checkout@v4
- name: Delete Python cache
if: env.DELETE_HOSTED_TOOL_PYTHON_CACHE == '1'
run: |
rm -rf /opt/hostedtoolcache/Python
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: 3.13
check-latest: true
# install dependencies
- name: Install dependencies
run: |
python -m pip install --quiet --upgrade pip
python -m pip install --quiet jax
python -m pip install --quiet -e .[jax]
python -m pip install --quiet -e .[tests]
python -m pip list
# run tests
- name: Run tests (agents)
run: |
pytest \
--self-contained-html \
--html=jax-latest-components-agents-pytest.html \
--cov=skrl/agents/jax \
--cov-report term:skip-covered \
--cov-report html:jax-latest-components-agents-coverage.html \
tests/agents/jax
- name: Run tests (multi-agents)
run: |
pytest \
--self-contained-html \
--html=jax-latest-components-multi-agents-pytest.html \
--cov=skrl/multi_agents/jax \
--cov-report term:skip-covered \
--cov-report html:jax-latest-components-multi-agents-coverage.html \
tests/multi_agents/jax
- name: Run tests (trainers)
run: |
pytest \
--self-contained-html \
--html=jax-latest-components-trainers-pytest.html \
--cov=skrl/trainers/jax \
--cov-report term:skip-covered \
--cov-report html:jax-latest-components-trainers-coverage.html \
tests/trainers/jax
# report
- name: Save reports
uses: actions/upload-artifact@v4
with:
name: jax-latest-components.html
path: jax-latest-components-*.html
retention-days: 3
jax-latest-envs:
name: Latest requirements (envs)
runs-on: ubuntu-latest
if: github.event.pull_request.draft == false
steps:
# setup
- uses: actions/checkout@v4
- name: Delete Python cache
if: env.DELETE_HOSTED_TOOL_PYTHON_CACHE == '1'
run: |
rm -rf /opt/hostedtoolcache/Python
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: 3.13
check-latest: true
# install dependencies
- name: Install dependencies
run: |
python -m pip install --quiet --upgrade pip
python -m pip install --quiet jax
python -m pip install --quiet -e .[jax]
python -m pip install --quiet -e .[tests]
python -m pip list
# run tests
- name: Run tests (Gymnasium)
run: |
python -m pip install --quiet gymnasium
python -m pip list
pytest tests/envs/wrappers/jax/test_gymnasium_envs.py
- name: Run tests (Gym)
run: |
python -m pip install --quiet gym
python -m pip list
pytest tests/envs/wrappers/jax/test_gym_envs.py
- name: Run tests (PettingZoo)
run: |
python -m pip install --quiet pettingzoo pygame pymunk
python -m pip list
pytest tests/envs/wrappers/jax/test_pettingzoo_envs.py
- name: Run tests (Brax)
run: |
python -m pip install --quiet brax
python -m pip list
pytest tests/envs/wrappers/jax/test_brax_envs.py
- name: Run tests (Isaac Lab)
run: |
python -m pip install --quiet torch
pytest tests/envs/wrappers/jax/test_isaaclab_envs.py
jax-latest-utils:
name: Latest requirements (utils)
runs-on: ubuntu-latest
if: github.event.pull_request.draft == false
steps:
# setup
- uses: actions/checkout@v4
- name: Delete Python cache
if: env.DELETE_HOSTED_TOOL_PYTHON_CACHE == '1'
run: |
rm -rf /opt/hostedtoolcache/Python
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: 3.13
check-latest: true
# install dependencies
- name: Install dependencies
run: |
python -m pip install --quiet --upgrade pip
python -m pip install --quiet jax
python -m pip install --quiet -e .[jax]
python -m pip install --quiet -e .[tests]
python -m pip list
# run tests
- name: Run tests (model_instantiators)
run: |
python -m pip install --quiet gym
pytest \
--self-contained-html \
--html=jax-latest-utils-model_instantiators-pytest.html \
--cov=skrl/utils/model_instantiators/jax \
--cov-report term:skip-covered \
--cov-report html:jax-latest-utils-model_instantiators-coverage.html \
tests/utils/model_instantiators/jax
- name: Run tests (spaces)
run: |
pytest \
--self-contained-html \
--html=jax-latest-utils-spaces-pytest.html \
--cov=skrl/utils/spaces/jax \
--cov-report term:skip-covered \
--cov-report html:jax-latest-utils-spaces-coverage.html \
tests/utils/spaces/jax
# report
- name: Save reports
uses: actions/upload-artifact@v4
with:
name: jax-latest-utils.html
path: jax-latest-utils-*.html
retention-days: 3