October 22th, 2025 #84
Workflow file for this run
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
| # This workflows will upload a Python Package using Twine when a release is created | |
| # For more information see: https://help.github.com/en/actions/language-and-framework-guides/using-python-with-github-actions#publishing-to-package-registries | |
| name: Build Wheels | |
| on: | |
| workflow_dispatch: | |
| release: | |
| types: [created, edited] | |
| jobs: | |
| build_wheels: | |
| name: Build wheels on ${{ matrix.os }} | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| matrix: | |
| os: [ubuntu-24.04, windows-2025, macos-15] | |
| steps: | |
| - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 | |
| - name: Setup git submodule | |
| run: git submodule update --init --recursive | |
| - name: Checkout cmark-gfm | |
| uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 | |
| with: | |
| repository: github/cmark-gfm | |
| path: cmark-gfm | |
| - uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0 | |
| name: Install Python | |
| with: | |
| python-version: '3.12' | |
| - name: Install build deps | |
| run: | | |
| python -m pip --disable-pip-version-check install cibuildwheel==3.2.0 twine==6.2.0 setuptools cffi>=2.0.0 | |
| - uses: docker/setup-qemu-action@29109295f81e9208d7d86ff1c6c12d2833863392 # v3.6.0 | |
| if: runner.os == 'Linux' | |
| name: Set up QEMU | |
| - name: Build wheels | |
| run: | | |
| python -m cibuildwheel --output-dir wheelhouse | |
| twine check ./wheelhouse/*.whl | |
| - name: Build sdist | |
| if: runner.os == 'Linux' | |
| run: | | |
| python setup.py sdist | |
| twine check ./dist/*.tar.gz | |
| - name: Publish sdist | |
| env: | |
| TWINE_USERNAME: ${{ secrets.PYPI_USERNAME }} | |
| TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }} | |
| if: ${{ runner.os == 'Linux' && env.TWINE_USERNAME != null }} | |
| run: | | |
| twine upload --skip-existing ./dist/* | |
| - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 | |
| with: | |
| name: cmarkgfm-${{ matrix.os }} | |
| path: | | |
| ./wheelhouse/*.whl | |
| ./dist/*.tar.gz | |
| - name: Publish wheels | |
| env: | |
| TWINE_USERNAME: ${{ secrets.PYPI_USERNAME }} | |
| TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }} | |
| if: ${{ env.TWINE_USERNAME != null }} | |
| run: | | |
| twine upload --skip-existing ./wheelhouse/* |