release: align post4 stack and allow CI artifact-only builds (#2197)

This commit is contained in:
yyj
2026-09-11 01:11:26 +08:00
committed by GitHub
parent a3695f1a83
commit 5632f7197e
4 changed files with 23 additions and 9 deletions
+7 -1
View File
@@ -1,9 +1,15 @@
# 四仓 main 一键发布(Draft,尚未启用)
入口:**KTransformers → Actions → Release four-main stack → Run workflow**。
选择 `main`,`target=candidate` 只构建和验收;`target=pypi` 才允许上传。
选择 `main`,`target=build` 只产出候选 artifact;`target=candidate` 构建和验收;
`target=pypi` 才允许上传。
合并 PR、修改版本号均不会自动上传;此 PR 不改变已经安装的 PyPI 包。
`build` 用于验收 runner 尚未就绪时先通过 CI 构建;它不会启用 GPU runner、
跳过发布验收或上传 PyPI,不能把构建成功当成发布成功。管理员可设置
`KT_RELEASE_WORK_ROOT` 为可执行的空闲内存盘目录,避免填满 runner 磁盘;
构建和临时文件都进入该目录下本次创建、带 run ID 标记的独立子目录。
```text
Run workflow
→ 两次观测并锁定四仓 main SHA + 工作流 SHA
+13 -5
View File
@@ -5,11 +5,11 @@ on:
workflow_dispatch:
inputs:
target:
description: 'Build and test only, or publish the same validated wheels to PyPI'
description: 'Build artifacts only, build and test, or publish the validated wheels'
type: choice
required: true
default: candidate
options: [candidate, pypi]
options: [build, candidate, pypi]
permissions:
contents: read
@@ -40,9 +40,10 @@ jobs:
env:
RELEASE_ENABLED: ${{ vars.KT_FOUR_MAIN_RELEASE_ENABLED }}
E2E_ENABLED: ${{ vars.KT_MODEL_E2E_ENABLED }}
TARGET: ${{ inputs.target }}
run: |
test "$RELEASE_ENABLED" = true
test "$E2E_ENABLED" = true
if [ "$TARGET" != build ]; then test "$E2E_ENABLED" = true; fi
test -f .github/workflows/model-e2e-release.yml
test -f .github/model-e2e/release_contracts.py
- name: Resolve latest main heads once
@@ -93,6 +94,7 @@ jobs:
PYTHONHOME: ''
CONDA_PREFIX: ''
CMAKE_PREFIX_PATH: ''
RELEASE_WORK_ROOT: ${{ vars.KT_RELEASE_WORK_ROOT }}
steps:
- uses: actions/checkout@v4
with:
@@ -108,7 +110,10 @@ jobs:
- name: Create an isolated build directory and environment
run: |
set -euo pipefail
release_work="$(mktemp -d "$RUNNER_TEMP/kt-four-main.XXXXXXXX")"
RELEASE_WORK_ROOT="${RELEASE_WORK_ROOT:-$RUNNER_TEMP}"
echo "RELEASE_WORK_ROOT=$RELEASE_WORK_ROOT" >> "$GITHUB_ENV"
test -d "$RELEASE_WORK_ROOT" && test -w "$RELEASE_WORK_ROOT"
release_work="$(mktemp -d "$RELEASE_WORK_ROOT/kt-four-main.XXXXXXXX")"
echo "RELEASE_WORK=$release_work" >> "$GITHUB_ENV"
echo "$GITHUB_RUN_ID" > "$release_work/.kt-release-owned"
python -m venv "$release_work/venv"
@@ -118,6 +123,8 @@ jobs:
echo "$CUDA_HOME/bin" >> "$GITHUB_PATH"
echo "VIRTUAL_ENV=$release_work/venv" >> "$GITHUB_ENV"
echo "LD_LIBRARY_PATH=$CUDA_HOME/lib64" >> "$GITHUB_ENV"
mkdir "$release_work/tmp"
echo "TMPDIR=$release_work/tmp" >> "$GITHUB_ENV"
- name: Check build prerequisites
run: |
set -euo pipefail
@@ -263,10 +270,11 @@ jobs:
if: always() && env.RELEASE_WORK != ''
run: |
python ci-tools/.github/release/cleanup.py \
--directory "$RELEASE_WORK" --parent "$RUNNER_TEMP"
--directory "$RELEASE_WORK" --parent "$RELEASE_WORK_ROOT"
candidate-e2e:
needs: raw-build
if: inputs.target != 'build'
uses: ./.github/workflows/model-e2e-release.yml
with:
stage: candidate
+2 -2
View File
@@ -19,8 +19,8 @@ setup(
],
extras_require={
"sft": [
"transformers-kt==5.6.0.post3",
"accelerate-kt==1.14.0.post2",
"transformers-kt==5.6.0.post5",
"accelerate-kt==1.14.0.post3",
],
"sglang": [
f"sglang-kt=={_v}",
+1 -1
View File
@@ -3,4 +3,4 @@ KTransformers version information.
Shared across the top-level package and kt-kernel.
"""
__version__ = "0.7.0.post1"
__version__ = "0.7.0.post4"