From fed90280a2544f91ac90f16962c5901d9546a2b2 Mon Sep 17 00:00:00 2001 From: Christian Findlay <16697547+MelbourneDeveloper@users.noreply.github.com> Date: Sat, 13 Dec 2025 21:10:18 +1100 Subject: [PATCH] add check for change logs --- .github/workflows/publish-release.yml | 37 +++++++++++++++++++ packages/dart_logging/CHANGELOG.md | 8 ++++ .../dart_node_better_sqlite3/CHANGELOG.md | 8 ++++ packages/dart_node_core/CHANGELOG.md | 8 ++++ packages/dart_node_express/CHANGELOG.md | 8 ++++ packages/dart_node_mcp/CHANGELOG.md | 8 ++++ packages/dart_node_react/CHANGELOG.md | 8 ++++ packages/dart_node_react_native/CHANGELOG.md | 8 ++++ packages/dart_node_ws/CHANGELOG.md | 8 ++++ packages/reflux/CHANGELOG.md | 8 ++++ 10 files changed, 109 insertions(+) diff --git a/.github/workflows/publish-release.yml b/.github/workflows/publish-release.yml index 81f6177..2b434ae 100644 --- a/.github/workflows/publish-release.yml +++ b/.github/workflows/publish-release.yml @@ -31,6 +31,43 @@ jobs: id: version run: echo "VERSION=${GITHUB_REF#refs/tags/Release/}" >> $GITHUB_OUTPUT + - name: Validate changelogs have version entries + run: | + VERSION="${{ steps.version.outputs.VERSION }}" + # Escape dots for regex matching (1.2.3 -> 1\.2\.3) + VERSION_ESCAPED=$(echo "$VERSION" | sed 's/\./\\./g') + PACKAGES=( + "dart_logging" + "dart_node_core" + "dart_node_coverage" + "reflux" + "dart_node_express" + "dart_node_ws" + "dart_node_better_sqlite3" + "dart_node_mcp" + "dart_node_react" + "dart_node_react_native" + ) + MISSING=() + for pkg in "${PACKAGES[@]}"; do + CHANGELOG="packages/$pkg/CHANGELOG.md" + if [[ ! -f "$CHANGELOG" ]]; then + echo "::error::Missing CHANGELOG.md for $pkg" + MISSING+=("$pkg (no CHANGELOG.md)") + continue + fi + # Check for ## X.Y.Z or ## X.Y.Z-prerelease header + if ! grep -qE "^## $VERSION_ESCAPED\b" "$CHANGELOG"; then + echo "::error::$pkg/CHANGELOG.md missing entry for version $VERSION" + MISSING+=("$pkg") + fi + done + if [[ ${#MISSING[@]} -gt 0 ]]; then + echo "::error::Changelogs missing version $VERSION: ${MISSING[*]}" + exit 1 + fi + echo "All changelogs have entries for version $VERSION" + - name: Setup Dart uses: ./.github/actions/setup with: diff --git a/packages/dart_logging/CHANGELOG.md b/packages/dart_logging/CHANGELOG.md index 8866d85..7a79cb6 100644 --- a/packages/dart_logging/CHANGELOG.md +++ b/packages/dart_logging/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## 0.11.0-beta + +- Early release + +## 0.10.0-beta + +- Early release + ## 0.9.0-beta - Early release diff --git a/packages/dart_node_better_sqlite3/CHANGELOG.md b/packages/dart_node_better_sqlite3/CHANGELOG.md index 02c022c..e1e2bf8 100644 --- a/packages/dart_node_better_sqlite3/CHANGELOG.md +++ b/packages/dart_node_better_sqlite3/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## 0.11.0-beta + +- Early release + +## 0.10.0-beta + +- Early release + ## 0.9.0-beta - Early release diff --git a/packages/dart_node_core/CHANGELOG.md b/packages/dart_node_core/CHANGELOG.md index cf2934c..4e17566 100644 --- a/packages/dart_node_core/CHANGELOG.md +++ b/packages/dart_node_core/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## 0.11.0-beta + +- Early release + +## 0.10.0-beta + +- Early release + ## 0.9.0-beta - Early release diff --git a/packages/dart_node_express/CHANGELOG.md b/packages/dart_node_express/CHANGELOG.md index ceaac7a..1339835 100644 --- a/packages/dart_node_express/CHANGELOG.md +++ b/packages/dart_node_express/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## 0.11.0-beta + +- Early release + +## 0.10.0-beta + +- Early release + ## 0.9.0-beta - Early release diff --git a/packages/dart_node_mcp/CHANGELOG.md b/packages/dart_node_mcp/CHANGELOG.md index a7a8fd6..adfde33 100644 --- a/packages/dart_node_mcp/CHANGELOG.md +++ b/packages/dart_node_mcp/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## 0.11.0-beta + +- Early release + +## 0.10.0-beta + +- Early release + ## 0.9.0-beta - Early release diff --git a/packages/dart_node_react/CHANGELOG.md b/packages/dart_node_react/CHANGELOG.md index 2cb5445..f7b87f3 100644 --- a/packages/dart_node_react/CHANGELOG.md +++ b/packages/dart_node_react/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## 0.11.0-beta + +- Early release + +## 0.10.0-beta + +- Early release + ## 0.9.0-beta - Early release diff --git a/packages/dart_node_react_native/CHANGELOG.md b/packages/dart_node_react_native/CHANGELOG.md index 5623011..154f5a4 100644 --- a/packages/dart_node_react_native/CHANGELOG.md +++ b/packages/dart_node_react_native/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## 0.11.0-beta + +- Early release + +## 0.10.0-beta + +- Early release + ## 0.9.0-beta - Early release diff --git a/packages/dart_node_ws/CHANGELOG.md b/packages/dart_node_ws/CHANGELOG.md index 68dedc5..ac49ebf 100644 --- a/packages/dart_node_ws/CHANGELOG.md +++ b/packages/dart_node_ws/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## 0.11.0-beta + +- Early release + +## 0.10.0-beta + +- Early release + ## 0.9.0-beta - Early release diff --git a/packages/reflux/CHANGELOG.md b/packages/reflux/CHANGELOG.md index 8aba415..6c37845 100644 --- a/packages/reflux/CHANGELOG.md +++ b/packages/reflux/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## 0.11.0-beta + +- Early release + +## 0.10.0-beta + +- Early release + ## 0.9.0-beta - Early release