Repository navigation
馃悰 fix(css): keep merge property scan in the body #3018
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
| name: 馃殌 Release | |
| on: | |
| workflow_dispatch: | |
| pull_request: | |
| push: | |
| branches: ["main"] | |
| tags: ["*"] | |
| concurrency: | |
| group: release-${{ github.ref }} | |
| cancel-in-progress: ${{ github.event_name == 'pull_request' }} | |
| permissions: | |
| contents: read | |
| jobs: | |
| sdist: | |
| name: 馃摝 sdist | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| with: | |
| fetch-depth: 0 | |
| persist-credentials: false | |
| - name: 馃攧 Install uv | |
| uses: astral-sh/setup-uv@c18668ad3cf93ea998bef934396af7bb5c839dc7 # v10.2.0 | |
| with: | |
| enable-cache: false | |
| - name: 馃摝 Build sdist | |
| run: uv build --sdist --out-dir dist | |
| - name: 馃摛 Upload sdist | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 | |
| with: | |
| name: dist-sdist | |
| path: dist/*.tar.gz | |
| retention-days: 7 | |
| source-install: | |
| name: Source install - Windows ARM64 | |
| needs: sdist | |
| runs-on: windows-11-arm | |
| steps: | |
| - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 | |
| with: | |
| python-version: "3.12" | |
| architecture: arm64 | |
| - uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 | |
| with: | |
| name: dist-sdist | |
| path: dist | |
| - name: Install source distribution | |
| run: python -m pip install --verbose (Get-ChildItem dist/*.tar.gz).FullName | |
| - name: Check installed extension | |
| run: python -c "from turbohtml import parse; assert parse('<p>ARM64</p>').select_one('p').text == 'ARM64'" | |
| wheels: | |
| name: 馃帯 wheels - ${{ matrix.label }} | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: ["ubuntu-24.04", "ubuntu-24.04-arm", "macos-15", "windows-2025"] | |
| include: | |
| - {os: "ubuntu-24.04", label: Linux} | |
| - {os: "ubuntu-24.04-arm", label: Linux ARM} | |
| - {os: "macos-15", label: macOS} | |
| - {os: "windows-2025", label: Windows} | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| with: | |
| fetch-depth: 0 | |
| submodules: true # the Linux wheels train the profile-guided build on the vendored html5lib and War-and-Peace corpora | |
| persist-credentials: false | |
| - name: 馃攧 Install uv | |
| uses: astral-sh/setup-uv@c18668ad3cf93ea998bef934396af7bb5c839dc7 # v10.2.0 | |
| with: | |
| enable-cache: false | |
| - name: 馃帯 Build wheels | |
| uses: pypa/cibuildwheel@e090b81e30c4d855ea63bf4b6e59204c09a101ae # v4.2.1 | |
| - name: 馃摛 Upload wheels | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 | |
| with: | |
| name: dist-${{ matrix.os }} | |
| path: wheelhouse/*.whl | |
| retention-days: 7 | |
| publish: | |
| name: 馃殌 Publish ${{ matrix.artifact }} | |
| needs: [sdist, source-install, wheels] | |
| if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/') | |
| runs-on: ubuntu-24.04 | |
| # one job per build artifact: signing every wheel in a single job exceeds the | |
| # Sigstore identity lifetime (sigstore.oidc.ExpiredIdentity), so split the upload | |
| # so each fresh OIDC token only has to attest its platform's wheels | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| artifact: | |
| - dist-sdist | |
| - dist-ubuntu-24.04 | |
| - dist-ubuntu-24.04-arm | |
| - dist-macos-15 | |
| - dist-windows-2025 | |
| environment: | |
| name: release | |
| url: https://pypi.org/project/turbohtml | |
| permissions: | |
| id-token: write # trusted publishing, no API token stored | |
| steps: | |
| - name: 猬囷笍 Download ${{ matrix.artifact }} | |
| uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 | |
| with: | |
| name: ${{ matrix.artifact }} | |
| path: dist | |
| - name: 馃殌 Publish | |
| uses: pypa/gh-action-pypi-publish@dc37677b2e1c63e2034f94d8a5b11f265b73ba33 # v1.14.2 | |
| with: | |
| skip-existing: true | |
| attestations: true |