94057c3d3e
PR Test (NPU) / check-changes (push) Has been cancelled
PR Test (NPU) / pr-gate (push) Has been cancelled
PR Test (NPU) / set-image-config (push) Has been cancelled
PR Test (NPU) / stage-b-test-1-npu-a2 (0) (push) Has been cancelled
PR Test (NPU) / stage-b-test-1-npu-a2 (1) (push) Has been cancelled
PR Test (NPU) / stage-b-test-2-npu-a2 (0) (push) Has been cancelled
PR Test (NPU) / stage-b-test-2-npu-a2 (1) (push) Has been cancelled
PR Test (NPU) / stage-b-test-4-npu-a3 (push) Has been cancelled
PR Test (NPU) / stage-b-test-16-npu-a3 (push) Has been cancelled
PR Test (NPU) / multimodal-gen-test-1-npu-a3 (push) Has been cancelled
PR Test (NPU) / multimodal-gen-test-2-npu-a3 (push) Has been cancelled
PR Test (Arm64) / pr-gate (push) Has been cancelled
PR Test (Arm64) / check-changes (push) Has been cancelled
PR Test (Arm64) / build-test (push) Has been cancelled
PR Test (sgl-router) / gate (push) Has been cancelled
PR Test (sgl-router) / tier-1 — lint (push) Has been cancelled
PR Test (sgl-router) / tier-2 — build + test (push) Has been cancelled
PR Test (sgl-router) / tier-3 — docker (placeholder) (push) Has been cancelled
PR Test (sgl-router) / tier-3 — k8s integration (push) Has been cancelled
PR Test (sgl-router) / tier-3 — e2e (push) Has been cancelled
PR Test (sgl-router) / finish (push) Has been cancelled
PR Test (NPU) / single-node-poc (map[name:qwen3_6_27b_w8a8_1p_in64k_out1k_50ms runner:linux-aarch64-a3-2 test_case:test/registered/ascend/performance/qwen3_6_27b/test_npu_qwen3_6_27b_w8a8_1p_in64k_out1k_50ms.py test_type:perf]) (push) Has been cancelled
PR Test (NPU) / pr-test-npu-finish (push) Has been cancelled
PR Test (Xeon) / pr-gate (push) Has been cancelled
PR Test (Xeon) / check-changes (push) Has been cancelled
PR Test (Xeon) / build-test (, xeon-gnr, base-b-test-cpu) (push) Has been cancelled
PR Test (XPU) / check-changes (push) Has been cancelled
PR Test (XPU) / pr-gate (push) Has been cancelled
PR Test (XPU) / stage-a-test-1-gpu-xpu (push) Has been cancelled
PR Test (XPU) / wait-for-stage-a (push) Has been cancelled
PR Test (XPU) / stage-b-test-1-gpu-xpu (push) Has been cancelled
PR Test (XPU) / finish (push) Has been cancelled
CI Model Inventory / build-inventory (push) Has been cancelled
Lint / lint (push) Has been cancelled
PR Benchmark (SMG Components) / Benchmark Compilation Check (push) Has been cancelled
PR Benchmark (SMG Components) / Benchmark - Manual Policy (push) Has been cancelled
PR Benchmark (SMG Components) / Benchmark - Request Processing (push) Has been cancelled
PR Benchmark (SMG Components) / Benchmark Summary (push) Has been cancelled
PR Test (SMG) / build-wheel (push) Has been cancelled
Release SGLang Model Gateway to PyPI / build on windows (x86_64 - auto) (push) Has been cancelled
Release SGLang Model Gateway to PyPI / build on macos (x86_64 - auto) (push) Has been cancelled
PR Test (SMG) / python-unit-tests (push) Has been cancelled
PR Test (SMG) / unit-tests (push) Has been cancelled
PR Test (SMG) / benchmarks (push) Has been cancelled
PR Test (SMG) / chat-completions (push) Has been cancelled
PR Test (SMG) / chat-completions-4gpu (push) Has been cancelled
PR Test (SMG) / e2e (push) Has been cancelled
PR Test (SMG) / docker-build-test (push) Has been cancelled
PR Test (SMG) / k8s-integration (push) Has been cancelled
PR Test (SMG) / finish (push) Has been cancelled
PR Test (SMG) / summarize-benchmarks (push) Has been cancelled
Release SGLang Model Gateway Docker Image / publish (push) Has been cancelled
Release SGLang Model Gateway to PyPI / build on macos (aarch64 - auto) (push) Has been cancelled
Release SGLang Model Gateway to PyPI / build on linux (aarch64 - auto) (push) Has been cancelled
Release SGLang Model Gateway to PyPI / build on linux (x86_64 - auto) (push) Has been cancelled
Release SGLang Model Gateway to PyPI / build on linux (aarch64 - musllinux_1_1) (push) Has been cancelled
Release SGLang Model Gateway to PyPI / build on linux (x86_64 - musllinux_1_1) (push) Has been cancelled
Release SGLang Model Gateway to PyPI / Build SDist (push) Has been cancelled
Release SGLang Model Gateway to PyPI / Upload to PyPI (push) Has been cancelled
Release SGLang Kernels / build-cu129-matrix (aarch64, 12.9, 3.10, arm-kernel-build-node) (push) Has been cancelled
Release SGLang Kernels / build-cu129-matrix (x86_64, 12.9, 3.10, x64-kernel-build-node) (push) Has been cancelled
Release SGLang Kernels / release-cu129 (push) Has been cancelled
Release SGLang Kernels / build-cu130-matrix (aarch64, 13.0, 3.10, arm-kernel-build-node) (push) Has been cancelled
Release SGLang Kernels / build-cu130-matrix (x86_64, 13.0, 3.10, x64-kernel-build-node) (push) Has been cancelled
Release SGLang Kernels / release-cu130 (push) Has been cancelled
Release SGLang Kernels / build-rocm-matrix (3.10, 700) (push) Has been cancelled
Release SGLang Kernels / build-rocm-matrix (3.10, 720) (push) Has been cancelled
Release SGLang Kernels / release-rocm700 (push) Has been cancelled
Release SGLang Kernels / release-rocm720 (push) Has been cancelled
Release SGLang Kernels / build-musa43 (43, 3.10) (push) Has been cancelled
Release SGLang Kernels / release-musa43 (push) Has been cancelled
168 lines
5.3 KiB
YAML
168 lines
5.3 KiB
YAML
name: Release SGLang Model Gateway to PyPI
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
paths:
|
|
- sgl-model-gateway/bindings/python/pyproject.toml
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
build:
|
|
name: build on ${{ matrix.platform || matrix.os }} (${{ matrix.target }} - ${{ matrix.manylinux || 'auto' }})
|
|
runs-on: ${{ matrix.os }}-latest
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os: [ubuntu, macos, windows]
|
|
target: [x86_64, aarch64]
|
|
manylinux: [auto]
|
|
include:
|
|
- os: ubuntu
|
|
platform: linux
|
|
- os: windows
|
|
ls: dir
|
|
target: x86_64
|
|
python-architecture: x64
|
|
interpreter: 3.9 3.10 3.11 3.12 3.13
|
|
- os: macos
|
|
target: aarch64
|
|
interpreter: 3.9 3.10 3.11 3.12 3.13
|
|
- os: ubuntu
|
|
platform: linux
|
|
target: aarch64
|
|
# musllinux
|
|
- os: ubuntu
|
|
platform: linux
|
|
target: x86_64
|
|
manylinux: musllinux_1_1
|
|
- os: ubuntu
|
|
platform: linux
|
|
target: aarch64
|
|
manylinux: musllinux_1_1
|
|
exclude:
|
|
- os: windows
|
|
target: aarch64
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
path: sglang-repo
|
|
|
|
- name: Move sgl-model-gateway folder to root and delete sglang-repo
|
|
run: |
|
|
mv sglang-repo/sgl-model-gateway/* .
|
|
rm -rf sglang-repo
|
|
ls -alt
|
|
shell: bash
|
|
|
|
- name: Set up Python
|
|
uses: actions/setup-python@v5
|
|
with:
|
|
python-version: "3.13"
|
|
architecture: ${{ matrix.python-architecture || 'x64' }}
|
|
|
|
- name: Install twine
|
|
run: pip install -U twine
|
|
|
|
- name: Install protoc (macOS)
|
|
if: matrix.os == 'macos'
|
|
run: brew install protobuf
|
|
|
|
- name: Install protoc (Windows)
|
|
if: matrix.os == 'windows'
|
|
run: choco install protoc -y
|
|
|
|
- name: Build wheels
|
|
uses: PyO3/maturin-action@v1
|
|
with:
|
|
working-directory: bindings/python
|
|
target: ${{ matrix.target }}
|
|
manylinux: ${{ matrix.manylinux || 'auto' }}
|
|
args: --release --out dist --features vendored-openssl --interpreter ${{ matrix.interpreter || '3.9 3.10 3.11 3.12 3.13 3.14' }}
|
|
rust-toolchain: stable
|
|
docker-options: -e CI -e CC_aarch64_unknown_linux_gnu=aarch64-linux-gnu-gcc -e CXX_aarch64_unknown_linux_gnu=aarch64-linux-gnu-g++
|
|
before-script-linux: |
|
|
# Install build dependencies (perl/make for vendored OpenSSL, protoc for gRPC)
|
|
if command -v yum &> /dev/null; then
|
|
yum update -y && yum install -y wget unzip gcc gcc-c++ perl-core make
|
|
# Install cross-compilation toolchain for aarch64 if needed
|
|
if [ "${{ matrix.target }}" = "aarch64" ]; then
|
|
yum install -y gcc-aarch64-linux-gnu gcc-c++-aarch64-linux-gnu || true
|
|
fi
|
|
elif command -v apt-get &> /dev/null; then
|
|
apt-get update && apt-get install -y wget unzip gcc g++ perl make
|
|
# Install cross-compilation toolchain for aarch64 if needed
|
|
if [ "${{ matrix.target }}" = "aarch64" ]; then
|
|
apt-get install -y gcc-aarch64-linux-gnu g++-aarch64-linux-gnu || true
|
|
fi
|
|
fi
|
|
(cd /tmp && \
|
|
wget https://github.com/protocolbuffers/protobuf/releases/download/v32.0/protoc-32.0-linux-x86_64.zip && \
|
|
unzip protoc-32.0-linux-x86_64.zip -d /usr/local && \
|
|
rm protoc-32.0-linux-x86_64.zip)
|
|
protoc --version
|
|
|
|
- name: List built packages
|
|
run: ${{ matrix.ls || 'ls -lh' }} bindings/python/dist/
|
|
|
|
- name: Check packages
|
|
run: twine check --strict bindings/python/dist/*
|
|
|
|
- uses: actions/upload-artifact@v4
|
|
with:
|
|
name: packages-${{ matrix.os }}-${{ matrix.target }}-${{ matrix.manylinux || 'auto' }}
|
|
path: bindings/python/dist/
|
|
|
|
build-sdist:
|
|
name: Build SDist
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
path: sglang-repo
|
|
|
|
- name: Move sgl-model-gateway folder to root and delete sglang-repo
|
|
run: |
|
|
mv sglang-repo/sgl-model-gateway/* .
|
|
rm -rf sglang-repo
|
|
ls -alt
|
|
|
|
- name: Set up Python
|
|
uses: actions/setup-python@v5
|
|
with:
|
|
python-version: "3.13"
|
|
|
|
- name: Build SDist
|
|
uses: PyO3/maturin-action@v1
|
|
with:
|
|
working-directory: bindings/python
|
|
command: sdist
|
|
args: --out dist
|
|
rust-toolchain: stable
|
|
|
|
- uses: actions/upload-artifact@v4
|
|
with:
|
|
name: sdist
|
|
path: bindings/python/dist/*.tar.gz
|
|
|
|
upload:
|
|
name: Upload to PyPI
|
|
if: github.repository == 'sgl-project/sglang' # Ensure this job only runs for the sgl-project/sglang repository
|
|
needs: [build, build-sdist]
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/download-artifact@v4
|
|
with:
|
|
path: dist
|
|
merge-multiple: true
|
|
|
|
- name: Upload to PyPI
|
|
env:
|
|
TWINE_USERNAME: __token__
|
|
TWINE_PASSWORD: ${{ secrets.PYPI_TOKEN_ROUTER }}
|
|
run: |
|
|
pip install twine
|
|
twine upload dist/* --verbose
|