Skip to content
Merged
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
5 changes: 4 additions & 1 deletion eslint.config.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
'use strict'

module.exports = require('neostandard')({})
module.exports = require('neostandard')({
// gyp/ is vendored from gyp-next and follows its own style
ignores: ['gyp/**']
})
4 changes: 0 additions & 4 deletions gyp/.github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,6 @@ updates:
- "*" # Group all Actions updates into a single larger pull request
schedule:
interval: weekly
cooldown:
default-days: 7
- package-ecosystem: "pip"
directory: "/"
groups:
Expand All @@ -20,5 +18,3 @@ updates:
- "*" # Group all pip updates into a single larger pull request
schedule:
interval: weekly
cooldown:
default-days: 7
29 changes: 17 additions & 12 deletions gyp/.github/workflows/node-gyp.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,37 +4,41 @@ on:
pull_request:
workflow_dispatch:

permissions:
contents: read

jobs:
node-gyp-integration:
strategy:
fail-fast: false
matrix:
os: [macos-latest, ubuntu-latest, windows-latest]
python-version: ["3.10", "3.12", "3.14"]
python-version: ["3.11", "3.13", "3.15"]
include:
- os: macos-15-intel # macOS on Intel
python-version: "3.14"
- os: macos-26-intel # macOS on Intel
python-version: 3.x
- os: ubuntu-24.04-arm # Ubuntu on ARM
python-version: "3.14"
python-version: 3.x
- os: windows-11-arm # Windows on ARM
python-version: "3.14"
python-version: 3.x
- os: windows-2025-vs2026 # Windows with Visual Studio 2026
python-version: 3.x
runs-on: ${{ matrix.os }}
steps:
- name: Clone gyp-next
uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6.1.0
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
path: gyp-next
persist-credentials: false
- name: Clone nodejs/node-gyp
uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6.1.0
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
repository: nodejs/node-gyp
path: node-gyp
persist-credentials: false
- uses: actions/setup-node@249970729cb0ef3589644e2896645e5dc5ba9c38 # v6.5.0
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
with:
node-version: "lts/*"
- uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0
- uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
with:
python-version: ${{ matrix.python-version }}
allow-prereleases: true
Expand All @@ -46,6 +50,7 @@ jobs:
pip uninstall -y gyp-next
- name: Install Node.js dependencies
run: |
npm install --global npm@12
cd node-gyp
npm install --no-progress
- name: Replace gyp in node-gyp
Expand All @@ -57,10 +62,10 @@ jobs:
if: runner.os != 'Windows'
run: |
cd node-gyp
npm test --python="${pythonLocation}/python"
npm test
- name: Run tests (Windows)
if: runner.os == 'Windows'
shell: pwsh
run: |
cd node-gyp
npm run test --python="${env:pythonLocation}\\python.exe"
npm run test
23 changes: 12 additions & 11 deletions gyp/.github/workflows/nodejs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,36 +3,37 @@ on:
push:
pull_request:
workflow_dispatch:

permissions: {}
jobs:
nodejs-integration:
strategy:
fail-fast: false
matrix:
os: [macos-latest, ubuntu-latest, windows-latest]
python-version: ["3.10", "3.12", "3.14"]
python-version: ["3.11", "3.13", "3.15"]
include:
- os: macos-15-intel # macOS on Intel
python-version: "3.14"
- os: macos-26-intel # macOS on Intel
python-version: 3.x
- os: ubuntu-24.04-arm # Ubuntu on ARM
python-version: "3.14"
python-version: 3.x
- os: windows-11-arm # Windows on ARM
python-version: "3.14"
python-version: 3.x
- os: windows-2025-vs2026 # Windows with Visual Studio 2026
python-version: 3.x

runs-on: ${{ matrix.os }}
steps:
- name: Clone gyp-next
uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6.1.0
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
path: gyp-next
persist-credentials: false
- name: Clone nodejs/node
uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6.1.0
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
repository: nodejs/node
path: node
persist-credentials: false
- uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0
- uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
with:
python-version: ${{ matrix.python-version }}
allow-prereleases: true
Expand All @@ -54,7 +55,7 @@ jobs:
if: runner.os == 'Windows'
run: choco install nasm
- name: Run configure
if: runner.os == 'Windows'
if: runner.os == 'Windows' && matrix.python-version != '3.15'
run: |
cd node
./vcbuild.bat nobuild
22 changes: 12 additions & 10 deletions gyp/.github/workflows/python_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,43 +5,45 @@ on:
push:
pull_request:
workflow_dispatch:

permissions: {}
jobs:
Python_lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6.1.0
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Lint with ruff # See pyproject.toml for settings
uses: astral-sh/ruff-action@4919ec5cf1f49eff0871dbcea0da843445b837e6 # v3.6.1
uses: astral-sh/ruff-action@278981a28ce3188b1e39527901f38254bf3aac89 # v4.1.0
- run: ruff format --check --diff
- uses: wagoid/commitlint-github-action@b948419dd99f3fd78a6548d48f94e3df7f6bf3ed # v6.2.1
- uses: wagoid/commitlint-github-action@v6

Python_tests:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [macos-15-intel, macos-latest, ubuntu-latest, windows-latest]
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"]
os: [macos-latest, ubuntu-latest, windows-latest]
python-version: ["3.11", "3.12", "3.13", "3.14", "3.15"]
include:
- os: macos-26
- os: macos-26-intel # macOS on Intel
python-version: 3.x
- os: ubuntu-24.04-arm # Ubuntu on ARM
python-version: 3.x
- os: windows-11-arm # Windows on ARM
python-version: 3.x
- os: windows-2025-vs2026 # Windows with Visual Studio 2026
python-version: 3.x
steps:
- uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6.1.0
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
with:
python-version: ${{ matrix.python-version }}
allow-prereleases: true
- uses: seanmiddleditch/gha-setup-ninja@3b1f8f94a2f8254bd26914c4ab9474d4f0015f67 # v6
- uses: seanmiddleditch/gha-setup-ninja@v6
- name: Install dependencies
run: |
python -m pip install --upgrade pip
Expand Down
20 changes: 11 additions & 9 deletions gyp/.github/workflows/release-please.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ on:
branches:
- main

permissions: {}

name: release-please
jobs:
release-please:
Expand All @@ -14,7 +16,7 @@ jobs:
contents: write
pull-requests: write
steps:
- uses: google-github-actions/release-please-action@e4dc86ba9405554aeba3c6bb2d169500e7d3b4ee # v4.1.1
- uses: google-github-actions/release-please-action@v4
id: release

build:
Expand All @@ -24,13 +26,13 @@ jobs:
if: ${{ needs.release-please.outputs.release_created }} # only publish on release
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6.1.0
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Build a binary wheel and a source tarball
run: pipx run build
- name: Store the distribution packages
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
uses: actions/upload-artifact@v7
with:
name: python-package-distributions
path: dist/
Expand All @@ -50,12 +52,12 @@ jobs:
id-token: write # IMPORTANT: mandatory for trusted publishing
steps:
- name: Download all the dists
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
uses: actions/download-artifact@v8
with:
name: python-package-distributions
path: dist/
- name: Publish distribution to PyPI
uses: pypa/gh-action-pypi-publish@dc37677b2e1c63e2034f94d8a5b11f265b73ba33 # v1.14.2
uses: pypa/gh-action-pypi-publish@release/v1

github-release:
name: >-
Expand All @@ -70,24 +72,24 @@ jobs:
id-token: write # IMPORTANT: mandatory for sigstore
steps:
- name: Download all the dists
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
uses: actions/download-artifact@v8
with:
name: python-package-distributions
path: dist/
- name: Sign the dists with Sigstore
uses: sigstore/gh-action-sigstore-python@04cffa1d795717b140764e8b640de88853c92acc # v3.3.0
uses: sigstore/gh-action-sigstore-python@790bc6befb9d733738f18d8f895854b453640ec9 # v3.5.0
with:
inputs: >-
./dist/*.tar.gz
./dist/*.whl
- name: Upload artifact signatures to GitHub Release
env:
GITHUB_TOKEN: ${{ github.token }}
TAG_NAME: ${{ needs.release-please.outputs.tag_name }}
NEEDS_RELEASE_PLEASE_OUTPUTS_TAG_NAME: ${{ needs.release-please.outputs.tag_name }}
# Upload to GitHub Release using the `gh` CLI.
# `dist/` contains the built packages, and the
# sigstore-produced signatures and certificates.
run: >-
gh release upload
${TAG_NAME} dist/**
${NEEDS_RELEASE_PLEASE_OUTPUTS_TAG_NAME} dist/**
--repo '${{ github.repository }}'
2 changes: 1 addition & 1 deletion gyp/.release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "0.22.2"
".": "0.22.3"
}
14 changes: 14 additions & 0 deletions gyp/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,19 @@
# Changelog

## [0.22.3](https://github.com/nodejs/gyp-next/compare/v0.22.2...v0.22.3) (2026-09-29)


### Bug Fixes

* add Python 3.15 beta to the testing ([#344](https://github.com/nodejs/gyp-next/issues/344)) ([bb6522f](https://github.com/nodejs/gyp-next/commit/bb6522fbacc620da2cc382484d75c75ee35d780c))
* **ci:** add zizmor security linter for github actions ([#358](https://github.com/nodejs/gyp-next/issues/358)) ([3d4c42b](https://github.com/nodejs/gyp-next/commit/3d4c42b386582df54368c29fcd7c3121737451a2))
* **ci:** enable Python 3.15 release candidate on Windows ([#357](https://github.com/nodejs/gyp-next/issues/357)) ([e2080d2](https://github.com/nodejs/gyp-next/commit/e2080d25c31a0c1f08178a52802be7fd56848376))
* **ci:** test on npm@12 ([#359](https://github.com/nodejs/gyp-next/issues/359)) ([1729f6e](https://github.com/nodejs/gyp-next/commit/1729f6e3bf8071d95cda85129cdf4ebab0a877ef))
* **ci:** update ruff github aactio to v4.0.0 ([#348](https://github.com/nodejs/gyp-next/issues/348)) ([8d213cd](https://github.com/nodejs/gyp-next/commit/8d213cd35cec96e91dc98359ccd247404f71f27b))
* **cmake:** add a dummy source to libraries without sources ([#362](https://github.com/nodejs/gyp-next/issues/362)) ([391165e](https://github.com/nodejs/gyp-next/commit/391165e76f682a318216b8b5c6ca1de0ef5f8f24))
* **cmake:** require CMake 3.10 and quote custom command comments ([#361](https://github.com/nodejs/gyp-next/issues/361)) ([b418211](https://github.com/nodejs/gyp-next/commit/b418211c49705c0fb42177b666c140cf96d0149f))
* write pch cflags as a list instead of a map object ([#355](https://github.com/nodejs/gyp-next/issues/355)) ([fe8188c](https://github.com/nodejs/gyp-next/commit/fe8188c6af0cf53488960b0ec655b1dcc01a7c94))

## [0.22.2](https://github.com/nodejs/gyp-next/compare/v0.22.1...v0.22.2) (2026-04-22)


Expand Down
2 changes: 1 addition & 1 deletion gyp/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ When used as a command line utility, __gyp-next__ can also be installed with [pi
* `uv tool install gyp-next`
```
Installing to a new venv 'gyp-next'
installed package gyp-next 0.13.0, installed using Python 3.10.6
installed package gyp-next 0.13.0, installed using Python 3.14.7
These apps are now globally available
- gyp
done! ✨ 🌟 ✨
Expand Down
6 changes: 6 additions & 0 deletions gyp/commitlint.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
export default {
extends: ['@commitlint/config-conventional'],
rules: {
'body-max-line-length': [0, 'always'],
},
};
Loading
Loading