Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 0 additions & 20 deletions .eslintrc.json

This file was deleted.

52 changes: 12 additions & 40 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,8 @@ jobs:
env:
ARCH: arm
LIBC: glibc
DOCKER_BUILDER: ghcr.io/rochdev/holy-node-box:12-arm32v7
# Node 22 is the last release with a Tier 1 armv7 build.
DOCKER_BUILDER: arm32v7/node:22.23.2-bullseye
steps:
- name: Check out the calling repository
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
Expand All @@ -168,28 +169,7 @@ jobs:
env:
ARCH: arm64
LIBC: glibc
DOCKER_BUILDER: ghcr.io/rochdev/holy-node-box:12-arm64v8
steps:
- name: Check out the calling repository
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Check out action-prebuildify
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
repository: ${{ job.workflow_repository }}
ref: ${{ job.workflow_sha }}
path: .prebuildify
- uses: ./.prebuildify/prebuild

linuxglibc-ia32:
if: ${{ contains(fromJson(needs.platforms.outputs.platforms), 'linuxglibc-ia32') }}
runs-on: ubuntu-latest
name: linuxglibc-ia32
needs:
- platforms
env:
ARCH: ia32
LIBC: glibc
DOCKER_BUILDER: ghcr.io/rochdev/holy-node-box:12-i386
DOCKER_BUILDER: registry.access.redhat.com/ubi8/nodejs-24:latest
steps:
- name: Check out the calling repository
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
Expand All @@ -210,7 +190,7 @@ jobs:
env:
ARCH: x64
LIBC: glibc
DOCKER_BUILDER: ghcr.io/rochdev/holy-node-box:12-amd64
DOCKER_BUILDER: registry.access.redhat.com/ubi8/nodejs-24:latest
steps:
- name: Check out the calling repository
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
Expand All @@ -231,7 +211,7 @@ jobs:
env:
ARCH: x64
LIBC: musl
DOCKER_BUILDER: ghcr.io/rochdev/holy-node-box:12-amd64-alpine
DOCKER_BUILDER: node:18.0.0-alpine3.14
steps:
- name: Check out the calling repository
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
Expand All @@ -252,7 +232,7 @@ jobs:
env:
ARCH: arm64
LIBC: musl
DOCKER_BUILDER: ghcr.io/rochdev/holy-node-box:12-arm64v8-alpine
DOCKER_BUILDER: node:18.0.0-alpine3.14
steps:
- name: Check out the calling repository
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
Expand All @@ -273,7 +253,7 @@ jobs:
env:
ARCH: x64
LIBC: musl
DOCKER_BUILDER: ghcr.io/rochdev/holy-node-box:12-amd64-alpine3.17
DOCKER_BUILDER: node:18-alpine3.17
PREBUILDS_DIR: linuxmusl-x64
steps:
- name: Check out the calling repository
Expand All @@ -295,7 +275,7 @@ jobs:
env:
ARCH: arm64
LIBC: musl
DOCKER_BUILDER: ghcr.io/rochdev/holy-node-box:12-arm64v8-alpine3.17
DOCKER_BUILDER: node:18-alpine3.17
PREBUILDS_DIR: linuxmusl-arm64
steps:
- name: Check out the calling repository
Expand Down Expand Up @@ -420,26 +400,19 @@ jobs:
- platforms
runs-on: ubuntu-latest
container:
image: centos:8
image: registry.access.redhat.com/ubi8/ubi:latest
# Keep the historical check name for downstream branch protection.
name: centos-test-${{ matrix.node }}
steps:
- name: Install libatomic for Node 25+ - CentOS 8 vault repos (EOL)
if: ${{ matrix.node >= 25 }}
run: |
for f in /etc/yum.repos.d/CentOS-*.repo; do
sed -i -e 's|^mirrorlist=|#mirrorlist=|g' \
-e 's|^#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' "$f"
done
yum -y install libatomic
echo "libatomic installed successfully."
- name: Install runtime dependencies
run: dnf -y install libatomic xz
- name: Check out the calling repository
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Install Node for tests
run: |
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
. $HOME/.nvm/nvm.sh
nvm install ${{ matrix.node }}
npm install -g yarn@^1.22.22
dirname $(nvm which default) >> $GITHUB_PATH
shell: bash
- name: Check out action-prebuildify
Expand Down Expand Up @@ -569,7 +542,6 @@ jobs:
needs:
- linuxglibc-arm
- linuxglibc-arm64
- linuxglibc-ia32
- linuxmusl-x64
- linuxmusl-arm64
- linuxmusl-x64-alpine-3-17
Expand Down
8 changes: 6 additions & 2 deletions .github/workflows/project.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,9 @@ jobs:
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
- run: yarn install
- run: yarn lint
with:
node-version: 24
cache: npm
- run: npm ci
- run: npm ci --prefix prebuild --ignore-scripts
- run: npm run lint
3 changes: 2 additions & 1 deletion .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ jobs:
artifact-name: build-input
cache: true
napi: false
package-manager: yarn
node-gyp-build-major: 4
package-manager: npm
prebuild: 'node -e "require(\"fs\").accessSync(\"build-input/marker\")"'
target-name: test
1 change: 1 addition & 0 deletions .github/workflows/test_napi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,5 +14,6 @@ jobs:
with:
min-node-version: 18
napi: true
node-gyp-build-major: 4
package-manager: npm
directory-path: ./test/napi
3 changes: 2 additions & 1 deletion .github/workflows/test_neon.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ jobs:
cache: true
neon: true
skip: linux-ia32
package-manager: yarn
node-gyp-build-major: 4
package-manager: npm
target-name: test
directory-path: ./test/neon
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -101,5 +101,4 @@ typings/

build
prebuilds
!prebuild/node_modules
!compute-matrix/node_modules
1 change: 0 additions & 1 deletion .yarnrc

This file was deleted.

4 changes: 3 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,8 @@ be added to `.gitignore`, and can be loaded using
[node-gyp-build](https://www.npmjs.com/package/node-gyp-build) with
`require('node-gyp-build')(__dirname)`.

> *NOTE:* Currently, `node-gyp-build` must be `<4` to work with this action.
Linux ia32 prebuilds are not available because Node 18 and later do not ship a
Linux x86 runtime.

Example usage with the available options and the defaults:

Expand All @@ -27,6 +28,7 @@ jobs:
napi: false # generate single Node-API binary for all versions of Node
napi-rs: false # Whether or not this build is for a napi-rs project.
neon: false # Whether or not this build is for a Neon project.
node-gyp-build-major: 3 # Major version of node-gyp-build used by the package.
package-manager: 'npm' # npm or yarn
postbuild: '' # command to run after prebuilds have been generated
prebuild: '' # command to run before prebuilds are generated
Expand Down
4 changes: 0 additions & 4 deletions compute-matrix/yarn.lock

This file was deleted.

46 changes: 46 additions & 0 deletions eslint.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
'use strict'

const eslint = require('@eslint/js')
const stylistic = require('@stylistic/eslint-plugin')
const importX = require('eslint-plugin-import-x')
const node = require('eslint-plugin-n')
const promise = require('eslint-plugin-promise')
const globals = require('globals')

module.exports = [
eslint.configs.recommended,
importX.flatConfigs.recommended,
node.configs['flat/recommended-script'],
promise.configs['flat/recommended'],
stylistic.configs.customize({
braceStyle: '1tbs',
commaDangle: 'never',
indent: 2,
jsx: false,
quotes: 'single',
semi: false
}),
{
files: ['**/*.js'],
languageOptions: {
ecmaVersion: 2022,
globals: globals.node,
sourceType: 'commonjs'
},
settings: {
n: {
version: '>=20.0.0'
}
},
rules: {
'@stylistic/arrow-parens': [2, 'as-needed'],
'@stylistic/max-len': [2, 120, 2],
'@stylistic/object-curly-spacing': [2, 'always'],
'@stylistic/space-before-function-paren': [2, 'always'],
'import-x/no-extraneous-dependencies': 2,
'no-console': 2,
'no-var': 2,
'prefer-const': 2
}
}
]
Loading