Support non GitHub repo hosts, ignore metrics (#325) #174
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: Publish to PyPI | |
| on: | |
| release: | |
| types: [published] | |
| push: | |
| branches: | |
| - main | |
| permissions: {} | |
| jobs: | |
| # setup build separate from publish | |
| # See https://github.com/pypa/gh-action-pypi-publish/issues/217#issuecomment-1965727093 | |
| build: | |
| runs-on: ubuntu-latest | |
| # This ensures that the publish action only runs in the main repository | |
| # rather than forks | |
| environment: build | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v4 | |
| with: | |
| # This fetch element is only important if you are use SCM based | |
| # versioning (that looks at git tags to gather the version) | |
| fetch-depth: 100 | |
| persist-credentials: false | |
| # Need the tags so that setuptools-scm can form a valid version number | |
| - name: Fetch git tags | |
| run: git fetch origin 'refs/tags/*:refs/tags/*' | |
| - name: Setup Python | |
| uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v5 | |
| with: | |
| python-version: "3.10" | |
| - name: Install Hatch | |
| run: | | |
| pipx install hatch | |
| pip list | |
| - name: Build package using Hatch | |
| run: | | |
| hatch build | |
| echo "" | |
| echo "Generated files:" | |
| ls -lh dist/ | |
| # Store an artifact of the build to use in the publish step below | |
| - name: Store the distribution packages | |
| uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 | |
| with: | |
| name: python-package-distributions | |
| path: dist/ | |
| publish: | |
| name: >- | |
| Publish Python 🐍 distribution 📦 to PyPI | |
| if: github.repository_owner == 'pyopensci' && github.event_name == 'release' | |
| needs: | |
| - build | |
| runs-on: ubuntu-latest | |
| environment: | |
| name: pypi | |
| url: https://pypi.org/p/pyosmeta | |
| permissions: | |
| id-token: write # this permission is mandatory for PyPI publishing | |
| steps: | |
| - name: Download all the dists | |
| uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4 | |
| with: | |
| name: python-package-distributions | |
| path: dist/ | |
| - name: Publish package to PyPI | |
| # Only publish to PyPI on release | |
| if: github.event_name == 'release' | |
| uses: pypa/gh-action-pypi-publish@76f52bc884231f62b9a034ebfe128415bbaabdfc # v1.12.4 |