Skip to content

[skyrl-gym][text2sql] Don't award reward for matching an empty gold result #4561

[skyrl-gym][text2sql] Don't award reward for matching an empty gold result

[skyrl-gym][text2sql] Don't award reward for matching an empty gold result #4561

Workflow file for this run

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/