Skip to content

Schedule candidate release #312

Schedule candidate release

Schedule candidate release #312

name: Schedule candidate release
on:
schedule:
- cron: "0 10 * * *"
workflow_dispatch:
inputs:
release-commit:
description: "Explicit commit to release at (overrides green commit check)"
required: false
default: ""
jobs:
tag_release:
name: "Tag candidate release"
runs-on: ubuntu-20.04
steps:
- name: Checking out repository
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
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: |
package_version="$(printf '%(%Y%m%d)T.${{ github.run_number }}')"
tag_name="candidate-${package_version}"
echo "package_version=${package_version}" >> $GITHUB_ENV
echo "tag_name=${tag_name}" >> $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: actions/create-release@0cb9c9b65d5d1901c1f53e5e66eaf4afd303e70e # v1
env:
GITHUB_TOKEN: ${{ secrets.WRITE_ACCESS_TOKEN }}
with:
tag_name: ${{ env.tag_name }}
release_name: iree candidate ${{ env.tag_name }}
commitish: ${{ steps.last_green_commit.outputs.release-commit }}
body: |
Automatic candidate release of iree.
draft: true
prerelease: true
- name: "Invoke workflow :: Build Release Packages"
uses: benc-uk/workflow-dispatch@e2e5e9a103e331dad343f381a29e654aea3cf8fc # v1.2.4
with:
workflow: Build Release Packages
token: ${{ secrets.WRITE_ACCESS_TOKEN }}
ref: "${{ env.tag_name }}"
inputs: |
{
"package_suffix": "",
"package_version": "${{ env.package_version }}",
"release_id": "${{ steps.create_release.outputs.id }}",
"commit": "${{ steps.last_green_commit.outputs.release-commit }}"
}