diff options
Diffstat (limited to '.github/workflows/ci.yml')
| -rw-r--r-- | .github/workflows/ci.yml | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..28c9ea5 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,63 @@ +name: CI + +on: + push: + paths-ignore: + - 'docs/**' + - 'README.md' + schedule: + # Weekly, at 01:30 AM on Friday (somewhat randomly chosen). + - cron: '30 01 * * 5' + workflow_dispatch: + +jobs: + basic: + uses: ./.github/workflows/basic.yml + + boost_download: + uses: ./.github/workflows/boost_download.yml + + boost_toolsets: + uses: ./.github/workflows/boost_toolsets.yml + + example_toolsets: + uses: ./.github/workflows/example_toolsets.yml + + msvc_versions: + uses: ./.github/workflows/msvc_versions.yml + + # Build a Python package and upload to PyPI. + publish: + runs-on: ubuntu-latest + needs: + - basic + - boost_toolsets + - example_toolsets + name: Publish + steps: + - name: Checkout + uses: actions/checkout@v6 + with: + fetch-depth: 0 + - name: Set up Python + uses: actions/setup-python@v6 + with: + python-version: '3.x' + - name: Verify package can be installed + run: pip install -q . + - name: Install package builder + run: pip install -q --upgrade build + - name: Build package + run: python -m build + - name: Publish as artifact + uses: actions/upload-artifact@v7 + with: + name: dist + path: dist + if-no-files-found: error + - name: Publish to PyPI + if: startsWith(github.ref, 'refs/tags/') + uses: pypa/gh-action-pypi-publish@release/v1 + with: + user: __token__ + password: '${{ secrets.PYPI_API_TOKEN }}' |
