Skip to content

Hidet v0.5.0

Hidet v0.5.0 #49

Workflow file for this run

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: ./