Skip to content

Commit 105938f

Browse files
committed
Updated all README files in the
helper-scripts directory to: 1. Main helper-scripts/README.md: Updated to describe generate-release-notes.js instead of the old bash script, including new configuration options and examples. 2. helper-scripts/common/README.md: Updated to describe the JavaScript version with all its new features like configuration files, integrated/separated formats, and PR link options. 3. helper-scripts/influxdb3-monolith/RE ADME.md: Completely updated to reflect the actual JavaScript scripts present (audit-cli-documentation.js and apply-cli-patches.js) instead of the non-existent bash scripts, updated prerequisites, examples, and workflow documentation.
1 parent ff04be0 commit 105938f

File tree

5 files changed

+270
-273
lines changed

5 files changed

+270
-273
lines changed

.github/workflows/influxdb3-release.yml

Lines changed: 105 additions & 110 deletions
Original file line numberDiff line numberDiff line change
@@ -59,11 +59,9 @@ jobs:
5959
# (influxdb and influxdb_pro) are not available in the GitHub Actions environment.
6060
# To generate actual release notes, the script would need to be run locally with:
6161
# node ./helper-scripts/common/generate-release-notes.js \
62-
# --format core-enterprise \
62+
# --config ./helper-scripts/common/config/influxdb3-core-enterprise.json \
6363
# ${{ github.event.inputs.previous_version }} \
64-
# ${{ github.event.inputs.version }} \
65-
# /path/to/influxdb \
66-
# /path/to/influxdb_pro
64+
# ${{ github.event.inputs.version }}
6765
6866
# Create structured placeholder that matches the expected format
6967
cat > helper-scripts/output/release-notes/release-notes-${{ github.event.inputs.product }}-${{ github.event.inputs.version }}.md << EOF
@@ -108,67 +106,66 @@ jobs:
108106
path: helper-scripts/output/release-notes/
109107
retention-days: 30
110108

111-
generate-release-notes-distributed:
112-
name: Generate Release Notes (Distributed)
113-
runs-on: ubuntu-latest
114-
if: contains(fromJSON('["clustered", "cloud-dedicated", "cloud-serverless"]'), github.event.inputs.product)
115-
outputs:
116-
generated: ${{ steps.generate.outputs.generated }}
109+
# generate-release-notes-distributed:
110+
# name: Generate Release Notes (Distributed)
111+
# runs-on: ubuntu-latest
112+
# if: contains(fromJSON('["clustered", "cloud-dedicated", "cloud-serverless"]'), github.event.inputs.product)
113+
# outputs:
114+
# generated: ${{ steps.generate.outputs.generated }}
117115

118-
steps:
119-
- uses: actions/checkout@v4
116+
# steps:
117+
# - uses: actions/checkout@v4
120118

121-
- name: Set up Node.js
122-
uses: actions/setup-node@v4
123-
with:
124-
node-version: '18'
125-
cache: 'yarn'
119+
# - name: Set up Node.js
120+
# uses: actions/setup-node@v4
121+
# with:
122+
# node-version: '18'
123+
# cache: 'yarn'
126124

127-
- name: Install dependencies
128-
run: yarn install --frozen-lockfile
125+
# - name: Install dependencies
126+
# run: yarn install --frozen-lockfile
129127

130-
- name: Generate release notes
131-
id: generate
132-
run: |
133-
echo "Generating distributed product release notes for ${{ github.event.inputs.product }} v${{ github.event.inputs.version }}"
128+
# - name: Generate release notes
129+
# id: generate
130+
# run: |
131+
# echo "Generating distributed product release notes for ${{ github.event.inputs.product }} v${{ github.event.inputs.version }}"
134132

135-
# Create output directory
136-
mkdir -p helper-scripts/output/release-notes
133+
# # Create output directory
134+
# mkdir -p helper-scripts/output/release-notes
137135

138-
# Note: This generates placeholder release notes since the actual repositories
139-
# for distributed products are not available in the GitHub Actions environment.
140-
# To generate actual release notes, the script would need to be run locally with:
141-
# node ./helper-scripts/common/generate-release-notes.js \
142-
# --format standard \
143-
# ${{ github.event.inputs.previous_version }} \
144-
# ${{ github.event.inputs.version }} \
145-
# /path/to/repository
136+
# # Note: This generates placeholder release notes since the actual repositories
137+
# # for distributed products are not available in the GitHub Actions environment.
138+
# # To generate actual release notes, the script would need to be run locally with:
139+
# # node ./helper-scripts/common/generate-release-notes.js \
140+
# # --config ./helper-scripts/common/config/influxdb3-clustered.json \
141+
# # ${{ github.event.inputs.previous_version }} \
142+
# # ${{ github.event.inputs.version }}
146143

147-
# Create structured placeholder for distributed products
148-
cat > helper-scripts/output/release-notes/release-notes-${{ github.event.inputs.product }}-${{ github.event.inputs.version }}.md << EOF
149-
## ${{ github.event.inputs.version }} {date="$(date +'%Y-%m-%d')"}
144+
# # Create structured placeholder for distributed products
145+
# cat > helper-scripts/output/release-notes/release-notes-${{ github.event.inputs.product }}-${{ github.event.inputs.version }}.md << EOF
146+
# ## ${{ github.event.inputs.version }} {date="$(date +'%Y-%m-%d')"}
150147

151-
### Features
148+
# ### Features
152149

153-
- TODO: Add features for ${{ github.event.inputs.product }} ${{ github.event.inputs.version }}
150+
# - TODO: Add features for ${{ github.event.inputs.product }} ${{ github.event.inputs.version }}
154151

155-
### Bug Fixes
152+
# ### Bug Fixes
156153

157-
- TODO: Add bug fixes for ${{ github.event.inputs.product }} ${{ github.event.inputs.version }}
154+
# - TODO: Add bug fixes for ${{ github.event.inputs.product }} ${{ github.event.inputs.version }}
158155

159-
### Performance Improvements
156+
# ### Performance Improvements
160157

161-
- TODO: Add performance improvements for ${{ github.event.inputs.product }} ${{ github.event.inputs.version }}
162-
EOF
158+
# - TODO: Add performance improvements for ${{ github.event.inputs.product }} ${{ github.event.inputs.version }}
159+
# EOF
163160

164-
echo "generated=true" >> $GITHUB_OUTPUT
161+
# echo "generated=true" >> $GITHUB_OUTPUT
165162

166-
- name: Upload release notes
167-
uses: actions/upload-artifact@v4
168-
with:
169-
name: release-notes-${{ github.event.inputs.product }}-${{ github.event.inputs.version }}
170-
path: helper-scripts/output/release-notes/
171-
retention-days: 30
163+
# - name: Upload release notes
164+
# uses: actions/upload-artifact@v4
165+
# with:
166+
# name: release-notes-${{ github.event.inputs.product }}-${{ github.event.inputs.version }}
167+
# path: helper-scripts/output/release-notes/
168+
# retention-days: 30
172169

173170
audit-cli-documentation:
174171
name: Audit CLI Documentation
@@ -214,70 +211,70 @@ jobs:
214211
path: helper-scripts/output/cli-audit/
215212
retention-days: 90
216213

217-
audit-distributed-documentation:
218-
name: Audit Distributed Products Documentation
219-
needs: generate-release-notes-distributed
220-
runs-on: ubuntu-latest
221-
if: needs.generate-release-notes-distributed.outputs.generated == 'true' && contains(fromJSON('["clustered", "cloud-dedicated", "cloud-serverless"]'), github.event.inputs.product)
214+
# audit-distributed-documentation:
215+
# name: Audit Distributed Products Documentation
216+
# needs: generate-release-notes-distributed
217+
# runs-on: ubuntu-latest
218+
# if: needs.generate-release-notes-distributed.outputs.generated == 'true' && contains(fromJSON('["clustered", "cloud-dedicated", "cloud-serverless"]'), github.event.inputs.product)
222219

223-
steps:
224-
- uses: actions/checkout@v4
220+
# steps:
221+
# - uses: actions/checkout@v4
225222

226-
- name: Set up Node.js
227-
uses: actions/setup-node@v4
228-
with:
229-
node-version: '18'
230-
cache: 'yarn'
223+
# - name: Set up Node.js
224+
# uses: actions/setup-node@v4
225+
# with:
226+
# node-version: '18'
227+
# cache: 'yarn'
231228

232-
- name: Install dependencies
233-
run: yarn install --frozen-lockfile
229+
# - name: Install dependencies
230+
# run: yarn install --frozen-lockfile
234231

235-
- name: Run distributed products audit
236-
run: |
237-
PRODUCT="${{ github.event.inputs.product }}"
238-
VERSION="${{ github.event.inputs.version }}"
239-
240-
echo "Auditing distributed product: $PRODUCT v$VERSION"
241-
# TODO: Implement distributed products audit for release
242-
# This would audit API docs, deployment guides, configuration references
243-
# node ./helper-scripts/influxdb3-distributed/audit-documentation.js $PRODUCT $VERSION
244-
245-
# For now, create placeholder report
246-
mkdir -p helper-scripts/output/distributed-audit
247-
cat > helper-scripts/output/distributed-audit/release-audit-$PRODUCT-$VERSION.md << 'EOF'
248-
# Release Audit Report - Distributed Products
249-
250-
**Product:** $PRODUCT
251-
**Version:** $VERSION
252-
**Date:** $(date)
253-
**Status:** Placeholder - audit not yet implemented
254-
255-
## Areas to Audit
256-
- API documentation completeness
257-
- Deployment guide accuracy
258-
- Configuration reference updates
259-
- Integration guide updates
260-
- Version-specific feature documentation
261-
262-
## TODO
263-
- Implement API documentation audit
264-
- Implement deployment guide audit
265-
- Implement configuration reference audit
266-
- Implement integration guide audit
267-
EOF
232+
# - name: Run distributed products audit
233+
# run: |
234+
# PRODUCT="${{ github.event.inputs.product }}"
235+
# VERSION="${{ github.event.inputs.version }}"
236+
237+
# echo "Auditing distributed product: $PRODUCT v$VERSION"
238+
# # TODO: Implement distributed products audit for release
239+
# # This would audit API docs, deployment guides, configuration references
240+
# # node ./helper-scripts/influxdb3-distributed/audit-documentation.js $PRODUCT $VERSION
241+
242+
# # For now, create placeholder report
243+
# mkdir -p helper-scripts/output/distributed-audit
244+
# cat > helper-scripts/output/distributed-audit/release-audit-$PRODUCT-$VERSION.md << 'EOF'
245+
# # Release Audit Report - Distributed Products
246+
247+
# **Product:** $PRODUCT
248+
# **Version:** $VERSION
249+
# **Date:** $(date)
250+
# **Status:** Placeholder - audit not yet implemented
251+
252+
# ## Areas to Audit
253+
# - API documentation completeness
254+
# - Deployment guide accuracy
255+
# - Configuration reference updates
256+
# - Integration guide updates
257+
# - Version-specific feature documentation
258+
259+
# ## TODO
260+
# - Implement API documentation audit
261+
# - Implement deployment guide audit
262+
# - Implement configuration reference audit
263+
# - Implement integration guide audit
264+
# EOF
268265

269-
- name: Upload distributed audit reports
270-
uses: actions/upload-artifact@v4
271-
with:
272-
name: distributed-audit-release-${{ github.event.inputs.product }}-${{ github.event.inputs.version }}
273-
path: helper-scripts/output/distributed-audit/
274-
retention-days: 90
266+
# - name: Upload distributed audit reports
267+
# uses: actions/upload-artifact@v4
268+
# with:
269+
# name: distributed-audit-release-${{ github.event.inputs.product }}-${{ github.event.inputs.version }}
270+
# path: helper-scripts/output/distributed-audit/
271+
# retention-days: 90
275272

276273
create-documentation-pr:
277274
name: Create Documentation PR
278-
needs: [generate-release-notes-core-enterprise, generate-release-notes-distributed, audit-cli-documentation, audit-distributed-documentation]
275+
needs: [generate-release-notes-core-enterprise, audit-cli-documentation]
279276
runs-on: ubuntu-latest
280-
if: github.event.inputs.dry_run != 'true' && always() && (needs.generate-release-notes-core-enterprise.result == 'success' || needs.generate-release-notes-distributed.result == 'success')
277+
if: github.event.inputs.dry_run != 'true' && always() && (needs.generate-release-notes-core-enterprise.result == 'success')
281278

282279
steps:
283280
- uses: actions/checkout@v4
@@ -379,9 +376,9 @@ jobs:
379376

380377
create-audit-issue:
381378
name: Create Audit Issue
382-
needs: [audit-cli-documentation, audit-distributed-documentation]
379+
needs: [audit-cli-documentation]
383380
runs-on: ubuntu-latest
384-
if: github.event.inputs.dry_run != 'true' && always() && (needs.audit-cli-documentation.result == 'success' || needs.audit-distributed-documentation.result == 'success')
381+
if: github.event.inputs.dry_run != 'true' && always() && (needs.audit-cli-documentation.result == 'success')
385382

386383
steps:
387384
- uses: actions/checkout@v4
@@ -476,7 +473,7 @@ jobs:
476473
477474
influxdb3-monolith-release-summary:
478475
name: Release Summary
479-
needs: [generate-release-notes-core-enterprise, generate-release-notes-distributed, audit-cli-documentation, audit-distributed-documentation, create-documentation-pr, create-audit-issue]
476+
needs: [generate-release-notes-core-enterprise, audit-cli-documentation, create-documentation-pr, create-audit-issue]
480477
runs-on: ubuntu-latest
481478
if: always()
482479

@@ -496,9 +493,7 @@ jobs:
496493
echo "| Step | Status |" >> $GITHUB_STEP_SUMMARY
497494
echo "|------|--------|" >> $GITHUB_STEP_SUMMARY
498495
echo "| Generate Release Notes (Core/Enterprise) | ${{ needs.generate-release-notes-core-enterprise.result }} |" >> $GITHUB_STEP_SUMMARY
499-
echo "| Generate Release Notes (Distributed) | ${{ needs.generate-release-notes-distributed.result }} |" >> $GITHUB_STEP_SUMMARY
500496
echo "| CLI Documentation Audit | ${{ needs.audit-cli-documentation.result }} |" >> $GITHUB_STEP_SUMMARY
501-
echo "| Distributed Documentation Audit | ${{ needs.audit-distributed-documentation.result }} |" >> $GITHUB_STEP_SUMMARY
502497
echo "| Create Documentation PR | ${{ needs.create-documentation-pr.result }} |" >> $GITHUB_STEP_SUMMARY
503498
echo "| Create Audit Issue | ${{ needs.create-audit-issue.result }} |" >> $GITHUB_STEP_SUMMARY
504499
echo "" >> $GITHUB_STEP_SUMMARY

.github/workflows/prepare-release.yml

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -72,12 +72,17 @@ jobs:
7272
Note: This is a placeholder file generated by the workflow.
7373
To generate actual release notes with commit history, run:
7474
75+
For Core/Enterprise:
7576
node ./helper-scripts/common/generate-release-notes.js \\
76-
--format core-enterprise \\
77+
--config ./helper-scripts/common/config/influxdb3-core-enterprise.json \\
7778
v$(echo "${{ inputs.version }}" | sed 's/^v//') \\
78-
v${{ inputs.version }} \\
79-
/path/to/influxdb \\
80-
/path/to/influxdb_pro
79+
v${{ inputs.version }}
80+
81+
For other products:
82+
node ./helper-scripts/common/generate-release-notes.js \\
83+
--config ./helper-scripts/common/config/[product-config].json \\
84+
v$(echo "${{ inputs.version }}" | sed 's/^v//') \\
85+
v${{ inputs.version }}
8186
-->
8287
EOF
8388

helper-scripts/README.md

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -32,17 +32,28 @@ helper-scripts/
3232

3333
## Common Scripts
3434

35-
### `common/generate-release-notes.sh`
36-
Generates release notes by analyzing git commits across multiple repositories.
35+
### `common/generate-release-notes.js`
36+
JavaScript ESM script that generates release notes by analyzing git commits across multiple repositories. Supports flexible configuration for different InfluxDB products and output formats.
3737

3838
**Usage:**
3939
```bash
40-
./common/generate-release-notes.sh [--no-fetch] [--pull] <from_version> <to_version> <primary_repo_path> [additional_repo_paths...]
40+
node common/generate-release-notes.js [options] <from_version> <to_version> [repo_paths...]
4141
```
4242

43-
**Example:**
43+
**Options:**
44+
- `--config <file>` - Load configuration from JSON file
45+
- `--format <type>` - Output format: 'integrated' or 'separated'
46+
- `--no-fetch` - Skip fetching latest commits from remote
47+
- `--pull` - Pull latest changes (use with caution)
48+
- `--no-pr-links` - Omit PR links from commit messages
49+
50+
**Examples:**
4451
```bash
45-
./common/generate-release-notes.sh v3.1.0 v3.2.0 ~/repos/influxdb ~/repos/influxdb_iox
52+
# Using configuration file (recommended)
53+
node common/generate-release-notes.js --config common/config/influxdb3-core-enterprise.json v3.1.0 v3.2.0
54+
55+
# Traditional command-line arguments
56+
node common/generate-release-notes.js v3.1.0 v3.2.0 ~/repos/influxdb ~/repos/influxdb_pro
4657
```
4758

4859
### `common/update-product-version.sh`
@@ -92,7 +103,7 @@ output/
92103
These scripts are integrated with GitHub Actions workflows:
93104

94105
- **Workflow**: `.github/workflows/prepare-release.yml`
95-
- **Uses**: `generate-release-notes.sh`, `update-product-version.sh`
106+
- **Uses**: `generate-release-notes.js`, `update-product-version.sh`
96107

97108
## Quick Start
98109

@@ -110,10 +121,10 @@ These scripts are integrated with GitHub Actions workflows:
110121
3. **Run a script**
111122
```bash
112123
# Generate release notes
113-
./common/generate-release-notes.sh v3.1.0 v3.2.0 ~/repos/influxdb
124+
node common/generate-release-notes.js --config common/config/influxdb3-core-enterprise.json v3.1.0 v3.2.0
114125

115126
# Audit CLI documentation
116-
./influxdb3-monolith/audit-cli-documentation.sh core local
127+
node influxdb3-monolith/audit-cli-documentation.js core local
117128
```
118129

119130
## Contributing

0 commit comments

Comments
 (0)