switch upstream gumbo to codeberg.org/gumbo-parser/gumbo-parser #82
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: Hext Releases | |
| on: [push] | |
| env: | |
| HEXT_BOOST_VERSION: "1.89.0" | |
| HEXT_BOOST_SHA256: "9de758db755e8330a01d995b0a24d09798048400ac25c03fc5ea9be364b13c93" | |
| HEXT_BOOST_INSTALL_PATH: "${{ github.workspace }}/boost_root" | |
| HEXT_GUMBO_VERSION: "0.13.2" | |
| HEXT_GUMBO_SHA256: "dbdc159dc8e5c6f3f254e50bce689dd9e439064ff06c165d5653410a5714ab66" | |
| HEXT_GUMBO_INSTALL_PATH: "${{ github.workspace }}/gumbo_root" | |
| # NOTE: when changing HEXT_MANYLINUX_VERSION, also change the container images. | |
| # See `image: quay.io/pypa/manylinux_*_x86_64`. | |
| HEXT_MANYLINUX_VERSION: "manylinux_2_28" | |
| HEXT_PYTHON_VERSION1: "3.14" | |
| HEXT_PYTHON_VERSION2: "3.13" | |
| HEXT_PYTHON_VERSION3: "3.12" | |
| HEXT_PYTHON_VERSION4: "3.11" | |
| HEXT_PYTHON_VERSION5: "3.10" | |
| HEXT_NODE_VERSION1: "24" | |
| HEXT_NODE_VERSION2: "23" | |
| HEXT_NODE_VERSION3: "22" | |
| HEXT_NODE_VERSION4: "20" | |
| HEXT_NODE_API_VERSION1: "24.0.0" | |
| HEXT_NODE_API_VERSION2: "23.0.0" | |
| HEXT_NODE_API_VERSION3: "22.0.0" | |
| HEXT_NODE_API_VERSION4: "20.0.0" | |
| jobs: | |
| ### | |
| ### Release: macos x86_64 node python | |
| ### | |
| macos_x86_64_node_python_release: | |
| name: "Release: macos x86_64 node python" | |
| # macos-13 is x86_64 | |
| runs-on: macos-13 | |
| env: | |
| # 2021-12-16: Using MACOSX_DEPLOYMENT_TARGET="10.11" triggers the | |
| # following notice when building the python hext wheel: | |
| # Warning: MACOSX_DEPLOYMENT_TARGET is set to a lower value (10.11) | |
| # than the version on which the Python interpreter was compiled (10.14), | |
| # and will be ignored. | |
| MACOSX_DEPLOYMENT_TARGET: "10.11" | |
| HEXT_ARCH: x86_64 | |
| WHEEL_OUT: scripts/github-actions/macos/wheel-output | |
| NODE_OUT: scripts/github-actions/macos/node-output | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 1 | |
| - name: Build and upload node and python wheels for ${{ env.HEXT_ARCH }} | |
| uses: ./.github/actions/build-hext-node-python-macos | |
| ### | |
| ### Release: macos aarch64 node python | |
| ### | |
| macos_aarch64_node_python_release: | |
| name: "Release: macos aarch64 node python" | |
| # macos-14 is arm64 | |
| runs-on: macos-14 | |
| env: | |
| # Mac OS 11 was the first version for ARM64 | |
| MACOSX_DEPLOYMENT_TARGET: "11.0" | |
| HEXT_ARCH: arm64 | |
| WHEEL_OUT: scripts/github-actions/macos/wheel-output | |
| NODE_OUT: scripts/github-actions/macos/node-output | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 1 | |
| - name: Build and upload node and python wheels for ${{ env.HEXT_ARCH }} | |
| uses: ./.github/actions/build-hext-node-python-macos | |
| ### | |
| ### Testing: macos x86_64 node python | |
| ### | |
| macos_x86_64_node_python_test: | |
| name: "Testing: macos x86_64 node python" | |
| needs: [npm_package_release, macos_x86_64_node_python_release] | |
| # macos-13 is x86_64 | |
| runs-on: macos-13 | |
| env: | |
| HEXT_ARCH: x86_64 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 1 | |
| - name: Test node modules and python wheels for ${{ env.HEXT_ARCH }} | |
| uses: ./.github/actions/test-hext-node-python-macos | |
| ### | |
| ### Testing: macos aarch64 node python | |
| ### | |
| macos_aarch64_node_python_test: | |
| name: "Testing: macos aarch64 node python" | |
| needs: [npm_package_release, macos_aarch64_node_python_release] | |
| # macos-14 is arm64 | |
| runs-on: macos-14 | |
| env: | |
| HEXT_ARCH: arm64 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 1 | |
| - name: Test node modules and python wheels for ${{ env.HEXT_ARCH }} | |
| uses: ./.github/actions/test-hext-node-python-macos | |
| ### | |
| ### Release: linux x86_64 python | |
| ### | |
| linux_x86_64_python_release: | |
| name: "Release: linux x86_64 python" | |
| runs-on: ubuntu-latest | |
| container: | |
| # NOTE: | |
| # This container image must be the same version as described in the | |
| # env var "HEXT_MANYLINUX_VERSION". | |
| # Unfortunately, env vars cannot be referenced when specifying the | |
| # name of the container image. | |
| image: quay.io/pypa/manylinux_2_28_x86_64 | |
| env: | |
| WHEEL_OUT: scripts/github-actions/linux/wheel-output | |
| HEXT_ARCH: x86_64 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 1 | |
| - name: Build and upload python wheels for ${{ env.HEXT_ARCH }} | |
| uses: ./.github/actions/build-hext-python-linux | |
| ### | |
| ### Release: linux aarch64 python | |
| ### | |
| linux_aarch64_python_release: | |
| name: "Release: linux aarch64 python" | |
| runs-on: ubuntu-24.04-arm | |
| container: | |
| # NOTE: | |
| # This container image must be the same version as described in the | |
| # env var "HEXT_MANYLINUX_VERSION". | |
| # Unfortunately, env vars cannot be referenced when specifying the | |
| # name of the container image. | |
| image: quay.io/pypa/manylinux_2_28_aarch64 | |
| env: | |
| WHEEL_OUT: scripts/github-actions/linux/wheel-output | |
| HEXT_ARCH: aarch64 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 1 | |
| - name: Build and upload python wheels for ${{ env.HEXT_ARCH }} | |
| uses: ./.github/actions/build-hext-python-linux | |
| ### | |
| ### Testing: linux x86_64 python | |
| ### | |
| linux_x86_64_python_test: | |
| name: "Testing: linux x86_64 python" | |
| needs: linux_x86_64_python_release | |
| runs-on: ubuntu-latest | |
| env: | |
| WHEEL_OUT: scripts/github-actions/linux/wheel-output | |
| HEXT_ARCH: x86_64 | |
| container: | |
| # NOTE: | |
| # This container image must be the same version as described in the | |
| # env var "HEXT_MANYLINUX_VERSION". | |
| # Unfortunately, env vars cannot be referenced when specifying the | |
| # name of the container image. | |
| image: quay.io/pypa/manylinux_2_28_x86_64 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 1 | |
| - uses: actions/download-artifact@v4 | |
| with: | |
| name: hext-python-linux-${{ env.HEXT_ARCH }}-${{ github.sha }} | |
| path: ${{ env.WHEEL_OUT }} | |
| - name: Pip install and test | |
| run: ./scripts/github-actions/linux/test-hext-python-manylinux.sh | |
| ### | |
| ### Testing: linux aarch64 python | |
| ### | |
| linux_aarch64_python_test: | |
| name: "Testing: linux aarch64 python" | |
| needs: linux_aarch64_python_release | |
| runs-on: ubuntu-24.04-arm | |
| env: | |
| WHEEL_OUT: scripts/github-actions/linux/wheel-output | |
| HEXT_ARCH: aarch64 | |
| container: | |
| # NOTE: | |
| # This container image must be the same version as described in the | |
| # env var "HEXT_MANYLINUX_VERSION". | |
| # Unfortunately, env vars cannot be referenced when specifying the | |
| # name of the container image. | |
| image: quay.io/pypa/manylinux_2_28_aarch64 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 1 | |
| - uses: actions/download-artifact@v4 | |
| with: | |
| name: hext-python-linux-${{ env.HEXT_ARCH }}-${{ github.sha }} | |
| path: ${{ env.WHEEL_OUT }} | |
| - name: Pip install and test | |
| run: ./scripts/github-actions/linux/test-hext-python-manylinux.sh | |
| ### | |
| ### Release: linux x86_64 node | |
| ### | |
| linux_x86_64_node_release: | |
| name: "Release: linux x86_64 node" | |
| runs-on: ubuntu-22.04 | |
| env: | |
| NODE_OUT: scripts/github-actions/linux/node-output | |
| HEXT_ARCH: "x86_64" | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 1 | |
| - name: Build and upload node modules for ${{ env.HEXT_ARCH }} | |
| uses: ./.github/actions/build-hext-node-linux | |
| ### | |
| ### Release: linux aarch64 node | |
| ### | |
| linux_aarch64_node_release: | |
| name: "Release: linux aarch64 node" | |
| runs-on: ubuntu-22.04-arm | |
| env: | |
| NODE_OUT: scripts/github-actions/linux/node-output | |
| HEXT_ARCH: "aarch64" | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 1 | |
| - name: Build and upload node modules for ${{ env.HEXT_ARCH }} | |
| uses: ./.github/actions/build-hext-node-linux | |
| ### | |
| ### Release: npm package | |
| ### | |
| npm_package_release: | |
| needs: [linux_x86_64_node_release, linux_aarch64_node_release, macos_x86_64_node_python_release, macos_aarch64_node_python_release] | |
| runs-on: ubuntu-latest | |
| name: "Release: npm package" | |
| env: | |
| NODE_MODULES: scripts/github-actions/npm/node-modules/ | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 1 | |
| - uses: actions/download-artifact@v4 | |
| with: | |
| name: hext-node-macos-arm64-${{ github.sha }} | |
| path: ${{ env.NODE_MODULES }} | |
| - uses: actions/download-artifact@v4 | |
| with: | |
| name: hext-node-macos-x86_64-${{ github.sha }} | |
| path: ${{ env.NODE_MODULES }} | |
| - uses: actions/download-artifact@v4 | |
| with: | |
| name: hext-node-linux-aarch64-${{ github.sha }} | |
| path: ${{ env.NODE_MODULES }} | |
| - uses: actions/download-artifact@v4 | |
| with: | |
| name: hext-node-linux-x86_64-${{ github.sha }} | |
| path: ${{ env.NODE_MODULES }} | |
| - run: > | |
| ./scripts/github-actions/npm/create-npm-package.sh | |
| scripts/github-actions/npm/package | |
| "$NODE_MODULES"/*node | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: hext-npm-package-${{ github.sha }} | |
| path: ./scripts/github-actions/npm/package | |
| ### | |
| ### Testing: linux x86_64 node | |
| ### | |
| linux_x86_64_node_test: | |
| needs: npm_package_release | |
| runs-on: ubuntu-latest | |
| name: "Testing: linux x86_64 node" | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 1 | |
| - uses: ./.github/actions/test-hext-npm | |
| ### | |
| ### Testing: linux aarch64 node | |
| ### | |
| linux_aarch64_node_test: | |
| needs: npm_package_release | |
| runs-on: ubuntu-22.04-arm | |
| name: "Testing: linux aarch64 node" | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 1 | |
| - uses: ./.github/actions/test-hext-npm |