Skip to content

switch upstream gumbo to codeberg.org/gumbo-parser/gumbo-parser #82

switch upstream gumbo to codeberg.org/gumbo-parser/gumbo-parser

switch upstream gumbo to codeberg.org/gumbo-parser/gumbo-parser #82

Workflow file for this run

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