Run CD #69
This file contains hidden or 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 | |
| pre-release-check: | |
| runs-on: ubuntu-24.04 | |
| outputs: | |
| TARGET_TAG_V: ${{ steps.version_check.outputs.TRGT_VERSION }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 # for fetching tags, required for semantic-release | |
| - name: Install uv and set the python version | |
| uses: astral-sh/setup-uv@v5 | |
| - name: Check version of potential release | |
| id: version_check | |
| run: | | |
| TRGT_VERSION=$(uv run semantic-release print-version) | |
| echo "TRGT_VERSION=${TRGT_VERSION}" >> $GITHUB_OUTPUT | |
| echo "${TRGT_VERSION}" | |
| - name: Check notes of potential release | |
| run: uv 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-24.04 | |
| 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 | |
| - name: Install uv and set the python version | |
| uses: astral-sh/setup-uv@v5 | |
| - 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 |