Hallo,
Ich habe diese Warnung beim Ausführen von Aktionen in GitHub gesehen
Node.js 16 actions sind veraltet.
Tatsächlich ist NodeJS 16 in den Aktionen veraltet, und sie empfehlen, auf NodeJS LTS 20 umzusteigen (GitHub Actions: Transitioning from Node 16 to Node 20 - GitHub Changelog )
Unser Plan ist, alle Aktionen bis zum Frühjahr 2024 auf Node 20 umzustellen
Sollen wir versuchen, auf NodeJS 20.11.0 (npm 10.2.4) umzusteigen?
Eigentlich nutzen wir Node 18, aber ich habe trotzdem einen PR erstellt, um auf die neueste Version der GitHub-Aktionen zu wechseln.
Absolut heiß, um auf Node 20 für Gladys + die GitHub-Aktionen zu wechseln
Danke für die PRs, lass mich wissen, wenn es bereit für die Überprüfung ist!
Also, bei Node 20 haben wir ein kleines Problem
Nach zwei Tagen, in denen ich mich mit endlosen Docker-Builds herumgeschlagen habe, bin ich auf dieses Issue gestoßen NPM install stucks with node:20 · Issue #1946 · nodejs/docker-node · GitHub
Soweit ich das verstehe, kann man npm nicht in den node-20-Images für die Plattformen linux/arm/v6, linux/arm/v7 verwenden, und das passt zu meinem endlosen Build.
Diese Plattformen entsprechen den älteren Versionen der RPI (1, Zero / Zero W/WH und 2 Mod. A). Unterstützen wir weiterhin den Build für diese Plattformen?
Ansonsten ist ein Test-Image cicoub13/gladys:node-20 seit einigen Tagen auf meinem RPI4 deployed, keine Probleme.
Danke für die PRs und all die Arbeit @cicoub13
cicoub13:
Soweit ich das verstehe, kann man npm nicht in den node-20-Images für die Plattformen linux/arm/v6, linux/arm/v7 verwenden, und das passt zu meinem endlosen Build.
Offensichtlich ist das jetzt behoben, oder?
Ich bin eher dafür, zu warten, bis das Node-20-Image stabil ist und auf diesen Plattformen funktioniert
Nein, das sind Leute aus anderen Open-Source-Projekten, die ARM v7 entfernen, aber es ist immer noch nicht behoben. Wir können noch ein bisschen warten
Ok.
Solange es keine Auswirkungen auf die Benutzer (oder die Entwicklung) hat, können wir bei Node 18 bleiben, denn eine Plattform zu entfernen, wird tatsächlich Auswirkungen haben.
Wenn wir irgendwann das Bedürfnis verspüren, auf Node 20 umzusteigen, werden wir das neu bewerten.
Halte uns auf dem Laufenden, falls sich etwas an den Images ändert
Zur Info, der Bug ist immer noch vorhanden und betrifft auch Node 22:
ouvert 06:27PM - 04 May 24 UTC
fermé 06:32PM - 07 Jan 25 UTC
## Environment
* **Platform**: GitHub CI
* **Docker Version**: 24.0.9
* **N… ode.js Version**: 22
* **Image Tag**: node:22-alpine
## Expected Behavior
No hanging build on armv6/armv7
## Current Behavior
build is hanging on `npm ci --omit=dev`
## Possible Solution
none
## Steps to Reproduce
run docker deployment on github ci
## Additional Information
Logs:
https://productionresultssa4.blob.core.windows.net/actions-results/c81c7c78-0f17-4d1b-bb6e-eedc5023c285/workflow-job-run-e07742bd-189a-5079-918b-43f8b2f94b89/logs/job/job-logs.txt?rsct=text%2Fplain&se=2024-05-04T18%3A34%3A48Z&sig=kywF%2F31fsM6a0PFRA%2BGMwEYu9RkOcGzkAq1EUZumrx8%3D&sp=r&spr=https&sr=b&st=2024-05-04T18%3A24%3A43Z&sv=2021-12-02
Zur Info, ich musste den Support für arm/v6 mit dem Wechsel zu DuckDB fallen lassen, da die Node.js-Image-Version -slim basierend auf Debian dies nicht mehr unterstützt.
Ich habe dennoch den Eindruck, dass das Problem mit Node 20 und arm/v7 weiterhin besteht…
Wenn sich das fortsetzt, werden wir gezwungen sein, den Support für arm/v7 fallen zu lassen. Vielleicht ist das ein notwendiges Übel, da am Ende sogar die Pi 3 in arm64 sind, soweit ich weiß, also verlieren wir auch keine großen Plattformen.
Kleine Aktualisierung zu diesem Thema!
Wir werden bald zwei Major-Versionen von Node.js im Rückstand sein, da Node 22 voraussichtlich im Laufe des Monats LTS wird.
Ich habe beschlossen, die Unterstützung für arm/v7 fallen zu lassen, die ich ohnehin nicht mehr empfehle.
→ Die Mini-PCs, die ich empfehle, sind amd64
→ Die Raspberry Pi seit dem Pi 3 sind arm64
Meiner Meinung nach verlieren wir keine großen Plattformen und das ermöglicht uns wirklich, voranzukommen.
Das wird zwei Dinge ermöglichen:
Umstieg auf Node 22, sobald die LTS verfügbar ist
Beschleunigung der Builds (Wir werden von 4 Stunden auf einige Minuten umsteigen …)
Der PR ist hier:
master ← remove-old-arm-builds
ouvert 03:06AM - 14 Oct 24 UTC
### Pull Request check-list
To ensure your Pull Request can be accepted as fa… st as possible, make sure to review and check all of these items:
- [x] If your changes affects code, did your write the tests?
- [x] Are tests passing? (`npm test` on both front/server)
- [x] Is the linter passing? (`npm run eslint` on both front/server)
- [x] Did you run prettier? (`npm run prettier` on both front/server)
### Description of change
Remove arm/v7 builds. Needed for upgrading Node 20. It'll make build way faster in for production releases
Edit: Ein Build dauert jetzt 42 Minuten statt 4 Stunden und 10 Minuten
Die verbleibenden 3 Stunden sind nur für den Build der armv7-Version?!
Es ist noch schlimmer, die Builds werden parallel gestartet, also ist die Gesamtzeit die Zeit des längsten Builds, also 4h10 für armv7
Node 22 ist jetzt LTS
Ich habe versucht, lokal zu aktualisieren, aber es ist nicht so einfach
Frontend startet nicht mit Node 22:
63: 0x10226dc60 node::StartExecution(node::Environment*, char const*) [/Users/pierre-gillesleymarie/.volta/tools/image/node/22.11.0/bin/node]
64: 0x10226db80 node::StartExecution(node::Environment*, std::__1::function<v8::MaybeLocal<v8::Value> (node::StartExecutionCallbackInfo const&)>) [/Users/pierre-gillesleymarie/.volta/tools/image/node/22.11.0/bin/node]
65: 0x1021d6460 node::LoadEnvironment(node::Environment*, std::__1::function<v8::MaybeLocal<v8::Value> (node::StartExecutionCallbackInfo const&)>, std::__1::function<void (node::Environment*, v8::Local<v8::Value>, v8::Local<v8::Value>)>) [/Users/pierre-gillesleymarie/.volta/tools/image/node/22.11.0/bin/node]
66: 0x1022fdc98 node::NodeMainInstance::Run(node::ExitCode*, node::Environment*) [/Users/pierre-gillesleymarie/.volta/tools/image/node/22.11.0/bin/node]
67: 0x1022fda90 node::NodeMainInstance::Run() [/Users/pierre-gillesleymarie/.volta/tools/image/node/22.11.0/bin/node]
68: 0x10227159c node::Start(int, char**) [/Users/pierre-gillesleymarie/.volta/tools/image/node/22.11.0/bin/node]
69: 0x19d314274 start [/usr/lib/dyld]
----- JavaScript stack trace -----
1: /Users/pierre-gillesleymarie/code/gladys/front/node_modules/esm/esm.js:1:34535
2: /Users/pierre-gillesleymarie/code/gladys/front/node_modules/esm/esm.js:1:34176
3: /Users/pierre-gillesleymarie/code/gladys/front/node_modules/esm/esm.js:1:34506
4: /Users/pierre-gillesleymarie/code/gladys/front/node_modules/esm/esm.js:1:173374
5: /Users/pierre-gillesleymarie/code/gladys/front/node_modules/esm/esm.js:1:173420
6: /Users/pierre-gillesleymarie/code/gladys/front/node_modules/esm/esm.js:1:173521
7: /Users/pierre-gillesleymarie/code/gladys/front/node_modules/esm/esm.js:1:258942
8: /Users/pierre-gillesleymarie/code/gladys/front/node_modules/esm/esm.js:1:261569
9: e (/Users/pierre-gillesleymarie/code/gladys/front/node_modules/esm/esm.js:1:262673)
10: get (/Users/pierre-gillesleymarie/code/gladys/front/node_modules/esm/esm.js:1:262740)
Bei der Suche stellte sich heraus, dass das Problem auch unter Node 20 auftritt:
ouvert 01:57PM - 29 Oct 24 UTC
fermé 02:24PM - 21 Jan 25 UTC
**What is the current behaviour?**
It seems that with the latest node LTS versi… on preact-cli does not work at all.
I understand this is an abandoned project and that users are encouraged to move to something else, but any advice or pointers would still be greatly appreciated.
**Steps to Reproduce**
Steps to reproduce the behavior:
1. Run any preact-cli command on a node 20.10.0 environment
2. Get a fatal error from the node engine:
```
$ node_modules/.bin/preact --help
# node[740]: void node::fs::InternalModuleStat(const v8::FunctionCallbackInfo<v8::Value>&) at ../src/node_file.cc:1037
# Assertion failed: (args.Length()) >= (2)
----- Native stack trace -----
----- JavaScript stack trace -----
1: .../node_modules/esm/esm.js:1:34535
2: .../node_modules/esm/esm.js:1:34176
3: .../node_modules/esm/esm.js:1:34506
4: .../node_modules/esm/esm.js:1:173374
5: ...node_modules/esm/esm.js:1:173420
6: .../node_modules/esm/esm.js:1:173521
7: .../node_modules/esm/esm.js:1:258942
8: .../node_modules/esm/esm.js:1:261569
9: e (.../node_modules/esm/esm.js:1:262673)
10: get (.../node_modules/esm/esm.js:1:262740)
Aborted (core dumped)
```
Das Problem ist, dass preact-cli nicht mehr gewartet wird, man muss anscheinend zu vite wechseln:
Ich habe gerade einen echten Test mit einem Docker-Testimage durchgeführt, und es war ein Erfolg!
@contributors Ich habe gerade in master gemerged, denkt daran, eure Umgebungen zu aktualisieren
mutmut
17. Februar 2025 um 17:55
19
Oh das ist super, danke!! Jetzt kann ich Module in Node-RED hinzufügen, die mit Node18 nicht installiert werden konnten
@mutmut ich glaube, du verwechselst hier zwei Dinge, ich spreche von Gladys, nicht von Node-RED!
Über Node-RED wird hier gesprochen:
Salut @prohand ,
Je relance ce sujet, car effectivement ça serait bien de mettre à jour.
Le souci, c’est que cette mise à jour est à mon avis breaking.
Si jamais on force toutes les instances à mettre à jour Node-RED, ça risque de casser des installations non ? Et ça, je pense qu’on ne veut vraiment pas
Est-ce que la solution ne serait pas d’ajouter un sélecteur de version de Node-RED dans l’interface de cette intégration ?