Release #43
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: release | |
run-name: Release | |
on: | |
release: | |
types: [released] | |
workflow_call: | |
inputs: | |
release_id: | |
type: string | |
description: "The id of the release" | |
required: false | |
release_tag: | |
type: string | |
description: "The tag of the release" | |
required: false | |
is_draft: | |
type: boolean | |
description: "Is the release a draft" | |
required: false | |
env: | |
release_id: ${{ inputs.release_id || github.event.release.id }} | |
release_tag: ${{ inputs.release_tag || github.event.release.tag_name }} | |
is_draft: ${{ inputs.is_draft || github.event.release.draft }} | |
is_scheduled: ${{ github.event_name == 'schedule' }} | |
jobs: | |
validate_tag: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
ref: ${{ github.ref }} | |
- name: Fail early if tag schema is invalid | |
run: | | |
if [[ ! ${{ env.release_tag }} =~ ^refs/tags/(v[0-9]+\.[0-9]+\.[0-9]+)$ && ${{ env.release_tag }} =~ ^refs/tags/test-.*$ ]]; then | |
echo "Tag ${{ env.release_tag }} is not a valid semver tag" | |
exit 1 | |
fi | |
run_tests: | |
needs: validate_tag | |
uses: ./.github/workflows/JOB_tests.yml | |
run_e2e: | |
needs: run_tests | |
uses: ./.github/workflows/JOB_e2e.yml | |
release: | |
needs: [run_tests, run_e2e] | |
if: startsWith(github.ref, 'refs/tags/v') | |
runs-on: ubuntu-latest | |
permissions: | |
id-token: write | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
ref: ${{ github.ref }} | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.9" | |
- run: pip install pip --upgrade | |
- name: Setup Poetry | |
uses: abatilo/actions-poetry@c31426b23a8080795905ec73c9e458a2447cb2f2 | |
with: | |
poetry-version: "1.3.1" | |
- name: Build package | |
run: poetry build | |
- name: Publish to PyPI | |
uses: pypa/gh-action-pypi-publish@ec4db0b4ddc65acdf4bff5fa45ac92d78b56bdf0 | |
test_release: | |
needs: [run_tests, run_e2e] | |
if: startsWith(github.ref, 'refs/tags/test-') | |
runs-on: ubuntu-latest | |
permissions: | |
id-token: write | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
ref: ${{ github.ref }} | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.9" | |
- run: pip install pip --upgrade | |
- name: Setup Poetry | |
uses: abatilo/actions-poetry@c31426b23a8080795905ec73c9e458a2447cb2f2 | |
with: | |
poetry-version: "1.3.1" | |
- name: Build package | |
run: | | |
python ./deploy/nightly_package_setup.py | |
poetry build | |
python ./deploy/revert_nightly_setup.py | |
- name: Publish to Test PyPI | |
uses: pypa/gh-action-pypi-publish@ec4db0b4ddc65acdf4bff5fa45ac92d78b56bdf0 | |
with: | |
repository-url: https://test.pypi.org/legacy/ | |
# notify_release: | |
# needs: [release] | |
# if: success() | |
# uses: ./.github/workflows/JOB_slack_message.yml | |
# secrets: inherit | |
# with: | |
# icon: ":rocket:" | |
# at_team: true | |
# message: | | |
# :tada: *${{ inputs.release_tag || github.event.release.tag_name }}* has been released! | |
# :link: | |
# - https://pypi.org/project/darwin-py | |
# - ${{ github.event.release.html_url }} | |
# notify_failed_release: | |
# needs: [release] | |
# if: failure() | |
# uses: ./.github/workflows/JOB_slack_message.yml | |
# secrets: inherit | |
# with: | |
# icon: ":warning:" | |
# at_team: true | |
# message: | | |
# :warning: *${{ inputs.release_tag || github.event.release.tag_name }}* Release has failed to be released! | |
# *An error occurred performing release, and you may need to release manually.* | |
# :link: | |
# - ${{ github.event.release.html_url }} |