DEVOPS-1131: Use ref_name and add release tag validation in python_deploy_prod.yml - #471
Conversation
There was a problem hiding this comment.
Pull request overview
Updates the production Python deployment GitHub Actions workflow to derive the release tag from the run’s ref (github.ref_name) instead of requiring a manual workflow_dispatch input, and adds a fast-fail guard to ensure manual runs are started from a tag.
Changes:
- Removed the
workflow_dispatchrelease-taginput and switched release tag resolution togithub.ref_name. - Added a
validate-release-tagjob to fail early when a manual run isn’t triggered from a tag. - Wired the validation job into the existing Conda and PyPI publish reusable-workflow jobs via
needs.
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| validate-release-tag: | ||
| name: Validate release tag | ||
| runs-on: ubuntu-latest | ||
| timeout-minutes: 5 | ||
| steps: | ||
| - name: Ensure this run was triggered from a tag | ||
| if: ${{ github.event_name == 'workflow_dispatch' && github.ref_type != 'tag' }} | ||
| env: | ||
| REF_TYPE: ${{ github.ref_type }} | ||
| REF_NAME: ${{ github.ref_name }} | ||
| run: | | ||
| echo "::error::This run was not triggered from a tag (ref_type=$REF_TYPE, ref_name=$REF_NAME). Re-run this workflow selecting the release tag under 'Use workflow from'." | ||
| exit 1 |
There was a problem hiding this comment.
suggestion: still run the check if ref_type is 'tag' and return it passed
Currentyl, the step shows as skipped when using workflow_dispatch and selecting a tag. Somewhat confusing. Better to show that a tag was actually validated.
See here https://github.com/MiraGeoscience/simpeg-drivers/actions/runs/33392669744
Also have a check on the tag starting with v, as this is the requirement to consider it a release tag.
DEVOPS-1131 - python_deploy_prod workflow to use tag from revision: no manual input
Use github.ref_name instead of workflow_dispatch input release-tag, and add a validate-release-tag job to fail fast when the workflow is not run from a tag.
Mirrors the change made in MiraGeoscience/simpeg#167.