Commit Graph

850 Commits

Author SHA1 Message Date
github-actions[bot]
39131f5b18
feat: add v24.9.0 patch (#115)
## Node.js Patch Update to v24.9.0

This PR updates the Node.js patch to version 24.9.0.

The workflow automatically attempts to resolve patch conflicts using AI
when the OpenAI API key is available.

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-29 10:32:12 +02:00
robertsLando
123f4d0c0c
Release 3.5.25 2025-09-26 17:09:06 +02:00
robertsLando
65f6deaf00
feat: add support for Node.js versions 20.19.5, 22.19.0, and 24.8.0 in expected SHAs 2025-09-26 17:07:20 +02:00
ranjith
38a22f9aa9
fix: macOS x64 build timeout by using Intel runners and 4-core parallelization (#113)
### Problem
The macOS x64 build was timing out when using `macos-14` runners with
`MAKE_JOB_COUNT=2`, likely due to cross-compilation overhead.

### Solution
- Changed `runs-on` from `macos-14` to `macos-15-intel` to use native
Intel hardware
- Increased `MAKE_JOB_COUNT` from `2` to `4` to utilize all 4 CPU cores
available on Intel runners

### Result
Resolves build timeout issues for macOS x64 builds by eliminating
cross-compilation and maximising CPU utilization.

Tested Build:
https://github.com/nrranjithnr/pkg-fetch/actions/runs/17977769583
2025-09-25 09:07:37 +02:00
faulpeltz
a4bdb1649a
feat: node 24 support and attempt some Node 22 fixes (by @faulpeltz) (#107)
This PR adds Node24 support

**Node/V8 changes:**
- Move to new V8 syntax for some constructs (e.g. Cast<>)
- Tracked down two issues which caused the read-only snapshot to be
different across platforms:
- in `read-only-serializer:258` the "live" pointer gets overwritten by
the encoded slot (EncodedTagged).
If V8_COMPRESS_POINTERS is not enabled, EncodedTagged is 4 bytes, but
the live pointer is 8 bytes.
memcpy() only copies EncodeTagged leaving 4bytes of "garbage" (=previous
upper pointer half) which is semi-random per run - fixed this by
clearing the whole value first
- the CSA_HOLE_SECURITY_CHECK macro somehow leaves a string with a
platform-dependent filename in the readonly heap as a constant, replaced
that with "placeholder"
- add PKG_TRACE_READONLY_HEAP blocks for debugging further snapshot
issues

Those fixes partially fix the sourceless cross-build issues introduced
in Node 22 - For my test builds linux/linuxstatic/alpine/win on x64 are
now compatible again. The heap contents on macos builds and other arm64
is wildly different, not sure why. I don't think this kind of
compatibility is a goal for the V8 snapshot implementation in general.
(This affects Node SEA as well, but SEA always has the source to fall
back onto, which incurs a small performance hit)

**Build Changes:**

- Update linux/linuxcross build to use gcc 12 (required for Node 24)
- For aloine/linuxstatic: Node 24 doesn't build on the muslcc image used
previously, the image is unmaintained (although the toolchain builder
isn't, we could build our own image)
- Moved alpine/linuxstatic to native Alpine x64/arm64 toolchains, which
seems to work quite well
- Some minor upgrades to the Windows build, but had to enable `full-icu`
for now because the ICU code gen step crashes with `small-icu` on the GH
action build runners (not on my Windows test machine though)
- Moved the macos build to macos 14 which is now required for Node 24 -
x64 is now cross-built from arm64 because GH doesn't offer free macos14
x64 build workers
- Removed all builds for Node 18 and older
- 
**Notes:**
- Needs more testing, I did some basic testing for x64 builds as well as
macos/arm64
- I added a backport of the snapshot-determinism fixes to the latest
Node 22 patch
2025-09-17 14:50:36 +02:00
github-actions[bot]
78d158cdcb
feat: add v20.19.5 patch (#109)
## Node.js Patch Update to v20.19.5

This PR updates the Node.js patch to version 20.19.5.

The workflow automatically attempts to resolve patch conflicts using AI
when the OpenAI API key is available.

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-04 17:29:39 +02:00
github-actions[bot]
03677a1f15
feat: add v22.19.0 patch (#106)
## Node.js Patch Update to v22.19.0

This PR updates the Node.js patch to version 22.19.0.

The workflow automatically attempts to resolve patch conflicts using AI
when the OpenAI API key is available.
                 
### AI Resolution Details
Processing section 1/1 for ./lib/internal/modules/cjs/loader.js...
Found 1 reject files to process
Processing: ./lib/internal/modules/cjs/loader.js.rej ->
./lib/internal/modules/cjs/loader.js
Prompt for OpenAI API:
I have a Git patch that failed to apply. Here's the specific section
that needs to be fixed:

REJECTED PATCH HUNK:
```
@@ -250,12 +250,16 @@
   // Guard against internal bugs where a non-string filename is passed in by mistake.
   assert(typeof filename === 'string');
 
+  const origFilename = filename;
   filename = path.toNamespacedPath(filename);
   if (statCache !== null) {
     const result = statCache.get(filename);
     if (result !== undefined) { return result; }
   }
-  const result = internalFsBinding.internalModuleStat(internalFsBinding, filename);
+  const fs = require('fs');
+  const result = fs.existsSync(origFilename) ?
+    (fs.statSync(origFilename).isDirectory() ? 1 : 0) : -1;
+
   if (statCache !== null && result >= 0) {
     // Only set cache when `internalModuleStat(internalFsBinding, filename)` succeeds.
     statCache.set(filename, result);
```

CURRENT FILE SECTION (lines 245-266):
```
}

/**
 * Get a path's properties, using an in-memory cache to minimize lookups.
 * @param {string} filename Absolute path to the file
 */
function stat(filename) {
  // Guard against internal bugs where a non-string filename is passed in by mistake.
  assert(typeof filename === 'string');

  filename = path.toNamespacedPath(filename);
  if (statCache !== null) {
    const result = statCache.get(filename);
    if (result !== undefined) { return result; }
  }
  const result = internalFsBinding.internalModuleStat(filename);
  if (statCache !== null && result >= 0) {
    // Only set cache when `internalModuleStat(filename)` succeeds.
    statCache.set(filename, result);
  }
  return result;
}
```

Please apply the intended changes from the rejected hunk to this file
section. Return ONLY the corrected file section content, preserving the
exact line structure and formatting. Do not add explanations or markdown
formatting.
RESOLVED CONTENT for ./lib/internal/modules/cjs/loader.js:
```
}

/**
 * Get a path's properties, using an in-memory cache to minimize lookups.
 * @param {string} filename Absolute path to the file
 */
function stat(filename) {
  // Guard against internal bugs where a non-string filename is passed in by mistake.
  assert(typeof filename === 'string');

  const origFilename = filename;
  filename = path.toNamespacedPath(filename);
  if (statCache !== null) {
    const result = statCache.get(filename);
    if (result !== undefined) { return result; }
  }
  const fs = require('fs');
  const result = fs.existsSync(origFilename) ?
    (fs.statSync(origFilename).isDirectory() ? 1 : 0) : -1;

  if (statCache !== null && result >= 0) {
    // Only set cache when `internalModuleStat(internalFsBinding, filename)` succeeds.
    statCache.set(filename, result);
  }
  return result;
}
```
 Successfully resolved ./lib/internal/modules/cjs/loader.js
CONFLICTS_RESOLVED=1
TOTAL_CONFLICTS=1
HAS_UNRESOLVED=False
Resolution summary: 1/1 conflicts resolved

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-29 12:20:05 +02:00
robertsLando
7898d82a59
fix: streamline resolution output handling for PR creation 2025-08-29 12:15:36 +02:00
robertsLando
45e2576f2f
fix: enhance logging format for resolved content in OpenAI API response 2025-08-29 08:21:20 +02:00
robertsLando
c41ab07b0e
fix: add logging for resolved content in OpenAI API response 2025-08-28 16:25:35 +02:00
robertsLando
7f35fce06c
fix: streamline PR creation message by removing redundant patch status details 2025-08-28 16:03:58 +02:00
robertsLando
206ea938f9
fix: remove unnecessary markdown formatting for resolution output in PR creation 2025-08-28 16:02:23 +02:00
robertsLando
e7241d02a4
fix: add resolution output handling for patch conflicts in Node.js workflow 2025-08-28 15:57:34 +02:00
robertsLando
23ba5a2bcc
fix: update response handling in OpenAI API call to correctly access content structure 2025-08-28 15:42:51 +02:00
robertsLando
799fbc1abe
fix: update OpenAI API call to use responses API 2025-08-28 15:38:20 +02:00
robertsLando
4f720b57f1
fix: improve error logging for OpenAI API call by removing stderr redirection 2025-08-28 15:30:12 +02:00
robertsLando
208016362b
fix: update OpenAI API call to use new endpoint and model, enhance prompt structure, and improve response handling 2025-08-28 15:28:02 +02:00
robertsLando
11940cd336
fix: reduce max_tokens for OpenAI API call to optimize response size 2025-08-28 15:06:40 +02:00
robertsLando
f88b149a26
fix: update system message to include JS expertise for OpenAI API conflict resolution 2025-08-28 14:59:32 +02:00
robertsLando
fd0e2f489e
fix: improve error logging for OpenAI API call by removing redundant stderr redirection 2025-08-28 14:57:07 +02:00
robertsLando
5b53026395
fix: enhance conflict resolution by improving hunk parsing and context extraction in OpenAI API integration 2025-08-28 14:54:11 +02:00
robertsLando
3c378db428
fix: add prompt logging for OpenAI API call in conflict resolution 2025-08-28 14:31:53 +02:00
robertsLando
96504367fc
fix: streamline output handling for conflict resolution in GitHub Actions 2025-08-28 14:31:13 +02:00
robertsLando
2651325af6
fix: improve error handling in OpenAI API call and ensure proper response handling 2025-08-28 14:14:28 +02:00
robertsLando
081dc1ac7f
refactor: streamline OpenAI API call and remove manual resolution file creation 2025-08-28 14:03:58 +02:00
robertsLando
9f7460ca6c
fix: ensure error handling in patch creation step 2025-08-28 09:31:40 +02:00
robertsLando
3fb4350468
feat: enhance patch application process with AI conflict resolution 2025-08-28 09:23:24 +02:00
robertsLando
d231c84ae6
Release 3.5.24 2025-07-19 13:41:52 +02:00
robertsLando
a4535d1882
feat: update expected SHAs for Node.js versions 20.19.4 and 22.17.1 2025-07-19 13:40:24 +02:00
Daniel Lando
6c56cdf098
fix: update ARMv7 compilation flags for improved floating-point support (#97)
Fixes #96
2025-07-18 08:21:22 +02:00
Marcello Bachechi
5baf78ede6
fix: improved error when downloading from GitHub fails 2025-07-17 08:37:51 +02:00
github-actions[bot]
f82c20f02a
feat: add v22.17.1 patch (#93)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Daniel Lando <daniel.sorridi@gmail.com>
2025-07-16 08:15:50 +02:00
github-actions[bot]
e56a438179
feat: add v20.19.4 patch (#92)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-16 08:14:39 +02:00
github-actions[bot]
33afe2af5a
feat: add v22.17.0 patch (#91)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-25 08:26:11 +02:00
github-actions[bot]
65f9590456
feat: add v20.19.3 patch (#90)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-24 08:27:09 +02:00
github-actions[bot]
772a7a98ae
feat: add v22.16.0 patch (#85)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-23 09:21:17 +02:00
github-actions[bot]
95e9d04480
feat: add v20.19.2 patch (#84)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Daniel Lando <daniel.sorridi@gmail.com>
2025-05-17 18:21:31 +02:00
robertsLando
585635bba5
Release 3.5.23 2025-05-17 18:17:07 +02:00
robertsLando
7275f0d28b
fix: update missing SHAS 2025-05-17 18:14:31 +02:00
robertsLando
4218a96a6b
fix: correct syntax in release tag determination logic 2025-05-16 09:29:36 +02:00
robertsLando
f7d12b76ca
Release 3.5.22 2025-05-15 18:16:21 +02:00
robertsLando
b8ab3ba0b8
feat: add shas for node v20.19.1 and v22.15.1 2025-05-15 18:15:27 +02:00
Dashrath Yadav
377c55d1f9
feat: node 22.15.1 patch (#82)
* feat: node 22.15.0 patch

* updated version in patches.json

* feat: node 22.15.1 patch

* update patch file name

---------

Co-authored-by: dashrath <dashrath.yadav@postman.com>
Co-authored-by: Daniel Lando <daniel.sorridi@gmail.com>
2025-05-15 11:54:46 +02:00
Dashrath Yadav
14e455940b
feat: node 20.19.1 patch (#83)
Co-authored-by: dashrath <dashrath.yadav@postman.com>
2025-05-15 09:15:11 +00:00
Spotandjake
daf205407f
chore: correct newRelease on different fork (#79) 2025-04-24 08:17:59 +02:00
robertsLando
191aec6799
Release 3.5.21 2025-04-08 14:20:20 +02:00
robertsLando
5a7b2089be
feat: add v18.20.8 and v22.14.0 shas 2025-04-08 14:18:41 +02:00
github-actions[bot]
e9701b48d5
feat: add v18.20.8 patch (#76)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-03-28 08:37:51 +01:00
faulpeltz
2b27ec40ec
feat: node 22.14.0 patch (#75) 2025-03-26 14:46:28 +01:00
github-actions[bot]
d165ece55b
feat: add v18.20.7 patch (#74)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-02-23 10:03:51 +01:00