Files
lightseekorg--tokenspeed/.github/workflows/release-tokenspeed-kernel-amd.yml
wehub-resource-sync 59a0a3844c
PR Test AMD / cancel-on-close (push) Has been skipped
PR Test NVIDIA ARM / scan (push) Has been skipped
PR Test NVIDIA / cancel-on-close (push) Has been skipped
PR Test AMD / scan (push) Has been skipped
PR Test NVIDIA ARM / cancel-on-close (push) Has been skipped
PR Test NVIDIA / scan (push) Has been skipped
Release Docker Images / build (cu129-torch-2.11.0) (push) Has been skipped
Release Docker Images / build (cu130-torch-2.11.0) (push) Has been skipped
Release PyPI / publish (push) Has been skipped
Scheduler Python Test / test (push) Successful in 27m19s
Docs / build (push) Successful in 28m8s
Scheduler C++ Test / test (push) Successful in 28m19s
Scheduler C++ Test / test-flat (push) Successful in 28m18s
Docs / deploy (push) Has been cancelled
PR Test AMD / finish (push) Has been cancelled
PR Test NVIDIA / finish (push) Has been cancelled
PR Test NVIDIA ARM / finish (push) Has been cancelled
PR Test NVIDIA ARM / ${{ matrix.name }} (${{ matrix.runner }}) (push) Has been cancelled
PR Test AMD / ${{ matrix.name }} (${{ matrix.runner }}) (push) Has been cancelled
PR Test NVIDIA / ${{ matrix.name }} (${{ matrix.runner }}) (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 12:32:31 +08:00

141 lines
4.0 KiB
YAML

name: Build and Release tokenspeed-kernel-amd
on:
workflow_dispatch:
inputs:
tag_name:
description: "Git tag to create or update. Defaults to tokenspeed-kernel-amd-v<version>."
required: false
type: string
prerelease:
description: "Mark the GitHub release as a prerelease."
required: false
default: false
type: boolean
permissions:
contents: read
id-token: write
concurrency:
group: ${{ github.workflow }}
cancel-in-progress: true
jobs:
metadata:
name: Resolve release metadata
runs-on: ubuntu-latest
outputs:
version: ${{ steps.metadata.outputs.version }}
tag_name: ${{ steps.metadata.outputs.tag_name }}
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Resolve release metadata
id: metadata
run: |
VERSION=$(python - <<'PY'
import pathlib
import tomllib
data = tomllib.loads(pathlib.Path("tokenspeed-kernel-amd/pyproject.toml").read_text())
print(data["project"]["version"])
PY
)
TAG_NAME="${{ inputs.tag_name }}"
if [ -z "$TAG_NAME" ]; then
TAG_NAME="tokenspeed-kernel-amd-v${VERSION}"
fi
echo "version=${VERSION}" >> "$GITHUB_OUTPUT"
echo "tag_name=${TAG_NAME}" >> "$GITHUB_OUTPUT"
echo "Release version: ${VERSION}"
echo "Release tag: ${TAG_NAME}"
build:
name: Build distributions
needs: metadata
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Build distributions
run: |
python -m pip install --upgrade build twine "setuptools<82" wheel
python -m build tokenspeed-kernel-amd --sdist --wheel --no-isolation --outdir dist
python -m twine check dist/*
- name: Upload distributions
uses: actions/upload-artifact@v4
with:
name: tokenspeed-kernel-amd-dist
path: dist/*
release:
name: Create wheelhouse release
needs: [metadata, build]
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Download distributions
uses: actions/download-artifact@v4
with:
path: dist
pattern: tokenspeed-kernel-amd-*
merge-multiple: true
- name: Create or update GitHub release
env:
GH_TOKEN: ${{ secrets.LIGHTSEEK_BOT_TOKEN }}
RELEASE_REPOSITORY: lightseekorg/whl
TAG_NAME: ${{ needs.metadata.outputs.tag_name }}
VERSION: ${{ needs.metadata.outputs.version }}
PRERELEASE: ${{ inputs.prerelease }}
SOURCE_SHA: ${{ github.sha }}
run: |
prerelease_args=()
if [ "$PRERELEASE" = "true" ]; then
prerelease_args+=(--prerelease)
fi
if gh release view "$TAG_NAME" --repo "$RELEASE_REPOSITORY" >/dev/null 2>&1; then
gh release upload "$TAG_NAME" dist/* --repo "$RELEASE_REPOSITORY" --clobber
else
gh release create "$TAG_NAME" dist/* \
--repo "$RELEASE_REPOSITORY" \
--title "tokenspeed-kernel-amd ${VERSION}" \
--notes "tokenspeed-kernel-amd ${VERSION} built from lightseekorg/tokenspeed@${SOURCE_SHA}" \
"${prerelease_args[@]}"
fi
publish-pypi:
name: Publish to PyPI
needs: [metadata, build]
runs-on: ubuntu-latest
environment: pypi
steps:
- name: Download distributions
uses: actions/download-artifact@v4
with:
path: dist
pattern: tokenspeed-kernel-amd-*
merge-multiple: true
- name: Publish distributions to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
packages-dir: dist