Skip to content

Release Packages

Release Packages #36

name: Release Packages
on:
push:
tags:
- 'v[0-9]+.[0-9]+.[0-9]+'
workflow_dispatch:
# Needed to create release and upload assets
permissions:
contents: write
jobs:
build-tgz:
strategy:
matrix:
arch: [X64, ARM64]
image: ["dev-ubuntu22.04-cu124:v1", "dev-centos8-arm:v2"]
exclude:
- arch: X64
image: "dev-centos8-arm:v2"
- arch: ARM64
image: "dev-ubuntu22.04-cu124:v1"
enable_cuda: [0, 1]
runs-on: [self-hosted, Linux, "${{ matrix.arch }}"]
container:
image: registry-1.docker.io/dashinfer/${{ matrix.image }}
env:
# force use node16 instead of node20
# otherwise it may cause GLIBCXX_2.27 not found
# ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true
ENABLE_CUDA: ${{ matrix.enable_cuda }}
defaults:
run:
shell: bash -l {0}
steps:
- name: Check out code
uses: actions/checkout@v3
with:
lfs: false
- name: Pull LFS
run: |
git lfs install --force
git lfs pull
- name: Init submodule
run: |
git submodule init
git submodule update
- name: Build tgz package
run: |
# source /root/.bashrc
# conda config --add channels defaults
source /root/.bashrc
cat /root/.bashrc
source /miniconda/etc/profile.d/conda.sh
conda activate py310
conda info --envs
which python
pip list
git fetch --tags
TAG_NAME=$(git describe --tags $(git rev-list --tags --max-count=1))
VERSION_NUMBER=$(echo "$TAG_NAME" | sed 's/^v//')
export AS_RELEASE_VERSION=$VERSION_NUMBER
export AS_BUILD_PACKAGE=ON
echo "ENABLE_CUDA value: $ENABLE_CUDA"
# export ENABLE_MULTINUMA="ON"
if [[ "${{ matrix.arch }}" == "ARM64" ]]; then
export AS_PLATFORM="armclang"
bash build.sh
else
if [ "$ENABLE_CUDA" -eq "1" ];
then
export AS_PLATFORM="cuda"
export AS_CUDA_SM="'70;75;80;86;89;90a'"
bash scripts/release/cpp_build_cuda.sh
else
export AS_PLATFORM="x86"
bash build.sh
fi
fi
- name: Upload tgz package
uses: actions/upload-artifact@v4
with:
name: dashinfer-tgz-${{ matrix.arch }}
path: build/*.tar.gz
# build-wheels:
# strategy:
# matrix:
# arch: [X64, ARM64]
# image: ["dev-ubuntu22.04-cu124:v1", "dev-centos8-arm:v2"]
# exclude:
# - arch: X64
# image: "dev-centos8-arm:v2"
# - arch: ARM64
# image: "dev-ubuntu22.04-cu124:v1"
# enable_cuda: [0, 1]
# runs-on: [self-hosted, Linux, "${{ matrix.arch }}"]
# container:
# image: registry-1.docker.io/dashinfer/${{ matrix.image }}
# env:
# # force use node16 instead of node20
# # otherwise it may cause GLIBCXX_2.27 not found
# # ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true
# ENABLE_CUDA: ${{ matrix.enable_cuda }}
# steps:
# - name: Check out code
# uses: actions/checkout@v3
# with:
# lfs: false
# - name: Pull LFS
# run: |
# git lfs install --force
# git lfs pull
# - name: Init submodule
# run: |
# git submodule init
# git submodule update
# - name: Build manylinux wheels
# run: |
# source /root/.bashrc
# conda config --add channels defaults
# source /root/.bashrc
# cat /root/.bashrc
# conda info --envs
# pip list
# git fetch --tags
# TAG_NAME=$(git describe --tags $(git rev-list --tags --max-count=1))
# VERSION_NUMBER=$(echo "$TAG_NAME" | sed 's/^v//')
# export AS_RELEASE_VERSION=$VERSION_NUMBER
# echo "ENABLE_CUDA value: $ENABLE_CUDA"
# if [[ "${{ matrix.arch }}" == "ARM64" ]]; then
# bash scripts/release/python_manylinux_build.sh
# else
# if [ "$ENABLE_CUDA" -eq "1" ];
# then
# export AS_CUDA_SM="'70;75;80;86;89;90a'"
# bash scripts/release/python_manylinux_build_cuda.sh
# else
# bash scripts/release/python_manylinux_build.sh
# fi
# fi
# - name: Upload wheels
# uses: actions/upload-artifact@v4
# with:
# name: python-manylinux-wheels-${{ matrix.arch }}
# path: python/wheelhouse/*-manylinux*.whl
# publish:
# runs-on: [self-hosted, Linux]
# needs: [build-tgz, build-wheels]
# strategy:
# matrix:
# arch: [X64, ARM64]
# steps:
# - name: Download tgz packages
# uses: actions/download-artifact@v3
# with:
# name: dashinfer-tgz-${{ matrix.arch }}
# path: release/
# - name: Download python wheels
# uses: actions/download-artifact@v3
# with:
# name: python-manylinux-wheels-${{ matrix.arch }}
# path: release/
# - name: Release all packages
# uses: softprops/action-gh-release@v1
# with:
# files: release/*