GitHub Workflows
- pr.yml:
- Führt Tests für alle Pull-Requests aus
- Führt nx affected aus, das nur Aufgaben mit ungültigem Cache ausführt
- Verwendet auch pkg-pr-new, um Paket-Vorschauen zu veröffentlichen und Links zu unseren Beispielen zu erstellen
- release.yml:
- Führt Tests für Code aus, der in Release-Branches zusammengeführt wurde
- Führt nx run-many aus, das alle Aufgaben ausführt und sicherstellt, dass die Ausgaben vorhanden sind (notwendig für die Veröffentlichung von Builds)
- Verwendet Changesets zur Versionsverwaltung und Veröffentlichung
Nx
Die TanStack-Projekte verwenden Nx, um die schnelle Ausführung unserer Tests und Builds zu ermöglichen. Aufgaben werden parallelisiert und sowohl lokal als auch in der CI gecacht. Obwohl Nx ein umfangreiches Plugin-System hat, nutzen wir Nx nur als NPM-Skript-Runner.
Config Files
- ./nx.json: Hauptkonfigurationsdatei, die Aufgabenabhängigkeiten, Eingaben und Ausgaben definiert
- ./package.json: Muss Root-Level-Skripte manuell angeben (z. B. test:format)
- ./**/package.json: Paket-Level-Skripte (z. B. build) werden automatisch erkannt
Nx Agents
- Nx ermöglicht es Ihnen, Ihre Aufgaben auf mehrere CI-Maschinen zu verteilen, wodurch die Anzahl der parallel ausführbaren Jobs erhöht wird
- Bitte beachten Sie, dass dies eine ziemlich signifikante Startverzögerung verursacht