split requirements #2
Workflow file for this run
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: Generate a TEST Release | |
on: | |
push: | |
tags: | |
- 'v[0-9].[0-9]+.[0-9]+rc[0-9]+' | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
permissions: read-all | |
jobs: | |
get-python-version: | |
name: Get Latest Python Version | |
runs-on: ubuntu-latest | |
outputs: | |
highest-version: ${{ steps.get-language-versions.outputs.latest-versions }} | |
steps: | |
- name: Get Required Version | |
uses: ActionsToolbox/get-language-versions-action@446919617fd774095b5dd3ed71c39dd3fd0d8f4f # v0.1.3 | |
id: get-language-versions | |
with: | |
language: "python" | |
highest-only: true | |
build-and-publish: | |
name: Build & publish to TestPyPI | |
runs-on: ubuntu-latest | |
needs: | |
- get-python-version | |
steps: | |
- name: Checkout the Repository | |
uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 | |
- name: Set up Python ${{ needs.get-python-version.outputs.highest-version }} | |
uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5.1.0 | |
with: | |
python-version: ${{ needs.get-python-version.outputs.highest-version }} | |
- name: Update Pip | |
run: python -m pip install --upgrade pip | |
- name: Install Required Tooling | |
run: pip install setuptools wheel twine | |
- name: Build Binary Wheel & Source Rarball | |
run: python setup.py sdist bdist_wheel | |
- name: Verify Binary Wheel & Source Tarball | |
run: twine check dist/* | |
- name: Publish to TestPyPI | |
env: | |
TWINE_USERNAME: __token__ | |
TWINE_PASSWORD: ${{ secrets.TEST_PYPI_API_TOKEN }} | |
run: twine upload -r testpypi dist/* | |
set-release-version: | |
name: Set Release Version | |
runs-on: ubuntu-latest | |
outputs: | |
release-version: ${{ steps.set-release-version.outputs.release-version }} | |
steps: | |
- name: Checkout the repository | |
uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 | |
with: | |
fetch-depth: 0 | |
- name: Set the release version | |
id: set-release-version | |
run: echo "release-version=${GITHUB_REF#refs/*/}" >> "${GITHUB_OUTPUT}" | |
create-release: | |
name: Create Release | |
permissions: | |
contents: write | |
runs-on: ubuntu-latest | |
needs: | |
- set-release-version | |
steps: | |
- name: Checkout the Repository | |
uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 | |
with: | |
fetch-depth: 0 | |
- name: Generate Changelog | |
uses: Bullrich/generate-release-changelog@6b60f004b4bf12ff271603dc32dbd261965ad2f2 # v2.0.2 | |
id: Changelog | |
env: | |
REPO: ${{ github.repository }} | |
- name: Create a Release | |
id: create_release | |
uses: softprops/action-gh-release@69320dbe05506a9a39fc8ae11030b214ec2d1f87 # v2.0.5 | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
tag_name: ${{ github.ref }} | |
name: ${{ needs.set-release-version.outputs.release-version }} | |
body: ${{ steps.Changelog.outputs.changelog }} | |
draft: false | |
prerelease: true |