Simultaneous builds are unreliable
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 42/100
- Issue-Typ
- Bug
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- javascript, nodejs, rollup, typescript
- Bereich
- build-system
Rechercherichtung
Beginne bei src/index.js etwa in Zeile 539 und untersuche, wie das Cache-Verzeichnis an rollup-plugin-typescript2 übergeben wird. Führe im CI-ähnlichen Setup zwei gleichzeitige microbundle-Builds aus und überprüfe anschließend, dass gleichzeitige Builds nicht mehr den gemeldeten ENOENT-Fehler beim Umbenennen erzeugen, entweder durch Deaktivieren des Caches oder durch das Trennen der Cache-Speicherorte.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Hi, foremost, thank you for this tool, it helped me quite a lot.
I use it in a CI pipeline, and it builds two versions of the same script (with some modules being replaced).
When I tried to optimize the duration it takes, I changed to building the two versions simultaneously, that actually does save time. But once every 15 runs I get this error:
Error: ENOENT: no such file or directory, rename './node_modules/.cache/.rts2_cache_umd/rpt2_4ac624c30e398d7abd448e108f7ef395666c7280/code/cache_' -> './node_modules/.cache/.rts2_cache_umd/rpt2_4ac624c30e398d7abd448e108f7ef395666c7280/code/cache'
Error: ENOENT: no such file or directory, rename './node_modules/.cache/.rts2_cache_umd/rpt2_4ac624c30e398d7abd448e108f7ef395666c7280/code/cache_' -> './node_modules/.cache/.rts2_cache_umd/rpt2_4ac624c30e398d7abd448e108f7ef395666c7280/code/cache'
at Object.renameSync (node:fs:1026:3)
at RollingCache.roll (/---/scripts/node_modules/rollup-plugin-typescript2/dist/rollup-plugin-typescript2.cjs.js:29229:26)
I tracked it down to this line
which explains what happens. When more than one microbundle script is running, it instructs typescript to use the same cache directory and most likely starts to mess up or rename files that the other version already deleted.
My probosals:
- implement a flag to disable this type of caching, or use a random string for the cacheRoot
- generate a simple hash of the arguments provided and use that in combination of cacheRoot, this will prevent two scripts doing different jobs of interfering with each other
Please let me know if you would accept a PR for either of those implementations
- Vorherrschende Sprache
- JavaScript
- Sterne
- 8.1k
- Forks
- 358
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus developit/microbundle
-
CSS
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
developit/microbundle#1002 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
developit/microbundle#789 · 1 Kommentar ·
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 55/100
developit/microbundle#1100 · 4 Kommentare ·
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 35/100
developit/microbundle#1094 · 1 Kommentar ·
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 45/100
developit/microbundle#1093 · 3 Kommentare · 1 Reaktion ·
Alle Issues in developit/microbundle
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
-
Theme loads third-party resources on every page (jsdelivr web font, cdnjs Font Awesome) – GDPR Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
docToolchain/docToolchain#1705 ·
-
Timezone select lists one option per character; duplicate "Failed" reason; shared tracker popover id Offenbug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
nightscout/nocturne#1414 ·
-
bug v2
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
modelcontextprotocol/inspector#2458 · 1 Kommentar ·
-
Mend: dependency security vulnerability status: needs triage 🕵️♀️
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
carbon-design-system/ibm-products#9907 ·