New version: 1.22.0. #143
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: Node.js builds | |
on: | |
push: | |
tags: | |
- v?[0-9]+.[0-9]+.[0-9]+.[0-9]+ | |
- v?[0-9]+.[0-9]+.[0-9]+ | |
- v?[0-9]+.[0-9]+ | |
permissions: | |
id-token: write | |
contents: write | |
attestations: write | |
jobs: | |
create-release: | |
name: Create release | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- env: | |
GH_TOKEN: ${{github.token}} | |
run: | | |
REF=${{github.ref}} | |
TAG=${REF#"refs/tags/"} | |
gh release create -t "Release ${TAG}" -n "" "${{github.ref}}" | |
build: | |
name: Node.js ${{matrix.node-version}} on ${{matrix.os}} | |
needs: create-release | |
runs-on: ${{matrix.os}} | |
strategy: | |
matrix: | |
os: [macos-latest, windows-latest, macos-13, windows-11-arm] | |
node-version: [20, 22, 23, 24] | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: Setup Node.js ${{matrix.node-version}} | |
uses: actions/setup-node@v4 | |
with: | |
node-version: ${{matrix.node-version}} | |
- name: Install the package and run tests | |
env: | |
DEVELOPMENT_SKIP_GETTING_ASSET: true | |
run: | | |
npm i | |
npm run build --if-present | |
npm test | |
- name: Save to GitHub | |
env: | |
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} | |
run: npm run save-to-github | |
- name: Attest | |
if: env.CREATED_ASSET_NAME != '' | |
uses: actions/attest-build-provenance@v2 | |
with: | |
subject-name: '${{ env.CREATED_ASSET_NAME }}' | |
subject-path: '${{ github.workspace }}/build/Release/re2.node' | |
build-linux-node-20: | |
name: Node.js 20 on Bullseye | |
needs: create-release | |
runs-on: ubuntu-latest | |
continue-on-error: true | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: Install, test, and create artifact | |
uses: ./.github/actions/linux-node-20/ | |
env: | |
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} | |
- name: Attest | |
if: env.CREATED_ASSET_NAME != '' | |
uses: actions/attest-build-provenance@v2 | |
with: | |
subject-name: '${{ env.CREATED_ASSET_NAME }}' | |
subject-path: '${{ github.workspace }}/build/Release/re2.node' | |
build-linux-node-22: | |
name: Node.js 22 on Bullseye | |
needs: create-release | |
runs-on: ubuntu-latest | |
continue-on-error: true | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: Install, test, and create artifact | |
uses: ./.github/actions/linux-node-22/ | |
env: | |
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} | |
- name: Attest | |
if: env.CREATED_ASSET_NAME != '' | |
uses: actions/attest-build-provenance@v2 | |
with: | |
subject-name: '${{ env.CREATED_ASSET_NAME }}' | |
subject-path: '${{ github.workspace }}/build/Release/re2.node' | |
build-linux-alpine-node-20: | |
name: Node.js 20 on Alpine | |
needs: create-release | |
runs-on: ubuntu-latest | |
continue-on-error: true | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: Install, test, and create artifact | |
uses: ./.github/actions/linux-alpine-node-20/ | |
env: | |
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} | |
- name: Attest | |
if: env.CREATED_ASSET_NAME != '' | |
uses: actions/attest-build-provenance@v2 | |
with: | |
subject-name: '${{ env.CREATED_ASSET_NAME }}' | |
subject-path: '${{ github.workspace }}/build/Release/re2.node' | |
build-linux-alpine-node-22: | |
name: Node.js 22 on Alpine | |
needs: create-release | |
runs-on: ubuntu-latest | |
continue-on-error: true | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: Install, test, and create artifact | |
uses: ./.github/actions/linux-alpine-node-22/ | |
env: | |
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} | |
- name: Attest | |
if: env.CREATED_ASSET_NAME != '' | |
uses: actions/attest-build-provenance@v2 | |
with: | |
subject-name: '${{ env.CREATED_ASSET_NAME }}' | |
subject-path: '${{ github.workspace }}/build/Release/re2.node' | |
build-linux-arm64-node-20: | |
name: Node.js 20 on Bullseye ARM64 | |
needs: create-release | |
runs-on: ubuntu-latest | |
continue-on-error: true | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v3 | |
with: | |
platforms: arm64 | |
- name: Install, test, and create artifact | |
uses: ./.github/actions/linux-arm64-node-20/ | |
env: | |
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} | |
- name: Attest | |
if: env.CREATED_ASSET_NAME != '' | |
uses: actions/attest-build-provenance@v2 | |
with: | |
subject-name: '${{ env.CREATED_ASSET_NAME }}' | |
subject-path: '${{ github.workspace }}/build/Release/re2.node' | |
build-linux-arm64-node-22: | |
name: Node.js 22 on Bullseye ARM64 | |
needs: create-release | |
runs-on: ubuntu-latest | |
continue-on-error: true | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v3 | |
with: | |
platforms: arm64 | |
- name: Install, test, and create artifact | |
uses: ./.github/actions/linux-arm64-node-22/ | |
env: | |
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} | |
- name: Attest | |
if: env.CREATED_ASSET_NAME != '' | |
uses: actions/attest-build-provenance@v2 | |
with: | |
subject-name: '${{ env.CREATED_ASSET_NAME }}' | |
subject-path: '${{ github.workspace }}/build/Release/re2.node' | |
build-linux-arm64-alpine-node-20: | |
name: Node.js 20 on Alpine ARM64 | |
needs: create-release | |
runs-on: ubuntu-latest | |
continue-on-error: true | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v3 | |
with: | |
platforms: arm64 | |
- name: Install, test, and create artifact | |
uses: ./.github/actions/linux-arm64-alpine-node-20/ | |
env: | |
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} | |
- name: Attest | |
if: env.CREATED_ASSET_NAME != '' | |
uses: actions/attest-build-provenance@v2 | |
with: | |
subject-name: '${{ env.CREATED_ASSET_NAME }}' | |
subject-path: '${{ github.workspace }}/build/Release/re2.node' | |
build-linux-arm64-alpine-node-22: | |
name: Node.js 22 on Alpine ARM64 | |
needs: create-release | |
runs-on: ubuntu-latest | |
continue-on-error: true | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v3 | |
with: | |
platforms: arm64 | |
- name: Install, test, and create artifact | |
uses: ./.github/actions/linux-arm64-alpine-node-22/ | |
env: | |
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} | |
- name: Attest | |
if: env.CREATED_ASSET_NAME != '' | |
uses: actions/attest-build-provenance@v2 | |
with: | |
subject-name: '${{ env.CREATED_ASSET_NAME }}' | |
subject-path: '${{ github.workspace }}/build/Release/re2.node' | |
build-linux-node-23: | |
name: Node.js 23 on Bullseye | |
needs: create-release | |
runs-on: ubuntu-latest | |
continue-on-error: true | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: Install, test, and create artifact | |
uses: ./.github/actions/linux-node-23/ | |
env: | |
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} | |
- name: Attest | |
if: env.CREATED_ASSET_NAME != '' | |
uses: actions/attest-build-provenance@v2 | |
with: | |
subject-name: '${{ env.CREATED_ASSET_NAME }}' | |
subject-path: '${{ github.workspace }}/build/Release/re2.node' | |
build-linux-alpine-node-23: | |
name: Node.js 23 on Alpine | |
needs: create-release | |
runs-on: ubuntu-latest | |
continue-on-error: true | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: Install, test, and create artifact | |
uses: ./.github/actions/linux-alpine-node-23/ | |
env: | |
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} | |
- name: Attest | |
if: env.CREATED_ASSET_NAME != '' | |
uses: actions/attest-build-provenance@v2 | |
with: | |
subject-name: '${{ env.CREATED_ASSET_NAME }}' | |
subject-path: '${{ github.workspace }}/build/Release/re2.node' | |
build-linux-arm64-node-23: | |
name: Node.js 23 on Bullseye ARM64 | |
needs: create-release | |
runs-on: ubuntu-latest | |
continue-on-error: true | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v3 | |
with: | |
platforms: arm64 | |
- name: Install, test, and create artifact | |
uses: ./.github/actions/linux-arm64-node-23/ | |
env: | |
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} | |
- name: Attest | |
if: env.CREATED_ASSET_NAME != '' | |
uses: actions/attest-build-provenance@v2 | |
with: | |
subject-name: '${{ env.CREATED_ASSET_NAME }}' | |
subject-path: '${{ github.workspace }}/build/Release/re2.node' | |
build-linux-arm64-alpine-node-23: | |
name: Node.js 23 on Alpine ARM64 | |
needs: create-release | |
runs-on: ubuntu-latest | |
continue-on-error: true | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v3 | |
with: | |
platforms: arm64 | |
- name: Install, test, and create artifact | |
uses: ./.github/actions/linux-arm64-alpine-node-23/ | |
env: | |
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} | |
- name: Attest | |
if: env.CREATED_ASSET_NAME != '' | |
uses: actions/attest-build-provenance@v2 | |
with: | |
subject-name: '${{ env.CREATED_ASSET_NAME }}' | |
subject-path: '${{ github.workspace }}/build/Release/re2.node' | |
build-linux-node-24: | |
name: Node.js 24 on Bullseye | |
needs: create-release | |
runs-on: ubuntu-latest | |
continue-on-error: true | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: Install, test, and create artifact | |
uses: ./.github/actions/linux-node-24/ | |
env: | |
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} | |
- name: Attest | |
if: env.CREATED_ASSET_NAME != '' | |
uses: actions/attest-build-provenance@v2 | |
with: | |
subject-name: '${{ env.CREATED_ASSET_NAME }}' | |
subject-path: '${{ github.workspace }}/build/Release/re2.node' | |
build-linux-alpine-node-24: | |
name: Node.js 24 on Alpine | |
needs: create-release | |
runs-on: ubuntu-latest | |
continue-on-error: true | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: Install, test, and create artifact | |
uses: ./.github/actions/linux-alpine-node-24/ | |
env: | |
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} | |
- name: Attest | |
if: env.CREATED_ASSET_NAME != '' | |
uses: actions/attest-build-provenance@v2 | |
with: | |
subject-name: '${{ env.CREATED_ASSET_NAME }}' | |
subject-path: '${{ github.workspace }}/build/Release/re2.node' | |
build-linux-arm64-node-24: | |
name: Node.js 24 on Bullseye ARM64 | |
needs: create-release | |
runs-on: ubuntu-latest | |
continue-on-error: true | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v3 | |
with: | |
platforms: arm64 | |
- name: Install, test, and create artifact | |
uses: ./.github/actions/linux-arm64-node-24/ | |
env: | |
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} | |
- name: Attest | |
if: env.CREATED_ASSET_NAME != '' | |
uses: actions/attest-build-provenance@v2 | |
with: | |
subject-name: '${{ env.CREATED_ASSET_NAME }}' | |
subject-path: '${{ github.workspace }}/build/Release/re2.node' | |
build-linux-arm64-alpine-node-24: | |
name: Node.js 24 on Alpine ARM64 | |
needs: create-release | |
runs-on: ubuntu-latest | |
continue-on-error: true | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v3 | |
with: | |
platforms: arm64 | |
- name: Install, test, and create artifact | |
uses: ./.github/actions/linux-arm64-alpine-node-24/ | |
env: | |
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} | |
- name: Attest | |
if: env.CREATED_ASSET_NAME != '' | |
uses: actions/attest-build-provenance@v2 | |
with: | |
subject-name: '${{ env.CREATED_ASSET_NAME }}' | |
subject-path: '${{ github.workspace }}/build/Release/re2.node' |