Skip to content

Commit e9a791f

Browse files
Merge pull request #101 from bmad-code-org/fix/release-node-warnings
fix: release node warnings
2 parents cd54279 + 2c92f9b commit e9a791f

5 files changed

Lines changed: 103 additions & 18 deletions

File tree

.github/workflows/docs.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,14 +25,14 @@ jobs:
2525
runs-on: ubuntu-latest
2626
steps:
2727
- name: Checkout repository
28-
uses: actions/checkout@v4
28+
uses: actions/checkout@v5
2929
with:
3030
fetch-depth: 0
3131

3232
- name: Setup Node.js
33-
uses: actions/setup-node@v4
33+
uses: actions/setup-node@v6
3434
with:
35-
node-version: "20"
35+
node-version-file: ".nvmrc"
3636
cache: "npm"
3737

3838
- name: Install root dependencies

.github/workflows/publish.yaml

Lines changed: 25 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -43,19 +43,19 @@ jobs:
4343
- name: Generate GitHub App token
4444
id: app-token
4545
if: github.event_name == 'workflow_dispatch' && inputs.channel == 'latest'
46-
uses: actions/create-github-app-token@v2
46+
uses: actions/create-github-app-token@v3
4747
with:
4848
app-id: ${{ secrets.RELEASE_APP_ID }}
4949
private-key: ${{ secrets.RELEASE_APP_PRIVATE_KEY }}
5050

5151
- name: Checkout
52-
uses: actions/checkout@v4
52+
uses: actions/checkout@v5
5353
with:
5454
fetch-depth: 0
5555
token: ${{ steps.app-token.outputs.token || secrets.GITHUB_TOKEN }}
5656

5757
- name: Setup Node
58-
uses: actions/setup-node@v4
58+
uses: actions/setup-node@v6
5959
with:
6060
node-version-file: ".nvmrc"
6161
cache: "npm"
@@ -150,6 +150,14 @@ jobs:
150150
run: |
151151
TAG="v$(node -p 'require("./package.json").version')"
152152
VERSION="${TAG#v}"
153+
has_release_notes() {
154+
awk '
155+
/^[[:space:]]*$/ { next }
156+
/^[[:space:]]*-{3,}[[:space:]]*$/ { next }
157+
{ found = 1 }
158+
END { exit found ? 0 : 1 }
159+
' <<< "$1"
160+
}
153161
BODY=$(awk -v ver="$VERSION" '
154162
/^## / {
155163
if (found) exit
@@ -158,7 +166,20 @@ jobs:
158166
}
159167
found { print }
160168
' CHANGELOG.md)
161-
if [ -z "$BODY" ]; then
169+
if ! has_release_notes "$BODY"; then
170+
BODY=$(awk '
171+
/^##[[:space:]]*\[Unreleased\]/ { found=1; next }
172+
/^## / {
173+
if (found) exit
174+
next
175+
}
176+
found { print }
177+
' CHANGELOG.md)
178+
if has_release_notes "$BODY"; then
179+
echo "::notice::No CHANGELOG.md entry for $TAG — using [Unreleased] notes"
180+
fi
181+
fi
182+
if ! has_release_notes "$BODY"; then
162183
echo "::warning::No CHANGELOG.md entry for $TAG — falling back to auto-generated notes"
163184
gh release create "$TAG" --generate-notes
164185
else

.github/workflows/quality.yaml

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,10 @@ jobs:
1818
runs-on: ubuntu-latest
1919
steps:
2020
- name: Checkout
21-
uses: actions/checkout@v4
21+
uses: actions/checkout@v5
2222

2323
- name: Setup Node
24-
uses: actions/setup-node@v4
24+
uses: actions/setup-node@v6
2525
with:
2626
node-version-file: ".nvmrc"
2727
cache: "npm"
@@ -36,10 +36,10 @@ jobs:
3636
runs-on: ubuntu-latest
3737
steps:
3838
- name: Checkout
39-
uses: actions/checkout@v4
39+
uses: actions/checkout@v5
4040

4141
- name: Setup Node
42-
uses: actions/setup-node@v4
42+
uses: actions/setup-node@v6
4343
with:
4444
node-version-file: ".nvmrc"
4545
cache: "npm"
@@ -54,10 +54,10 @@ jobs:
5454
runs-on: ubuntu-latest
5555
steps:
5656
- name: Checkout
57-
uses: actions/checkout@v4
57+
uses: actions/checkout@v5
5858

5959
- name: Setup Node
60-
uses: actions/setup-node@v4
60+
uses: actions/setup-node@v6
6161
with:
6262
node-version-file: ".nvmrc"
6363
cache: "npm"
@@ -72,10 +72,10 @@ jobs:
7272
runs-on: ubuntu-latest
7373
steps:
7474
- name: Checkout
75-
uses: actions/checkout@v4
75+
uses: actions/checkout@v5
7676

7777
- name: Setup Node
78-
uses: actions/setup-node@v4
78+
uses: actions/setup-node@v6
7979
with:
8080
node-version-file: ".nvmrc"
8181
cache: "npm"
@@ -93,10 +93,10 @@ jobs:
9393
runs-on: ubuntu-latest
9494
steps:
9595
- name: Checkout
96-
uses: actions/checkout@v4
96+
uses: actions/checkout@v5
9797

9898
- name: Setup Node
99-
uses: actions/setup-node@v4
99+
uses: actions/setup-node@v6
100100
with:
101101
node-version-file: ".nvmrc"
102102
cache: "npm"

AGENTS.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# Repository Guidelines
2+
3+
## Project Shape
4+
5+
- Core TEA module content lives in `src/`.
6+
- Public documentation lives in `docs/`; the Starlight site consumes it through `website/`.
7+
- GitHub Actions workflows live in `.github/workflows/`.
8+
- Release metadata must stay synchronized across `package.json`, `package-lock.json`, and `.claude-plugin/marketplace.json`.
9+
10+
## Common Commands
11+
12+
- `npm test`: full quality gate used before release.
13+
- `npm run format:check`: Prettier check.
14+
- `npm run lint`: ESLint check.
15+
- `npm run lint:md`: markdownlint check.
16+
- `npm run docs:validate-links`: docs link validation.
17+
- `npm run docs:build`: full docs and site build.
18+
- `npm run test:release-metadata`: package/lockfile/marketplace version sync check.
19+
20+
## Changelog Discipline
21+
22+
- For any user-facing change, documentation change, workflow/CI change, release behavior change, or bug fix, update `CHANGELOG.md` in the same PR.
23+
- Put unreleased work under the top `## [Unreleased]` section using Keep a Changelog headings such as `Added`, `Changed`, `Fixed`, `Deprecated`, or `Removed`.
24+
- When preparing or repairing a stable release, convert the relevant `[Unreleased]` notes into an exact version section like `## [1.16.0] - YYYY-MM-DD`.
25+
- Do not leave release-worthy changes only in GitHub auto-generated notes. The publish workflow can fall back to `[Unreleased]`, but an exact version entry is preferred for stable releases.
26+
27+
## PR Notes
28+
29+
- Mention validation commands actually run.
30+
- For docs-only changes, at minimum run `npm run docs:validate-links`, `npm run lint:md`, and `npm run format:check`.
31+
- For workflow or release changes, run `npm run format:check`, `npm run lint:md`, `npm run lint`, and `npm run test:release-metadata`.

CHANGELOG.md

Lines changed: 34 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,39 @@ All notable changes to the Test Architect (TEA) module will be documented in thi
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [Unreleased]
9+
10+
### Changed
11+
12+
- GitHub Actions workflow dependencies upgraded to Node 24-compatible major versions:
13+
- `actions/checkout@v5`
14+
- `actions/setup-node@v6`
15+
- `actions/create-github-app-token@v3`
16+
- Publish releases now use `[Unreleased]` changelog notes before falling back to generated GitHub release notes when an exact version section is missing.
17+
18+
---
19+
20+
## [1.16.0] - 2026-05-08
21+
22+
### Added
23+
24+
- Claude Cowork marketplace plugin support.
25+
- TEA Phase 3 command examples in the overview docs, including direct slash commands and Codex skill invocations.
26+
- System-level and per-epic `test-design` usage examples in the TEA overview docs.
27+
28+
### Changed
29+
30+
- Catalog dependency metadata now uses `preceded-by` and `followed-by` column names.
31+
- TEA overview command guidance now distinguishes workflow names, TEA menu codes, slash commands, and Codex skills.
32+
33+
### Fixed
34+
35+
- Normalized `module-help.csv` to the documented 13-column schema.
36+
- Clarified the exact `/bmad:tea:ci` command path for Phase 3 CI setup.
37+
- Clarified the difference between Phase 3 system-level `test-design` and Phase 4 per-epic `test-design`.
38+
39+
---
40+
841
## [1.2.4] - 2026-02-22
942

1043
### Changed
@@ -15,7 +48,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1548
- Affected workflows: `atdd`, `automate`, `ci`, `framework`, `nfr-assess`, `teach-me-testing`, `test-design`, `test-review`, `trace`
1649
- Removed redundant `web_bundle: false` from workflow.yaml files
1750

18-
## [Unreleased]
51+
## [Historical Unreleased Notes]
1952

2053
### Added
2154

0 commit comments

Comments
 (0)