| name: Schedule candidate release | |
| on: | |
| # Scheduled for 10:00 PM PST | |
| schedule: | |
| - cron: "0 5 * * *" | |
| workflow_dispatch: | |
| inputs: | |
| release-commit: | |
| description: "Explicit commit to release at (overrides green commit check)" | |
| required: false | |
| default: "" | |
| jobs: | |
| tag_release: | |
| if: ${{ github.repository_owner == 'iree-org' || github.event_name != 'schedule' }} | |
| name: "Tag candidate release" | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - name: Checking out repository | |
| uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| with: | |
| token: ${{ secrets.WRITE_ACCESS_TOKEN }} | |
| fetch-depth: 0 | |
| - name: Checkout the most recent green commit | |
| id: last_green_commit | |
| env: | |
| GH_TOKEN: ${{ github.token }} | |
| run: | | |
| if [ -z "${{ github.event.inputs.release-commit }}" ]; then | |
| release_commit="$(./build_tools/scripts/get_latest_green.sh)" | |
| else | |
| release_commit="${{ github.event.inputs.release-commit }}" | |
| fi | |
| git checkout "${release_commit}" | |
| echo "release-commit=${release_commit}" >> "${GITHUB_OUTPUT}" | |
| - name: Compute version | |
| run: | | |
| # common version + tag | |
| package_version="$(python3 build_tools/python_deploy/compute_common_version.py -rc)" | |
| tag_name="iree-${package_version}" | |
| echo "package_version=${package_version}" >> $GITHUB_ENV | |
| echo "tag_name=${tag_name}" >> $GITHUB_ENV | |
| # legacy package version (for iree-tools-{tf,tflite}) | |
| legacy_package_version="$(printf '%(%Y%m%d)T.${{ github.run_number }}')" | |
| echo "legacy_package_version=${legacy_package_version}" >> $GITHUB_ENV | |
| # iree-base-compiler version | |
| compiler_package_version="$(python3 build_tools/python_deploy/compute_local_version.py compiler -rc)" | |
| echo "compiler_package_version=${compiler_package_version}" >> $GITHUB_ENV | |
| # iree-base-runtime version | |
| runtime_package_version="$(python3 build_tools/python_deploy/compute_local_version.py runtime -rc)" | |
| echo "runtime_package_version=${runtime_package_version}" >> $GITHUB_ENV | |
| - name: Updating candidate tag | |
| run: | | |
| git tag "${tag_name}" | |
| - name: Pushing changes | |
| run: git push origin "${tag_name}" | |
| - name: Create Release | |
| id: create_release | |
| uses: ncipollo/release-action@339a81892b84b4eeb0f6e744e4574d79d0d9b8dd # v1.21.0 | |
| with: | |
| tag: ${{ env.tag_name }} | |
| name: iree candidate ${{ env.tag_name }} | |
| commit: ${{ steps.last_green_commit.outputs.release-commit }} | |
| body: | | |
| Automatic candidate release of iree. | |
| draft: true | |
| prerelease: true | |
| token: ${{ secrets.WRITE_ACCESS_TOKEN }} | |
| - name: "Invoke workflow :: Build Release Packages" | |
| uses: benc-uk/workflow-dispatch@31e2b3319479a63f0ab15bf800eff9e913504e26 # v1.3.2 | |
| with: | |
| workflow: Build Release Packages | |
| token: ${{ secrets.WRITE_ACCESS_TOKEN }} | |
| ref: "${{ env.tag_name }}" | |
| inputs: | | |
| { | |
| "package_suffix": "", | |
| "legacy_package_version": "${{ env.legacy_package_version }}", | |
| "package_version": "${{ env.package_version }}", | |
| "compiler_package_version": "${{ env.compiler_package_version }}", | |
| "runtime_package_version": "${{ env.runtime_package_version }}", | |
| "release_id": "${{ steps.create_release.outputs.id }}", | |
| "commit": "${{ steps.last_green_commit.outputs.release-commit }}" | |
| } |