Skip to content

Commit

Permalink
Comments + attemp to use hatch publish
Browse files Browse the repository at this point in the history
  • Loading branch information
jorisroovers committed Jan 23, 2023
1 parent 9f7dc7d commit 534fea7
Showing 1 changed file with 29 additions and 5 deletions.
34 changes: 29 additions & 5 deletions .github/workflows/publish-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
- name: Setup python
uses: actions/[email protected]
with:
python-version: ${{ matrix.python-version }}
python-version: "3.11"

- name: Install Hatch
run: python -m pip install hatch==1.6.3
Expand All @@ -31,20 +31,44 @@ jobs:
ref: ${{ inputs.repo_release_ref }}
fetch-depth: 0 # checkout all history, needed for hatch versioning

# Create hatch env explicitly to avoid hatch output ("Setting up build environment for missing dependencies")
# during the next step (hatch version)
- name: Hatch env create
run: hatch env create

# Hatch versioning is based on git (using hatch-vcs). If there is no explicit tag for the commit we're trying to
# publish, hatch versioning strings will have this format: 0.19.0.dev52+g9f7dc7d
# With the string after '+' being the 'g<short-sha>' of the commit.
#
# However, PyPI doesn't allow '+' in version numbers (=no PEP440 local versions allowed on PyPI).
# To work around this, we override the version string by setting the SETUPTOOLS_SCM_PRETEND_VERSION env var
# to the version string without the '+' and everything after it.
# We then only actual publish such releases on the main branch to guarantee the dev numbering scheme remains
# unique.
# Note that when a tag *is* present (i.e. v0.19.0), hatch versioning will return the tag name (i.e. 0.19.0)
# and this step has no effect, ie. SETUPTOOLS_SCM_PRETEND_VERSION will be the same as `hatch version`.
- name: Set SETUPTOOLS_SCM_PRETEND_VERSION
run: |
echo "SETUPTOOLS_SCM_PRETEND_VERSION=$(hatch version | cut -d+ -f1)"
echo "SETUPTOOLS_SCM_PRETEND_VERSION=$(hatch version | cut -d+ -f1)" >> $GITHUB_ENV
- name: Test SETUPTOOLS_SCM_PRETEND_VERSION
run: echo $SETUPTOOLS_SCM_PRETEND_VERSION

- name: Build (gitlint-core)
run: hatch build
working-directory: ./gitlint-core

- name: Build (gitlint)
run: hatch build

- name: Publish (gitlint-core)
run: hatch publish -r test
working-directory: ./gitlint-core
env:
HATCH_INDEX_USER: ${{ secrets.TEST_PYPI_GITLINT_CORE_USERNAME }}
HATCH_INDEX_AUTH: ${{ secrets.TEST_PYPI_GITLINT_CORE_PASSWORD }}
if: inputs.pypi_target == 'test.pypi.org' and inputs.repo_release_ref == 'main'

- name: Publish (gitlint)
run: hatch publish -r test
env:
HATCH_INDEX_USER: ${{ secrets.TEST_PYPI_GITLINT_CORE_USERNAME }}
HATCH_INDEX_AUTH: ${{ secrets.TEST_PYPI_GITLINT_CORE_PASSWORD }}
if: inputs.pypi_target == 'test.pypi.org' and inputs.repo_release_ref == 'main'

0 comments on commit 534fea7

Please sign in to comment.