From b4abd610ff39176ed9063c7a8c8e8e45f0e61030 Mon Sep 17 00:00:00 2001 From: Bailey Pearson Date: Thu, 5 Dec 2024 08:21:25 -0700 Subject: [PATCH] full matrix again --- .github/workflows/test.yml | 157 ++++++++++++++++++------------------- 1 file changed, 78 insertions(+), 79 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 62f455d..68b22a6 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -12,8 +12,7 @@ jobs: strategy: matrix: os: [macos-latest, windows-2019, macos-13] - # node: [16.20.1, 18.x, 20.x, 22.x] - node: [16.20.1] + node: [16.20.1, 18.x, 20.x, 22.x] fail-fast: false runs-on: ${{ matrix.os }} steps: @@ -37,80 +36,80 @@ jobs: shell: bash run: npm test - # container_tests_glibc: - # runs-on: ubuntu-latest - # strategy: - # matrix: - # linux_arch: [s390x, arm64, amd64] - # node: [16.x, 18.x, 20.x, 22.x] - # fail-fast: false - # steps: - # - uses: actions/checkout@v4 - - # - uses: actions/setup-node@v4 - # with: - # node-version: ${{ matrix.node }} - - # - name: Get Full Node.js Version - # id: get_nodejs_version - # shell: bash - # run: | - # echo "version=$(node --print 'process.version.slice(1)')" >> "$GITHUB_OUTPUT" - # echo "ubuntu_version=$(node --print '(+process.version.slice(1).split(`.`).at(0)) > 16 ? `noble` : `bionic`')" >> "$GITHUB_OUTPUT" - - # - name: Set up QEMU - # uses: docker/setup-qemu-action@v3 - - # - name: Set up Docker Buildx - # uses: docker/setup-buildx-action@v3 - - # - name: Run Buildx - # run: | - # docker buildx create --name builder --bootstrap --use - # docker buildx build \ - # --platform linux/${{ matrix.linux_arch }} \ - # --build-arg="NODE_ARCH=${{ matrix.linux_arch == 'amd64' && 'x64' || matrix.linux_arch }}" \ - # --build-arg="NODE_VERSION=${{ steps.get_nodejs_version.outputs.version }}" \ - # --build-arg="UBUNTU_VERSION=${{ steps.get_nodejs_version.outputs.ubuntu_version }}" \ - # --build-arg="RUN_TEST=true" \ - # --output type=local,dest=./prebuilds,platform-split=false \ - # -f ./.github/docker/Dockerfile.glibc \ - # . - - # container_tests_musl: - # runs-on: ubuntu-latest - # strategy: - # matrix: - # linux_arch: [amd64, arm64] - # node: [16.20.1, 18.x, 20.x, 22.x] - # fail-fast: false - # steps: - # - uses: actions/checkout@v4 - - # - uses: actions/setup-node@v4 - # with: - # node-version: ${{ matrix.node }} - - # - name: Get Full Node.js Version - # id: get_nodejs_version - # shell: bash - # run: | - # echo "version=$(node --print 'process.version.slice(1)')" >> "$GITHUB_OUTPUT" - - # - name: Set up QEMU - # uses: docker/setup-qemu-action@v3 - - # - name: Set up Docker Buildx - # uses: docker/setup-buildx-action@v3 - - # - name: Run Buildx - # run: | - # docker buildx create --name builder --bootstrap --use - # docker --debug buildx build --progress=plain --no-cache \ - # --platform linux/${{ matrix.linux_arch }} \ - # --build-arg="PLATFORM=${{ matrix.linux_arch == 'arm64' && 'arm64v8' || matrix.linux_arch }}" \ - # --build-arg="NODE_VERSION=${{ steps.get_nodejs_version.outputs.version }}" \ - # --build-arg="RUN_TEST=true" \ - # --output type=local,dest=./prebuilds,platform-split=false \ - # -f ./.github/docker/Dockerfile.musl \ - # . + container_tests_glibc: + runs-on: ubuntu-latest + strategy: + matrix: + linux_arch: [s390x, arm64, amd64] + node: [16.x, 18.x, 20.x, 22.x] + fail-fast: false + steps: + - uses: actions/checkout@v4 + + - uses: actions/setup-node@v4 + with: + node-version: ${{ matrix.node }} + + - name: Get Full Node.js Version + id: get_nodejs_version + shell: bash + run: | + echo "version=$(node --print 'process.version.slice(1)')" >> "$GITHUB_OUTPUT" + echo "ubuntu_version=$(node --print '(+process.version.slice(1).split(`.`).at(0)) > 16 ? `noble` : `bionic`')" >> "$GITHUB_OUTPUT" + + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Run Buildx + run: | + docker buildx create --name builder --bootstrap --use + docker buildx build \ + --platform linux/${{ matrix.linux_arch }} \ + --build-arg="NODE_ARCH=${{ matrix.linux_arch == 'amd64' && 'x64' || matrix.linux_arch }}" \ + --build-arg="NODE_VERSION=${{ steps.get_nodejs_version.outputs.version }}" \ + --build-arg="UBUNTU_VERSION=${{ steps.get_nodejs_version.outputs.ubuntu_version }}" \ + --build-arg="RUN_TEST=true" \ + --output type=local,dest=./prebuilds,platform-split=false \ + -f ./.github/docker/Dockerfile.glibc \ + . + + container_tests_musl: + runs-on: ubuntu-latest + strategy: + matrix: + linux_arch: [amd64, arm64] + node: [16.20.1, 18.x, 20.x, 22.x] + fail-fast: false + steps: + - uses: actions/checkout@v4 + + - uses: actions/setup-node@v4 + with: + node-version: ${{ matrix.node }} + + - name: Get Full Node.js Version + id: get_nodejs_version + shell: bash + run: | + echo "version=$(node --print 'process.version.slice(1)')" >> "$GITHUB_OUTPUT" + + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Run Buildx + run: | + docker buildx create --name builder --bootstrap --use + docker --debug buildx build --progress=plain --no-cache \ + --platform linux/${{ matrix.linux_arch }} \ + --build-arg="PLATFORM=${{ matrix.linux_arch == 'arm64' && 'arm64v8' || matrix.linux_arch }}" \ + --build-arg="NODE_VERSION=${{ steps.get_nodejs_version.outputs.version }}" \ + --build-arg="RUN_TEST=true" \ + --output type=local,dest=./prebuilds,platform-split=false \ + -f ./.github/docker/Dockerfile.musl \ + .