Validate and Publish Release #1279
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
# Publishes a draft snapshot, after performing validation to make sure all linux | |
# packages are stable. | |
name: Validate and Publish Release | |
on: | |
workflow_dispatch: | |
inputs: | |
release_id: | |
description: "Release id to publish" | |
required: true | |
package_version: | |
description: "Version of the package" | |
required: true | |
build_run_id: | |
description: "Run ID for the build_package.yml workflow that triggered this workflow" | |
required: true | |
jobs: | |
validate_packages: | |
name: "Validate packages" | |
# TODO(jennik): Look into testing windows and macos builds. | |
runs-on: ubuntu-24.04 | |
steps: | |
- name: Download packages | |
id: download_packages | |
uses: dawidd6/action-download-artifact@5e780fc7bbd0cac69fc73271ed86edf5dcb72d67 # v2.26.0 | |
with: | |
github_token: ${{secrets.WRITE_ACCESS_TOKEN}} | |
workflow: build_package.yml | |
run_id: ${{ github.event.inputs.build_run_id }} | |
- name: Extract and display downloaded files | |
run: | | |
tar -xf wheels-linux-x86_64-main-dist-linux/iree-dist-${{ github.event.inputs.package_version }}-linux-x86_64.tar.xz | |
pwd | |
ls -R | |
- name: Set up python | |
id: set_up_python | |
uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0 | |
with: | |
python-version: "3.9" | |
- name: Install python packages | |
id: install_python_packages | |
run: | | |
python -m pip install -f file://$PWD/wheels-linux-x86_64-py-compiler-pkg/ iree-base-compiler[onnx] | |
python -m pip install -f file://$PWD/wheels-linux-x86_64-py-runtime-pkg/ iree-base-runtime | |
python -m pip install -f file://$PWD/wheels-linux-x86_64-py-tf-compiler-tools-pkg/ iree-tools-tflite iree-tools-tf | |
- name: Validate IREE Compiler Package | |
id: validate_compiler_package | |
run: | | |
echo "Testing compiler package:" | |
python -m iree.compiler._package_test | |
- name: Validate IREE Runtime Package | |
id: validate_runtime_package | |
run: | | |
echo "Testing default runtime:" | |
python -m iree.runtime._package_test | |
echo "Testing tracy runtime:" | |
# GH runners don't expose the TSC but we want to make sure the basic packaging | |
# works, so override the check with TRACY_NO_INVARIANT_CHECK=1 (per instructions | |
# if this is left off). | |
TRACY_NO_INVARIANT_CHECK=1 IREE_PY_RUNTIME=tracy \ | |
python -m iree.runtime._package_test | |
# Binaries from the tarball | |
- name: Run iree-benchmark-executable | |
id: run_iree_benchmark_executable | |
run: ./bin/iree-benchmark-executable --help | |
- name: Run iree-benchmark-module | |
id: run_iree_benchmark_module | |
run: ./bin/iree-benchmark-module --help | |
- name: Run iree-dump-module | |
id: run_iree_dump_module | |
run: ./bin/iree-dump-module --help | |
- name: Run iree-cpuinfo | |
id: run_iree_cpuinfo | |
run: ./bin/iree-cpuinfo | |
- name: Run iree-flatcc-cli | |
id: run_iree_flatcc_cli | |
run: ./bin/iree-flatcc-cli --help | |
- name: Run iree-opt | |
id: run_iree_opt | |
run: ./bin/iree-opt --help | |
- name: Run iree-run-mlir | |
id: run_iree_run_mlir | |
run: ./bin/iree-run-mlir --help | |
- name: Run iree-run-module | |
id: run_iree_run_module | |
run: ./bin/iree-run-module --help | |
- name: Run iree-tblgen | |
id: run_iree_tblgen | |
run: ./bin/iree-tblgen --help | |
- name: Run iree-compile | |
id: run_iree-compile | |
run: ./bin/iree-compile --help | |
# Console scripts from the wheels. | |
- name: Py iree-run-module | |
id: py_iree-run-module | |
run: iree-run-module --help | |
- name: Py iree-benchmark-executable | |
id: py_iree_benchmark_executable | |
run: iree-benchmark-executable --help | |
- name: Py iree-benchmark-module | |
id: py_iree_benchmark_module | |
run: iree-benchmark-module --help | |
- name: Py iree-dump-module | |
id: py_iree_dump_module | |
run: iree-dump-module --help | |
- name: Py iree-cpuinfo | |
id: py_iree_cpuinfo | |
run: iree-cpuinfo | |
publish_release: | |
name: "Publish release" | |
needs: validate_packages | |
runs-on: ubuntu-24.04 | |
steps: | |
- name: Publish Release | |
id: publish_release | |
uses: eregon/publish-release@46913fa2b3f7edc7345ae3c17f6d1b093a54916d # v1.0.5 | |
env: | |
GITHUB_TOKEN: ${{ secrets.WRITE_ACCESS_TOKEN }} | |
with: | |
release_id: ${{ github.event.inputs.release_id }} | |
- name: Checking out repository | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
with: | |
token: ${{ secrets.WRITE_ACCESS_TOKEN }} | |
# Get all history. Otherwise the latest-snapshot branch can't be | |
# fast-forwarded. | |
fetch-depth: 0 | |
- name: Set up python | |
uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0 | |
with: | |
python-version: "3.9" | |
- name: Check for patch release | |
run: | | |
python -m pip install packaging | |
is_patch_release="$(python -c "from packaging.version import Version;print('true' if Version('${{ github.event.inputs.package_version }}').micro !=0 else 'false')")" | |
echo "is_patch_release=${is_patch_release}" >> $GITHUB_ENV | |
- name: Updating latest-snapshot branch | |
# Do not update the branch if the release is a patch release | |
if: ${{ env.is_patch_release == 'false'}} | |
uses: ad-m/github-push-action@d91a481090679876dfc4178fef17f286781251df # v0.8.0 | |
with: | |
github_token: ${{ secrets.WRITE_ACCESS_TOKEN }} | |
branch: latest-snapshot | |
force: true |