Hidet v0.5.0 #49
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Publish to PyPI | |
on: | |
release: | |
types: [published] | |
jobs: | |
build-wheel: | |
outputs: | |
wheel_name: ${{ steps.build_step.outputs.wheel_name }} | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout source | |
uses: actions/checkout@v4 | |
- name: Get the version | |
id: get_version | |
run: echo "VERSION=${GITHUB_REF#refs/tags/v}" >> $GITHUB_OUTPUT | |
- name: Build Hidet Wheel | |
id: build_step | |
uses: ./.github/actions/build-wheel | |
with: | |
version: ${{ steps.get_version.outputs.VERSION }} | |
- name: Upload wheel | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ steps.build_step.outputs.wheel_name }} | |
path: ${{ steps.build_step.outputs.wheel_path }} | |
retention-days: 1 | |
if-no-files-found: "error" | |
list-test-dirs: | |
runs-on: ubuntu-latest | |
outputs: | |
matrix: ${{ steps.set-matrix.outputs.matrix }} | |
steps: | |
- name: Checkout Hidet | |
uses: actions/checkout@v4 | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.9" | |
- id: set-matrix | |
run: | | |
python .github/scripts/set_test_matrix.py | |
run-tests: | |
name: Release Tests | |
needs: [list-test-dirs, build-wheel] | |
strategy: | |
fail-fast: false | |
matrix: ${{ fromJSON(needs.list-test-dirs.outputs.matrix) }} | |
runs-on: arc-runner-set | |
container: | |
image: nvidia/cuda:12.6.2-devel-ubuntu22.04 | |
steps: | |
- name: Install dependencies via apt | |
run: | | |
apt update && DEBIAN_FRONTEND=noninteractive apt install -y ccache git graphviz | |
- uses: actions/checkout@v4 | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.9" | |
- name: Download wheel | |
uses: actions/download-artifact@v4 | |
with: | |
name: ${{ needs.build-wheel.outputs.wheel_name }} | |
- name: Setup Hidet from Wheel | |
run: | | |
pip install -r requirements-dev.txt | |
pip install ${{ needs.build-wheel.outputs.wheel_name }} | |
- name: List installed packages | |
run: | | |
pip list | |
- name: Run tests | |
run: | | |
rm -rf ~/.config/hidet | |
python -m pytest -v --durations=20 --clear-cache ${{ matrix.path }} | |
build-docs: | |
runs-on: arc-runner-set | |
container: | |
image: nvidia/cuda:12.6.2-devel-ubuntu22.04 | |
steps: | |
- name: Install dependencies via apt | |
run: | | |
apt update && DEBIAN_FRONTEND=noninteractive apt install -y ccache git graphviz | |
- uses: actions/checkout@v4 | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.9" | |
- name: Setup cmake | |
uses: jwlawson/[email protected] | |
with: | |
cmake-version: '3.19.x' | |
- name: Setup Hidet | |
uses: ./.github/actions/setup-hidet | |
- name: List installed packages | |
run: | | |
pip list | |
- name: Install docs dependencies | |
run: | | |
pip install -r docs/requirements.txt | |
- name: Build docs | |
run: | | |
cd docs; make clean; make html | |
publish: | |
name: Publish to PyPI | |
needs: [run-tests, build-docs, build-wheel] | |
if: github.event_name == 'release' && github.event.action == 'published' && startsWith(github.event.release.tag_name, 'v') | |
runs-on: ubuntu-latest | |
steps: | |
- name: Download wheel | |
uses: actions/download-artifact@v4 | |
with: | |
name: ${{ needs.build-wheel.outputs.wheel_name }} | |
- name: Show the wheel | |
run: | | |
ls -l | |
- name: Publish | |
uses: pypa/[email protected] | |
with: | |
user: __token__ | |
password: ${{ secrets.PYPI_TOKEN }} | |
packages_dir: ./ |