Zum Hauptinhalt springen

Releasing und Docs-Deploy

Release-Prozess

Releases werden von Release Please verwaltet.

Übergeordneter Flow:

  1. Pushes an main lösen Release Please-Workflow aus
  2. Release Please öffnet oder aktualisiert einen Release-PR
  3. Zusammenführen des Release-PRs erstellt ein Release/Tag
  4. Publish-Job führt Qualitätstore aus und veröffentlicht dann das npm-Paket

Obligatorische Qualitätstore

Release- und CI-Workflows setzen beide durch:

npm run lint
npm run test:coverage
npm run build
npm run docs:build

Publishing-Workflows

Es gibt zwei Publishing-Pfade:

WorkflowAuslöserZweck
release-please.ymlPush an main mit Release-ErstellungStandard-Automatisiertes Release + Publish
npm-publish.ymlmanueller DispatchKontrolliertes manuelles Publish mit Tag-Validierung

Manueller Publish-Workflow validiert:

  • Tag-Format (vX.Y.Z)
  • Tag-Commit-Abstammung auf main
  • Paketname und Versionskonsistenz
  • vollständige Qualitätstore vor Publish

Docs-Deployment

Docs werden mit Docusaurus gebaut und über docs-pages.yml auf GitHub Pages deployed.

Auslöserbedingungen:

  • Push an main, der docs-site/** ändert
  • Push an main, der die Docs-Workflow-Datei ändert
  • manueller Workflow-Dispatch

Pipeline-Schritte:

  1. Docs-Site-Abhängigkeiten installieren
  2. Statische Docs bauen (docs-site/build)
  3. Pages-Artefakt hochladen
  4. Mit GitHub Pages-Action deployen

Lokaler Vorabflug vor Release/Docs-Änderungen

npm ci
npm --prefix docs-site ci
npm run lint
npm run test:coverage
npm run build
npm run docs:build

Fehlerbehebung

SymptomWahrscheinliche UrsacheLösung
Release-PR nicht erstelltKeine releasefähigen konventionellen Änderungen erkanntCommit-Format und Release Please-Konfiguration bestätigen
Publish-Job blockiertEin oder mehrere Qualitätstore fehlgeschlagenLokal nachbilden, beheben und erneut ausführen
Docs-Deploy nicht ausgelöstGeänderte Dateien außerhalb der AuslöserpfadeStellen Sie sicher, dass docs-site oder Workflow-Pfad geändert wurde, oder führen Sie manuellen Dispatch aus
Manuelles Publish abgelehntTag/Version/Abstammungs-Validierung fehlgeschlagenVerwenden Sie einen gültigen vX.Y.Z-Tag auf einem von main erreichbaren Commit

Verwandte Dokumente