Skip to content

Disable jit-compilation in RL as it leads to learning instability. #80

Disable jit-compilation in RL as it leads to learning instability.

Disable jit-compilation in RL as it leads to learning instability. #80

Workflow file for this run

name: slippi-ai test cases
on: [push, pull_request]
jobs:
test:
runs-on: ${{ matrix.os }}
strategy:
matrix:
python-version: ['3.9', '3.10']
os: ['ubuntu-latest']
steps:
- uses: actions/checkout@v4
# See https://github.com/pypa/pip/issues/11281
- name: Install
run: |
pip install tensorflow ray
pip install -r requirements.txt
pip install .
- name: Run Unit Tests
run: |
python tests/networks_test.py
python tests/rl_lib_test.py
python tests/unit_tests.py
- name: Test Imitation
run: ./tests/training_test.sh
- name: Test Imitation with Restore
run: ./tests/training_test.sh --config.restore_pickle=slippi_ai/data/checkpoints/demo
- name: Test RL with Fake Data
run: ./tests/train_rl.sh
- name: Test RL with Fake Data + Delay
run: ./tests/train_rl.sh --config.override_delay=3
- name: Test RL with Fake Data + Restore
run: ./tests/train_rl.sh --config.teacher="" --config.restore=slippi_ai/data/checkpoints/rl_demo
- name: Test train_two with Fake Data
run: ./tests/train_two.sh
- name: Download ExiAI Dolphin
# TODO: specify release version in repo?
run: |
curl -L https://github.com/vladfi1/slippi-Ishiiruka/releases/download/exi-ai-0.1.0/Slippi_Online-x86_64-ExiAI.AppImage -o dolphin
chmod +x dolphin
- name: Install dolphin dependencies
run: sudo apt install -y libfuse2 libegl1
- name: Cache the SSBM iso
uses: actions/cache@v4
id: cache-iso # give it a name for checking the cache hit-or-not
with:
path: SSBM.iso
key: ssbm-iso
- name: Download the SSBM iso
if: steps.cache-iso.outputs.cache-hit != 'true'
env:
SSBM_ISO_DRIVE_ID: ${{ secrets.SSBM_ISO_DRIVE_ID }}
run: |
pip install gdown
gdown "https://drive.google.com/uc?id=$SSBM_ISO_DRIVE_ID" -O SSBM.iso
- name: Test RL with Dolphin
run: ./tests/train_rl.sh --config.dolphin.path=./dolphin --config.dolphin.iso=SSBM.iso --config.actor.use_fake_envs=False
- name: Test train_two with Dolphin
run: ./tests/train_two.sh --config.dolphin.path=./dolphin --config.dolphin.iso=SSBM.iso --config.actor.use_fake_envs=False