0.20.3 #5
Workflow file for this run
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: Upload to PyPI | |
on: | |
push: | |
tags: | |
- "v[0-9]+.*" | |
- "test-v[0-9]+.*" # Uploads to https://test.pypi.org/project/tree-sitter/ | |
jobs: | |
build-sdist: | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: true | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: "3.10" | |
- run: python setup.py sdist | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: dist | |
path: ./dist/* | |
build-wheels: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-20.04, macos-11, windows-2022] | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: true | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: "3.10" | |
- if: ${{ startsWith(matrix.os, 'windows') }} | |
run: script\fetch-fixtures.cmd | |
- if: ${{ !startsWith(matrix.os, 'windows') }} | |
run: script/fetch-fixtures | |
# Build wheels | |
- run: pip install cibuildwheel==2.16.1 | |
- run: python -m cibuildwheel --output-dir dist | |
env: | |
CIBW_TEST_COMMAND: python -m unittest discover -s {package}/tests | |
CIBW_ARCHS_MACOS: x86_64 arm64 universal2 | |
CIBW_ARCHS_LINUX: x86_64 aarch64 | |
# Make wheels downloadable from GitHub UI and from the pypi step | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: dist | |
path: ./dist/*.whl | |
release: | |
runs-on: ubuntu-latest | |
needs: [build-sdist, build-wheels] | |
steps: | |
- uses: actions/download-artifact@v3 | |
with: | |
name: dist | |
path: dist | |
- run: ls -la | |
- run: ls -la dist | |
# https://stackoverflow.com/a/58478262 | |
- if: ${{ startsWith(github.ref, 'refs/tags/test-v') }} | |
name: "Upload to test.pypi.org" | |
uses: pypa/gh-action-pypi-publish@release/v1 | |
with: | |
user: __token__ | |
password: ${{ secrets.TEST_PYPI_API_TOKEN }} | |
repository_url: https://test.pypi.org/legacy/ | |
- if: ${{ startsWith(github.ref, 'refs/tags/v') }} | |
name: "Upload to pypi.org" | |
uses: pypa/gh-action-pypi-publish@release/v1 | |
with: | |
user: __token__ | |
password: ${{ secrets.PYPI_API_TOKEN }} | |
- if: ${{ startsWith(github.ref, 'refs/tags/v') }} | |
name: "Create GitHub Release" | |
uses: actions/create-release@v1 | |
with: | |
tag_name: ${{ github.ref }} | |
release_name: ${{ github.ref }} | |
draft: false | |
prerelease: false | |
files: | | |
dist/*.whl | |
dist/*.tar.gz | |
token: ${{ secrets.GITHUB_TOKEN }} |