publish_website: only publish from main, verify-only on release candidates (#24907)
The Publish Website workflow is triggered by `release: [published,
unpublished]` events. Release candidate releases (tags like
`iree-3.6.0rc20250910`) go through the same path: the candidate release
workflows create a draft prerelease, Build Release Packages fills it,
and Validate and Publish Release publishes it -- which fires the
`published` event and made Publish Website deploy the site from the RC,
overwriting whatever main had last published (losing a blogpost
recently).
Keep running the site build steps as verification, but skip the gh-pages
deployment when the run was triggered by a release candidate release.
Deployment still happens for main pushes, schedules, manual dispatches,
and stable releases.
Fixes #24764
Assisted-by: Claude Code / glm-5.3-flash
Signed-off-by: linsen <251731047+linsen458-spec@users.noreply.github.com>
Co-authored-by: linsen <251731047+linsen458-spec@users.noreply.github.com>
diff --git a/.github/workflows/publish_website.yml b/.github/workflows/publish_website.yml
index b37a164..be401de 100644
--- a/.github/workflows/publish_website.yml
+++ b/.github/workflows/publish_website.yml
@@ -87,10 +87,22 @@
key: ${{ github.job }}
- name: Building documentation files
run: ./docs/website/generate_extra_files.sh
+ # Release candidate releases (tags like `iree-3.6.0rc20250910`) are
+ # published automatically by the candidate release workflows. Deploying
+ # the website from them would overwrite the site last published from
+ # main, so for those runs everything above only serves to verify that
+ # the website still builds and the deployment steps are skipped.
+ - name: Skipping deployment (release candidate)
+ if: ${{ github.event_name == 'release' && contains(github.event.release.tag_name, 'rc') }}
+ run: |
+ echo "Triggered by a release candidate release; skipping deploy to gh-pages."
+
- name: Setting git config
+ if: ${{ github.event_name != 'release' || !contains(github.event.release.tag_name, 'rc') }}
run: |
git config --local user.email "iree-github-actions-bot@google.com"
git config --local user.name "Website Publish Action"
- name: Deploying to gh-pages
+ if: ${{ github.event_name != 'release' || !contains(github.event.release.tag_name, 'rc') }}
working-directory: docs/website
run: mkdocs gh-deploy