Skip to content

refactor: organize models, backends, contracts and train and rollout engines #1208

refactor: organize models, backends, contracts and train and rollout engines

refactor: organize models, backends, contracts and train and rollout engines #1208

Workflow file for this run

# SPDX-License-Identifier: Apache-2.0
# Copyright (c) 2026 RL-Kernel Contributors
name: CI-Pipeline
on:
push:
branches: [ main, test ]
pull_request:
branches: [ main, test ]
permissions:
contents: read
jobs:
linting:
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Set up Python 3.10
uses: actions/setup-python@v5
with:
python-version: '3.10'
cache: 'pip'
- name: Run pre-commit hooks
uses: pre-commit/action@v3.0.1
- name: Install MyPy
run: pip install mypy
- name: Run MyPy
run: mypy --ignore-missing-imports rl_engine/
unit-tests:
needs: linting
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Free Disk Space
run: |
echo "==> Before cleanup:"
df -h
sudo rm -rf /usr/share/dotnet
sudo rm -rf /usr/local/lib/android
sudo rm -rf /opt/ghc
sudo rm -rf /usr/local/share/boost
echo "==> After cleanup:"
df -h
- name: Set up Python 3.10
uses: actions/setup-python@v5
with:
python-version: '3.10'
- name: Install Project Dependencies
run: |
python -m pip install --upgrade pip
pip install torch --index-url https://download.pytorch.org/whl/cpu
pip install -e ".[dev]"
- name: Check refactor packaging and compatibility
run: python ci/run.py layout -q
- name: Run Mocked Hardware Discovery Tests
run: |
python -m pytest tests/runtime/test_dispatch.py -v
PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 python -m pytest tests/ops/attention/test_attention_correctness.py -q -rs
python -m pytest tests/validation/operators/test_forward_invariance.py tests/contracts/test_tolerance_contract.py tests/validation/operators/test_ws1_workload.py tests/validation/operators/test_gradient_invariance.py tests/validation/operators/test_elementwise_inventory.py tests/validation/operators/test_four_judgment_matrix.py tests/validation/operators/test_op_checks.py tests/validation/operators/test_operator_inputs.py tests/benchmarks/test_profiler.py tests/validation/operators/test_kv_consistency.py tests/models/qwen3/test_ws1_qwen3_dense.py tests/validation/models/test_ws1_chain_integration.py -q
- name: Run Cross-Configuration Contract Tests (CPU-safe)
run: |
PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 python -m pytest -q \
tests/validation/cross_config/ tests/entrypoints/test_cross_config_cli.py \
tests/runtime/test_stateless_executor.py \
tests/contracts/test_tolerance_contract.py \
tests/runtime/test_kernel_registry.py
- name: Run Attention Ground-Truth Tests (CPU-safe)
run: |
python -m pytest tests/ops/attention/test_attention.py -v -k "not large and not gpu"
- name: Run WS2 Attention Cross-Configuration Tests (CPU-safe)
run: |
PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 python -m pytest -q \
tests/validation/ablation/test_attention_ablation.py \
tests/contracts/operators/test_attention_contract.py \
tests/ops/attention/test_attention_cross_config_binding.py \
tests/ops/attention/test_attention_preprocess.py \
tests/ops/attention/test_attention_projection.py \
tests/integrations/common/test_framework_runtime_adapters.py \
tests/validation/ablation/test_rocm_e2e_ablation.py \
tests/distributed/cp/test_cp_attention.py \
tests/integrations/engines/train/megatron/test_cp_attention_transformer_engine.py
- name: Run KV-Cache Attention Ground-Truth Tests (CPU-safe)
run: |
python -m pytest tests/ops/attention/test_kv_cache_attention.py -v -k "not large and not gpu"
- name: Run WS2 Attention Contract Tests (CPU-safe)
run: python -m pytest tests/contracts/operators/test_attention_contract.py -v
- name: Run WS2 Logprob Contract Tests (CPU-safe)
run: |
python -m pytest \
tests/contracts/operators/test_logprob_contract.py \
tests/backends/rocm/test_rocm_lm_head_weight_cache.py \
-v
- name: Run WS2 Vocab-Parallel Logprob Tests (CPU-safe)
run: python -m pytest tests/distributed/tp/test_vocab_parallel_logp.py -v
- name: Run WS2 Wrapper Interface and FFN Tests (CPU-safe)
run: |
python -m pytest -q \
tests/models/qwen3/test_alignment_wrapper_interfaces.py \
tests/layers/test_qwen_ffn.py \
tests/benchmarks/test_rocm_benchmark_cleanup.py \
tests/benchmarks/test_rocm_collective_benchmark.py \
tests/backends/rocm/test_rocm_paged_workspace.py \
tests/distributed/collectives/test_collective_ipc_errors.py
docs:
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Python 3.10
uses: actions/setup-python@v5
with:
python-version: '3.10'
cache: 'pip'
- name: Install Documentation Dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements/docs.txt
- name: Build Documentation
run: mkdocs build --strict -f mkdocs.yaml