Skip to content

Third party tests [liger-kernels, vllm, sglang] #69

Third party tests [liger-kernels, vllm, sglang]

Third party tests [liger-kernels, vllm, sglang] #69

name: Third party tests [liger-kernels, vllm, sglang]
on:
workflow_dispatch:
inputs:
runner_label:
description: Runner label, keep empty for default
type: string
default: ""
use_pyenv_python:
description: Use Python built with pyenv
type: boolean
default: false
schedule:
# About midnight PST Sunday (UTC-8)
- cron: "5 10 * * SUN"
# Cancels in-progress PR runs when the PR is updated. Manual runs are never cancelled.
concurrency:
group: ${{ github.workflow }}-${{ github.event_name == 'workflow_dispatch' && github.run_id || github.event.pull_request.number || github.ref }}
cancel-in-progress: true
permissions: read-all
env:
PYTHON_VERSION: "3.10"
TAG: ${{ inputs.tag || (github.event_name == 'pull_request' && format('pr-{0}', github.event.number)) || (github.event_name == 'schedule' && 'ci') || 'test' }}
jobs:
small-tests:
name: Third party tests [vllm, sglang]
runs-on:
- linux
- ${{ inputs.runner_label || 'max1550' }}
timeout-minutes: 120
defaults:
run:
shell: bash -noprofile --norc -eo pipefail -c "source /opt/intel/oneapi/setvars.sh > /dev/null; source {0}"
steps:
- name: Print inputs
run: |
cat <<EOF
${{ toJSON(inputs) }}
EOF
- name: Checkout repository
uses: actions/checkout@v5
- name: Install Python (from pyenv) ${{ inputs.python_version }}
uses: ./.github/actions/setup-pyenv-python
with:
python-version: ${{ env.PYTHON_VERSION }}
- name: Identify Python version
run: |
PYTHON_VERSION="$(python -c 'import sys; print(f"{sys.version_info[0]}.{ sys.version_info[1]}")')"
echo "PYTHON_VERSION=$PYTHON_VERSION" | tee -a $GITHUB_ENV
- name: Install Python build dependencies
run: |
pip install cmake
- name: Setup PyTorch
uses: ./.github/actions/setup-pytorch
- name: Setup Triton
id: install
uses: ./.github/actions/setup-triton
- name: Create reports dir
run: |
mkdir reports
echo "REPORTS=$PWD/reports" >> $GITHUB_ENV
- name: Run SGLANG tests
if: ${{ steps.install.outcome == 'success' && !cancelled() }}
run: |
./scripts/test-triton.sh --sglang --skip-pip-install --skip-pytorch-install
- name: Run VLLM tests
if: ${{ steps.install.outcome == 'success' && !cancelled() }}
run: |
./scripts/test-triton.sh --vllm --skip-pip-install --skip-pytorch-install
- name: Upload test report
if: ${{ steps.install.outcome == 'success' && !cancelled() }}
uses: actions/upload-artifact@v5
with:
name: test-main-reports
path: reports
# We run all tests for Liger, so it's slow and we test it separately
liger:
name: Liger testing
runs-on:
- linux
- ${{ inputs.runner_label || 'max1550' }}
timeout-minutes: 120
defaults:
run:
shell: bash -noprofile --norc -eo pipefail -c "source /opt/intel/oneapi/setvars.sh > /dev/null; source {0}"
steps:
- name: Print inputs
run: |
cat <<EOF
${{ toJSON(inputs) }}
EOF
- name: Checkout repository
uses: actions/checkout@v5
- name: Install Python (from pyenv) ${{ inputs.python_version }}
uses: ./.github/actions/setup-pyenv-python
with:
python-version: ${{ env.PYTHON_VERSION }}
- name: Identify Python version
run: |
PYTHON_VERSION="$(python -c 'import sys; print(f"{sys.version_info[0]}.{ sys.version_info[1]}")')"
echo "PYTHON_VERSION=$PYTHON_VERSION" | tee -a $GITHUB_ENV
- name: Install Python build dependencies
run: |
pip install cmake
- name: Setup PyTorch
uses: ./.github/actions/setup-pytorch
- name: Setup Triton
id: install
uses: ./.github/actions/setup-triton
- name: Create reports dir
run: |
mkdir reports
echo "REPORTS=$PWD/reports" >> $GITHUB_ENV
- name: Run Liger-Kernel tests
run: |
./scripts/test-triton.sh --liger --skip-pip-install --skip-pytorch-install
- name: Upload test report
if: ${{ steps.install.outcome == 'success' && !cancelled() }}
uses: actions/upload-artifact@v5
with:
name: test-liger-reports
path: reports