Repository navigation
[skyrl-gym][text2sql] Don't award reward for matching an empty gold result #4561
Workflow file for this run
This file contains hidden or 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: SkyRL-CPU | |
| on: | |
| push: | |
| branches: | |
| - main | |
| - rc/** | |
| paths: | |
| - 'ci/**' | |
| - 'skyrl/**' | |
| - 'tests/**' | |
| - 'pyproject.toml' | |
| - 'skyrl-gym/**' | |
| - '.github/workflows/cpu_skyrl.yaml' | |
| pull_request: | |
| paths: | |
| - 'ci/**' | |
| - 'skyrl/**' | |
| - 'tests/**' | |
| - 'pyproject.toml' | |
| - 'skyrl-gym/**' | |
| - '.github/workflows/cpu_skyrl.yaml' | |
| permissions: | |
| checks: write # for status checks to appear | |
| contents: read | |
| # Cancel runs for previous commits on the same branch | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| check_code_quality: | |
| # CI runs only in the upstream repo. This workflow needs no secrets and would pass | |
| # on a fork, but fork CI is off by policy -- fork PRs are tested here, in the base | |
| # repository's context. | |
| if: github.repository == 'NovaSky-AI/SkyRL' | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Python | |
| # This is the version of the action for setting up Python, not the Python version. | |
| uses: actions/setup-python@v5 | |
| with: | |
| # Semantic version range syntax or exact version of a Python version | |
| python-version: '3.12' | |
| - name: Install the latest version of uv | |
| uses: astral-sh/setup-uv@v6 | |
| with: | |
| activate-environment: true | |
| - name: Run pre-commit hooks | |
| run: uv pip install pre-commit; pre-commit run --all-files --config .pre-commit-config.yaml | |
| skyrl_tests: | |
| # CI runs only in the upstream repo. This workflow needs no secrets and would pass | |
| # on a fork, but fork CI is off by policy -- fork PRs are tested here, in the base | |
| # repository's context. | |
| if: github.repository == 'NovaSky-AI/SkyRL' | |
| needs: check_code_quality | |
| runs-on: ubuntu-latest | |
| defaults: | |
| run: | |
| shell: bash | |
| working-directory: . | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.12' | |
| - name: Install the latest version of uv | |
| uses: astral-sh/setup-uv@v6 | |
| with: | |
| activate-environment: true | |
| - name: Run cpu tests (without vllm or megatron) | |
| run: uv run --isolated --extra skyrl-train --extra dev pytest tests/train/ tests/backends/skyrl_train/ --ignore=tests/backends/skyrl_train/gpu -m "not (vllm or megatron)" | |
| - name: Run cpu tests (with vllm) | |
| run: uv run --isolated --extra fsdp --extra dev pytest tests/train/ tests/backends/skyrl_train/ --ignore=tests/backends/skyrl_train/gpu -m "vllm and not megatron" | |
| - name: Run cpu tests (with megatron) | |
| run: uv run --isolated --extra megatron --extra dev pytest tests/train/ tests/backends/skyrl_train/ --ignore=tests/backends/skyrl_train/gpu -m "megatron" | |
| - name: Run tinker tests | |
| run: uv run --isolated --extra fsdp --extra tinker --extra dev pytest tests/tinker/skyrl_train/ | |
| skyrl_tinker_tests: | |
| # The Tinker API server tests used to live in the JAX workflow because the | |
| # server defaults to the JAX backend. That workflow is now scoped to `skyrl/tx` | |
| # changes only, and the server is actively maintained, so its tests run here on | |
| # every PR instead. Separate job rather than a step on `skyrl_tests`: | |
| # `jax` and `fsdp` are conflicting backend extras, so they need separate envs, | |
| # and `tests/tinker/test_api.py` re-execs `uv run` with the parent's flags. | |
| if: github.repository == 'NovaSky-AI/SkyRL' | |
| needs: check_code_quality | |
| runs-on: ubuntu-latest | |
| defaults: | |
| run: | |
| shell: bash | |
| working-directory: . | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v6 | |
| with: | |
| enable-cache: true | |
| - name: Run tinker API server + shared util tests | |
| run: uv run --isolated --extra tinker --extra jax --extra dev pytest --forked -s tests/tinker tests/utils --ignore=tests/tinker/skyrl_train | |
| skyrl_gym_tests: | |
| # CI runs only in the upstream repo. This workflow needs no secrets and would pass | |
| # on a fork, but fork CI is off by policy -- fork PRs are tested here, in the base | |
| # repository's context. | |
| if: github.repository == 'NovaSky-AI/SkyRL' | |
| needs: check_code_quality | |
| runs-on: ubuntu-latest | |
| defaults: | |
| run: | |
| shell: bash | |
| working-directory: ./skyrl-gym | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.12' | |
| - name: Install the latest version of uv | |
| uses: astral-sh/setup-uv@v6 | |
| with: | |
| activate-environment: true | |
| - name: Install skyrl-gym | |
| run: uv sync --frozen --extra dev # installs from lock file | |
| - name: Run cpu tests | |
| run: uv run --frozen pytest tests/ |