Run CD #98
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: "Run CD" | |
on: | |
workflow_dispatch: | |
env: | |
# disable keyring (https://github.com/actions/runner-images/issues/6185): | |
PYTHON_KEYRING_BACKEND: keyring.backends.null.Keyring | |
jobs: | |
code-checks: | |
uses: ./.github/workflows/checks.yml | |
build-deploy-docs: | |
uses: ./.github/workflows/docs.yml | |
with: | |
deploy: true | |
permissions: | |
contents: write | |
pre-release-check: | |
runs-on: ubuntu-latest | |
outputs: | |
TARGET_TAG_V: ${{ steps.version_check.outputs.TRGT_VERSION }} | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 # for fetching tags, required for semantic-release | |
- uses: ./.github/actions/setup-poetry | |
- name: Check version of potential release | |
id: version_check | |
run: | | |
TRGT_VERSION=$(poetry run semantic-release print-version) | |
echo "TRGT_VERSION=${TRGT_VERSION}" >> $GITHUB_OUTPUT | |
echo "${TRGT_VERSION}" | |
- name: Check notes of potential release | |
run: poetry run semantic-release changelog --unreleased | |
release: | |
needs: [code-checks, pre-release-check] | |
if: needs.pre-release-check.outputs.TARGET_TAG_V != '' | |
environment: auto-release | |
runs-on: ubuntu-latest | |
concurrency: release | |
steps: | |
- uses: actions/create-github-app-token@v1 | |
id: app-token | |
with: | |
app-id: ${{ vars.CI_APP_ID }} | |
private-key: ${{ secrets.CI_PRIVATE_KEY }} | |
- uses: actions/checkout@v4 | |
with: | |
token: ${{ steps.app-token.outputs.token }} | |
fetch-depth: 0 # for fetching tags, required for semantic-release | |
- uses: ./.github/actions/setup-poetry | |
- name: Run release script | |
env: | |
GH_TOKEN: ${{ steps.app-token.outputs.token }} | |
TARGET_VERSION: ${{ needs.pre-release-check.outputs.TARGET_TAG_V }} | |
CHGLOG_FILE: CHANGELOG.md | |
run: ./.github/scripts/release.sh | |
shell: bash |