Prepare to publish

This commit is contained in:
Dustin Spicuzza 2023-10-05 02:49:04 -04:00
parent 93bdfee934
commit 9c587e9414
3 changed files with 49 additions and 26 deletions

View File

@ -9,6 +9,10 @@ on:
tags: tags:
- '*' - '*'
concurrency:
group: ${{ github.ref }}
cancel-in-progress: true
jobs: jobs:
check: check:
runs-on: ubuntu-latest runs-on: ubuntu-latest
@ -50,12 +54,37 @@ jobs:
pip --disable-pip-version-check install -r docs/requirements.txt pip --disable-pip-version-check install -r docs/requirements.txt
cd docs && make clean html SPHINXOPTS="-W --keep-going" cd docs && make clean html SPHINXOPTS="-W --keep-going"
#
# Build a wheel
#
build:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
fetch-depth: 0
- uses: actions/setup-python@v4
with:
python-version: 3.8
- run: pipx run build
- name: Upload build artifacts
uses: actions/upload-artifact@v3
with:
name: dist
path: dist
test: test:
needs: [build]
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
strategy: strategy:
matrix: matrix:
os: [windows-latest, macos-latest, ubuntu-20.04] os: [windows-latest, macos-latest, ubuntu-20.04]
python_version: [3.6, 3.7, 3.8, 3.9, "3.10"] python_version: [3.6, 3.7, 3.8, 3.9, "3.10", "3.11", "3.12"]
architecture: [x86, x64] architecture: [x86, x64]
exclude: exclude:
- os: macos-latest - os: macos-latest
@ -74,14 +103,14 @@ jobs:
python-version: ${{ matrix.python_version }} python-version: ${{ matrix.python_version }}
architecture: ${{ matrix.architecture }} architecture: ${{ matrix.architecture }}
- name: Install build dependencies - name: Download build artifacts
run: python -m pip --disable-pip-version-check install wheel uses: actions/download-artifact@v3
with:
- name: Build wheel name: dist
run: python setup.py bdist_wheel path: dist
- name: Install test dependencies - name: Install test dependencies
run: python -m pip --disable-pip-version-check install pytest pcpp run: python -m pip --disable-pip-version-check install -r tests/requirements.txt
- name: Test wheel - name: Test wheel
shell: bash shell: bash
@ -94,23 +123,16 @@ jobs:
publish: publish:
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: [check, check-mypy, check-doc, test] needs: [check, check-mypy, check-doc, test]
permissions:
id-token: write
if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags') if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags')
steps: steps:
- uses: actions/checkout@v3 - name: Download build artifacts
uses: actions/download-artifact@v3
with: with:
submodules: recursive name: dist
fetch-depth: 0 path: dist
- uses: actions/setup-python@v4
with:
python-version: 3.8
- run: pip --disable-pip-version-check install wheel
- name: Build packages
run: python setup.py sdist bdist_wheel
- name: Publish to PyPI - name: Publish to PyPI
uses: pypa/gh-action-pypi-publish@master uses: pypa/gh-action-pypi-publish@release/v1
with:
user: __token__
password: ${{ secrets.PYPI_PASSWORD }}

View File

@ -1,9 +1,6 @@
cxxheaderparser cxxheaderparser
=============== ===============
**Note**: This is still a work in progress, but should be stable ~in a few weeks~
once I port robotpy-build over to use it. Someday I'll do that, probably!
A pure python C++ header parser that parses C++ headers in a mildly naive A pure python C++ header parser that parses C++ headers in a mildly naive
manner that allows it to handle many C++ constructs, including many modern manner that allows it to handle many C++ constructs, including many modern
(C++11 and beyond) features. (C++11 and beyond) features.
@ -54,7 +51,9 @@ Install
Requires Python 3.6+, no non-stdlib dependencies if using Python 3.7+. Requires Python 3.6+, no non-stdlib dependencies if using Python 3.7+.
TODO: distribute on pip ```
pip install cxxheaderparser
```
Usage Usage
----- -----

2
tests/requirements.txt Normal file
View File

@ -0,0 +1,2 @@
pytest
pcpp~=1.30