diff options
Diffstat (limited to 'testing/web-platform/tests/tools/third_party/websockets/.github/workflows/wheels.yml')
-rw-r--r-- | testing/web-platform/tests/tools/third_party/websockets/.github/workflows/wheels.yml | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/testing/web-platform/tests/tools/third_party/websockets/.github/workflows/wheels.yml b/testing/web-platform/tests/tools/third_party/websockets/.github/workflows/wheels.yml new file mode 100644 index 0000000000..707ef2c60d --- /dev/null +++ b/testing/web-platform/tests/tools/third_party/websockets/.github/workflows/wheels.yml @@ -0,0 +1,88 @@ +name: Build wheels + +on: + push: + tags: + - '*' + workflow_dispatch: + +jobs: + sdist: + name: Build source distribution and architecture-independent wheel + runs-on: ubuntu-latest + steps: + - name: Check out repository + uses: actions/checkout@v4 + - name: Install Python 3.x + uses: actions/setup-python@v4 + with: + python-version: 3.x + - name: Build sdist + run: python setup.py sdist + - name: Save sdist + uses: actions/upload-artifact@v3 + with: + path: dist/*.tar.gz + - name: Install wheel + run: pip install wheel + - name: Build wheel + env: + BUILD_EXTENSION: no + run: python setup.py bdist_wheel + - name: Save wheel + uses: actions/upload-artifact@v3 + with: + path: dist/*.whl + + wheels: + name: Build architecture-specific wheels on ${{ matrix.os }} + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: + - ubuntu-latest + - windows-latest + - macOS-latest + steps: + - name: Check out repository + uses: actions/checkout@v4 + - name: Install Python 3.x + uses: actions/setup-python@v4 + with: + python-version: 3.x + - name: Set up QEMU + if: runner.os == 'Linux' + uses: docker/setup-qemu-action@v3 + with: + platforms: all + - name: Build wheels + uses: pypa/cibuildwheel@v2.16.2 + env: + BUILD_EXTENSION: yes + - name: Save wheels + uses: actions/upload-artifact@v3 + with: + path: wheelhouse/*.whl + + release: + name: Release + needs: + - sdist + - wheels + runs-on: ubuntu-latest + # Don't release when running the workflow manually from GitHub's UI. + if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/') + steps: + - name: Download artifacts + uses: actions/download-artifact@v3 + with: + name: artifact + path: dist + - name: Upload to PyPI + uses: pypa/gh-action-pypi-publish@release/v1 + with: + password: ${{ secrets.PYPI_API_TOKEN }} + - name: Create GitHub release + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: gh release create ${{ github.ref_name }} --notes "See https://websockets.readthedocs.io/en/stable/project/changelog.html for details." |