Added the credit. #145
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@v5 | |
| - 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, 24, 25] | |
| steps: | |
| - uses: actions/checkout@v5 | |
| with: | |
| submodules: true | |
| - name: Setup Node.js ${{matrix.node-version}} | |
| uses: actions/setup-node@v6 | |
| 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@v3 | |
| 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@v5 | |
| 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@v3 | |
| 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@v5 | |
| 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@v3 | |
| 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@v5 | |
| 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@v3 | |
| 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@v5 | |
| 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@v3 | |
| 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@v5 | |
| 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@v3 | |
| 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@v5 | |
| 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@v3 | |
| 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@v5 | |
| 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@v3 | |
| 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@v5 | |
| 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@v3 | |
| 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@v5 | |
| 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@v3 | |
| 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@v5 | |
| 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@v3 | |
| 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@v5 | |
| 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@v3 | |
| 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@v5 | |
| 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@v3 | |
| with: | |
| subject-name: '${{ env.CREATED_ASSET_NAME }}' | |
| subject-path: '${{ github.workspace }}/build/Release/re2.node' | |
| build-linux-node-25: | |
| name: Node.js 25 on Trixie | |
| needs: create-release | |
| runs-on: ubuntu-latest | |
| continue-on-error: true | |
| steps: | |
| - uses: actions/checkout@v5 | |
| with: | |
| submodules: true | |
| - name: Install, test, and create artifact | |
| uses: ./.github/actions/linux-node-25/ | |
| env: | |
| GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} | |
| - name: Attest | |
| if: env.CREATED_ASSET_NAME != '' | |
| uses: actions/attest-build-provenance@v3 | |
| with: | |
| subject-name: '${{ env.CREATED_ASSET_NAME }}' | |
| subject-path: '${{ github.workspace }}/build/Release/re2.node' | |
| build-linux-alpine-node-25: | |
| name: Node.js 25 on Alpine | |
| needs: create-release | |
| runs-on: ubuntu-latest | |
| continue-on-error: true | |
| steps: | |
| - uses: actions/checkout@v5 | |
| with: | |
| submodules: true | |
| - name: Install, test, and create artifact | |
| uses: ./.github/actions/linux-alpine-node-25/ | |
| env: | |
| GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} | |
| - name: Attest | |
| if: env.CREATED_ASSET_NAME != '' | |
| uses: actions/attest-build-provenance@v3 | |
| with: | |
| subject-name: '${{ env.CREATED_ASSET_NAME }}' | |
| subject-path: '${{ github.workspace }}/build/Release/re2.node' | |
| build-linux-arm64-node-25: | |
| name: Node.js 25 on Trixie ARM64 | |
| needs: create-release | |
| runs-on: ubuntu-latest | |
| continue-on-error: true | |
| steps: | |
| - uses: actions/checkout@v5 | |
| 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-25/ | |
| env: | |
| GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} | |
| - name: Attest | |
| if: env.CREATED_ASSET_NAME != '' | |
| uses: actions/attest-build-provenance@v3 | |
| with: | |
| subject-name: '${{ env.CREATED_ASSET_NAME }}' | |
| subject-path: '${{ github.workspace }}/build/Release/re2.node' | |
| build-linux-arm64-alpine-node-25: | |
| name: Node.js 25 on Alpine ARM64 | |
| needs: create-release | |
| runs-on: ubuntu-latest | |
| continue-on-error: true | |
| steps: | |
| - uses: actions/checkout@v5 | |
| 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-25/ | |
| env: | |
| GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} | |
| - name: Attest | |
| if: env.CREATED_ASSET_NAME != '' | |
| uses: actions/attest-build-provenance@v3 | |
| with: | |
| subject-name: '${{ env.CREATED_ASSET_NAME }}' | |
| subject-path: '${{ github.workspace }}/build/Release/re2.node' |