Skip to content

Release managementlink

IREE cuts automated releases via a workflow that is triggered daily. The only constraint placed on the commit that is released is that it has passed all required CI checks. These are published on GitHub with the "pre-release" status. For debugging this process, see the Release debugging playbook.

We periodically promote one of these candidates to a "stable" release by removing the "pre-release" status. This makes it show up as a "latest" release on GitHub. We also push the Python packages for this release to PyPI.

Release statuslink

Package Release status
GitHub release (stable) GitHub Release
GitHub release (nightly) GitHub Release
Python iree-compiler PyPI version
Python iree-runtime PyPI version

Running a releaselink

A pinned issue tracking the next release should be filed like https://github.com/iree-org/iree/issues/18380. Developers authoring patches that include major or breaking changes should coordinate merge timing and contribute release notes on those issues.

Picking a candidate to promotelink

After approximately one month since the previous release, a new release should be promoted from nightly release candidates.

When selecting a candidate we use the following criteria:

  1. ⪆4 days old so that problems with it may have been spotted
  2. Contains no P0 regressions vs the previous stable release
  3. LLVM submodule commit ideally exists upstream (no cherry picks or patches)
  4. Includes packages for all platforms, including macOS and Windows

When you've identified a potential candidate, comment on the tracking issue with the proposal and solicit feedback. People may point out known regressions or request that some feature make the cut.

Promoting a candidate to stablelink

  1. (Authorized users only) Push to PyPI using pypi_deploy.sh

  2. Open the release on GitHub. Rename the release from "candidate" to "stable", uncheck the option for "pre-release", and check the option for "latest".

    rename_release

    promote_release