Repository navigation
refactor: organize models, backends, contracts and train and rollout engines #1208
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
| # 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 |