Skip to content

Commit b15bbfb

Browse files
authored
copy back skyrl code to top level and delete skyrl-train and skyrl-tx (#1137)
<!-- devin-review-badge-begin --> --- <a href="https://app.devin.ai/review/novasky-ai/skyrl/pull/1137" target="_blank"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://static.devin.ai/assets/gh-open-in-devin-review-dark.svg?v=1"> <img src="https://static.devin.ai/assets/gh-open-in-devin-review-light.svg?v=1" alt="Open with Devin"> </picture> </a> <!-- devin-review-badge-end -->
1 parent aadc2dc commit b15bbfb

512 files changed

Lines changed: 1622 additions & 10463 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitignore

Lines changed: 92 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,4 +46,95 @@ tensorboard_log/
4646
*.db
4747

4848
# uv lock files
49-
uv.lock
49+
uv.lock
50+
51+
# Byte-compiled / optimized / DLL files
52+
__pycache__/
53+
*.py[cod]
54+
*$py.class
55+
56+
# C extensions
57+
*.so
58+
59+
# Distribution / packaging
60+
.Python
61+
build/
62+
develop-eggs/
63+
dist/
64+
downloads/
65+
eggs/
66+
.eggs/
67+
lib/
68+
lib64/
69+
parts/
70+
sdist/
71+
var/
72+
wheels/
73+
pip-wheel-metadata/
74+
share/python-wheels/
75+
*.egg-info/
76+
.installed.cfg
77+
*.egg
78+
MANIFEST
79+
uv.lock
80+
81+
# PyInstaller
82+
*.manifest
83+
*.spec
84+
85+
# Installer logs
86+
pip-log.txt
87+
pip-delete-this-directory.txt
88+
89+
# Unit test / coverage reports
90+
htmlcov/
91+
.tox/
92+
.nox/
93+
.coverage
94+
.coverage.*
95+
.cache
96+
nosetests.xml
97+
coverage.xml
98+
*.cover
99+
*.py,cover
100+
.hypothesis/
101+
.pytest_cache/
102+
103+
# Jupyter Notebook
104+
.ipynb_checkpoints
105+
106+
# Environments
107+
.env
108+
.venv
109+
env/
110+
venv/
111+
ENV/
112+
env.bak/
113+
venv.bak/
114+
115+
# MkDocs build output
116+
site/
117+
118+
# IDEs and editors
119+
.idea/
120+
.vscode/
121+
122+
# OS generated files
123+
.DS_Store
124+
Thumbs.db
125+
126+
# Hydra outputs
127+
outputs/
128+
129+
# Local artifacts
130+
tinker.db
131+
uv.lock
132+
133+
# Alembic - don't track pycache
134+
tx/tinker/alembic/__pycache__/
135+
136+
# SQLite databases (tracked in git by default, but ignore if created locally)
137+
*.db
138+
*.db-journal
139+
*.db-wal
140+
*.db-shm
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
name: skyrl-train-gpu-ci
2+
entrypoint: bash ci/gpu_ci_run_skyrl_train.sh
3+
image_uri: novaskyai/skyrl-train-ray-2.51.1-py3.12-cu12.8
4+
cloud: sky-anyscale-aws-us-east-1
5+
ray_version: "2.51.1"
6+
compute_config: l4_ci
7+
working_dir: .
8+
max_retries: 0
9+
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
name: skyrl-train-gpu-ci-megatron
2+
entrypoint: bash ci/gpu_ci_run_skyrl_train_megatron.sh
3+
image_uri: novaskyai/skyrl-train-ray-2.51.1-py3.12-cu12.8-megatron
4+
cloud: sky-anyscale-aws-us-east-1
5+
ray_version: "2.51.1"
6+
compute_config: l4_ci
7+
working_dir: .
8+
max_retries: 0
9+
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@ set -xeuo pipefail
44
export CI=true
55

66
# Run GPU-specific tests
7-
uv run --extra gpu --extra tinker --extra dev pytest tests/gpu
7+
uv run --extra gpu --extra tinker --extra dev pytest tests/tx/gpu

ci/gpu_ci_run_skyrl_train.sh

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
#!/usr/bin/env bash
2+
set -xeuo pipefail
3+
4+
export CI=true
5+
# Prepare datasets used in tests.
6+
uv run examples/train/gsm8k/gsm8k_dataset.py --output_dir $HOME/data/gsm8k
7+
uv run examples/train/search/searchr1_dataset.py --local_dir $HOME/data/searchR1 --split test
8+
9+
# Run all non-megatron and non-sglang tests
10+
uv run --directory . --isolated --extra dev --extra fsdp pytest -s tests/backends/skyrl_train/gpu/gpu_ci -m "not (sglang or integrations or megatron)"
11+
12+
## TODO: enable integrations and potentially migrate sglang
13+
# # Run tests for "integrations" folder
14+
# if add_integrations=$(uv add --active wordle --index https://hub.primeintellect.ai/will/simple/ 2>&1); then
15+
# echo "Running integration tests"
16+
# uv run --isolated --with verifiers@git+https://github.com/PrimeIntellect-ai/verifiers.git@15f68 -- python integrations/verifiers/prepare_dataset.py --env_id will/wordle
17+
# uv run --directory . --isolated --extra dev --extra vllm --with verifiers@git+https://github.com/PrimeIntellect-ai/verifiers.git@15f68 pytest -s tests/gpu/gpu_ci/ -m "integrations"
18+
# else
19+
# echo "Skipping integrations tests. Failed to execute uv add command"
20+
# echo "$add_integrations"
21+
# fi
22+
23+
# # Run all SGLang tests
24+
# uv run --directory . --isolated --extra dev --extra sglang pytest -s tests/gpu/gpu_ci -m "sglang"
25+
26+
27+
# Run tests for vllm 0.9.2
28+
# TODO (sumanthrh): We should have a better way to override without pinning a flash-attn wheel
29+
uv run --isolated --extra fsdp --extra dev \
30+
--with vllm==0.9.2 \
31+
--with transformers==4.53.0 \
32+
--with torch==2.7.0 \
33+
--with "flash-attn@https://github.com/Dao-AILab/flash-attention/releases/download/v2.8.3/flash_attn-2.8.3+cu12torch2.7cxx11abiTRUE-cp312-cp312-linux_x86_64.whl" \
34+
-- pytest -s -vvv tests/backends/skyrl_train/gpu/gpu_ci/test_engine_generation.py::test_token_based_generation -m "vllm"
35+
36+
# Run tests for new inference layer
37+
_SKYRL_USE_NEW_INFERENCE=1 uv run --isolated --extra dev --extra fsdp pytest -s tests/backends/skyrl_train/gpu/gpu_ci/test_policy_local_engines_e2e.py -m "vllm"
38+
_SKYRL_USE_NEW_INFERENCE=1 uv run --isolated --extra dev --extra fsdp pytest -s tests/backends/skyrl_train/gpu/gpu_ci/test_engine_generation.py -m "vllm"
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
#!/usr/bin/env bash
2+
set -xeuo pipefail
3+
4+
export CI=true
5+
# Prepare datasets used in tests.
6+
uv run examples/train/gsm8k/gsm8k_dataset.py --output_dir $HOME/data/gsm8k
7+
# Run all megatron tests
8+
uv run --directory . --isolated --extra dev --extra megatron pytest -s tests/backends/skyrl_train/gpu/gpu_ci -m "megatron"
9+
File renamed without changes.

skyrl-train/examples/algorithms/clip_cov_kl_cov/README.md renamed to examples/train/algorithms/clip_cov_kl_cov/README.md

0 commit comments

Comments
 (0)