fix: update n8n overlay to 2.29.8

This commit is contained in:
m3tam3re
2026-07-10 12:42:04 +02:00
parent f279ae9c89
commit 5dc91eeebb
3 changed files with 41 additions and 21 deletions
+1 -1
View File
@@ -265,7 +265,7 @@ n8n worker
## Build Information
- **Version**: 2.4.1
- **Version**: 2.29.8
- **Language**: TypeScript/JavaScript (Node.js)
- **Package Manager**: pnpm
- **License**: Sustainable Use (Fair-Code)
+14 -3
View File
@@ -1,21 +1,32 @@
{prev}:
prev.n8n.overrideAttrs (finalAttrs: previousAttrs: {
version = "2.28.6";
version = "2.29.8";
src = prev.fetchFromGitHub {
owner = "n8n-io";
repo = "n8n";
tag = "n8n@${finalAttrs.version}";
hash = "sha256-xll2dZon+WyJUXaCoel0htwgOGUqzpZvef/tDLTomZQ=";
hash = "sha256-+eiAdofrX1TRNFeD9MtTHt+XBH06c8NQHvTk6vrOU/k=";
};
pnpmDeps = prev.fetchPnpmDeps {
inherit (finalAttrs) pname version src;
pnpm = prev.pnpm_10;
fetcherVersion = 3;
hash = "sha256-SjmKXjxIuRY1uFbFLTMlXd0WW+3cVfu4TU+NoZtEYSo=";
hash = "sha256-j0IrYjVl83SzRo29rhEDCQLrt8kslWHdS7m4pG11DgA=";
};
preBuild =
(previousAttrs.preBuild or "")
+ ''
if [ ! -e node_modules/sass-embedded ] && [ -e node_modules/.pnpm/node_modules/sass-embedded ]; then
ln -s .pnpm/node_modules/sass-embedded node_modules/sass-embedded
fi
if [ ! -e node_modules/sqlite3 ] && [ -e node_modules/.pnpm/node_modules/sqlite3 ]; then
ln -s .pnpm/node_modules/sqlite3 node_modules/sqlite3
fi
'';
meta =
previousAttrs.meta
// {
+26 -17
View File
@@ -15,11 +15,15 @@
modifiedPkgs = mkPkgs [self.overlays.modifications];
defaultPkgs = mkPkgs [self.overlays.default];
expectedVersion = "2.28.6";
expectedSrcHash = "sha256-xll2dZon+WyJUXaCoel0htwgOGUqzpZvef/tDLTomZQ=";
expectedPnpmHash = "sha256-SjmKXjxIuRY1uFbFLTMlXd0WW+3cVfu4TU+NoZtEYSo=";
expectedVersion = "2.29.8";
expectedSrcHash = "sha256-+eiAdofrX1TRNFeD9MtTHt+XBH06c8NQHvTk6vrOU/k=";
expectedPnpmHash = "sha256-j0IrYjVl83SzRo29rhEDCQLrt8kslWHdS7m4pG11DgA=";
expectedChangelog = "https://github.com/n8n-io/n8n/releases/tag/n8n@${expectedVersion}";
expectedXlsxIntegrity = "sha512-+nKZ39+nvK7Qq6i0PvWWRA4j/EkfWOtkP/YhMtupm+lJIiHxUrgTr1CcKv1nBk1rHtkRRQ3O2+Ih/q/sA+FXZA==";
expectedXlsxTarball = "https://cdn.sheetjs.com/xlsx-0.20.2/xlsx-0.20.2.tgz";
expectedRootNodeModuleSymlinks = [
"ln -s .pnpm/node_modules/sass-embedded node_modules/sass-embedded"
"ln -s .pnpm/node_modules/sqlite3 node_modules/sqlite3"
];
checkN8nOverride = overlayName: package:
if package.version != expectedVersion
@@ -32,19 +36,22 @@
then throw "${overlayName} n8n changelog is ${package.meta.changelog}, expected ${expectedChangelog}"
else "ok";
checkPhasesInherited = overlayName: package:
if (package.preBuild or null) != (upstreamPkgs.n8n.preBuild or null)
then throw "${overlayName} n8n preBuild should be inherited from upstream nixpkgs"
else if package.buildPhase != upstreamPkgs.n8n.buildPhase
checkBuildPhaseInherited = overlayName: package:
if package.buildPhase != upstreamPkgs.n8n.buildPhase
then throw "${overlayName} n8n buildPhase should be inherited from upstream nixpkgs"
else "ok";
checkXlsxIntegrity = overlayName: package:
pkgs.runCommand "${overlayName}-n8n-xlsx-integrity-test" {
inherit expectedXlsxIntegrity;
checkRootNodeModuleSymlinks = overlayName: package:
if !(pkgs.lib.all (symlink: pkgs.lib.hasInfix symlink (package.preBuild or "")) expectedRootNodeModuleSymlinks)
then throw "${overlayName} n8n preBuild should create root node_modules symlinks required by the upstream buildPhase"
else "ok";
checkXlsxTarballLock = overlayName: package:
pkgs.runCommand "${overlayName}-n8n-xlsx-tarball-lock-test" {
inherit expectedXlsxTarball;
} ''
grep -F "xlsx@https://cdn.sheetjs.com/xlsx-0.20.2/xlsx-0.20.2.tgz:" ${package.src}/pnpm-lock.yaml
grep -F "resolution: {integrity: $expectedXlsxIntegrity, tarball: https://cdn.sheetjs.com/xlsx-0.20.2/xlsx-0.20.2.tgz}" ${package.src}/pnpm-lock.yaml
grep -F "xlsx@$expectedXlsxTarball:" ${package.src}/pnpm-lock.yaml
grep -F "resolution: {tarball: $expectedXlsxTarball}" ${package.src}/pnpm-lock.yaml
touch $out
'';
in
@@ -59,10 +66,12 @@ in
else "ok";
modificationsOverlayN8n = checkN8nOverride "overlays.modifications" modifiedPkgs.n8n;
defaultOverlayN8n = checkN8nOverride "overlays.default" defaultPkgs.n8n;
modificationsOverlayPhases = checkPhasesInherited "overlays.modifications" modifiedPkgs.n8n;
defaultOverlayPhases = checkPhasesInherited "overlays.default" defaultPkgs.n8n;
modificationsOverlayXlsxIntegrity = checkXlsxIntegrity "overlays.modifications" modifiedPkgs.n8n;
defaultOverlayXlsxIntegrity = checkXlsxIntegrity "overlays.default" defaultPkgs.n8n;
modificationsOverlayBuildPhase = checkBuildPhaseInherited "overlays.modifications" modifiedPkgs.n8n;
defaultOverlayBuildPhase = checkBuildPhaseInherited "overlays.default" defaultPkgs.n8n;
modificationsOverlayRootNodeModuleSymlinks = checkRootNodeModuleSymlinks "overlays.modifications" modifiedPkgs.n8n;
defaultOverlayRootNodeModuleSymlinks = checkRootNodeModuleSymlinks "overlays.default" defaultPkgs.n8n;
modificationsOverlayXlsxTarballLock = checkXlsxTarballLock "overlays.modifications" modifiedPkgs.n8n;
defaultOverlayXlsxTarballLock = checkXlsxTarballLock "overlays.default" defaultPkgs.n8n;
} ''
touch $out
''