Skip to content

Commit 1df3b71

Browse files
committed
no message
1 parent e604dc5 commit 1df3b71

File tree

2 files changed

+95
-39
lines changed

2 files changed

+95
-39
lines changed
Lines changed: 91 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
# @since Tag Update Implementation Plan
1+
# @since Tag and Deprecated Version Placeholder Update Implementation Plan
22

33
## Overview
44

5-
This document outlines the plan for implementing automated `@since` tag updates during the release process. The system will update placeholder version tags (such as `@since todo`, `@since next-version`, and `@since tbd`) with the actual version number during releases.
5+
This document outlines the plan for implementing automated version placeholder updates during the release process. The system will update both `@since` tags and deprecated version placeholders (such as `@since todo`, `@since next-version`, `@since tbd`) with the actual version number during releases.
66

77
## Implementation Checklist
88

@@ -17,33 +17,72 @@ This document outlines the plan for implementing automated `@since` tag updates
1717
- [x] Add documentation for supported placeholders (`todo`, `next-version`, `tbd`)
1818
- [x] Add error handling for file operations
1919
- [x] Add validation for version number input
20+
- [x] Add directory-specific scanning (root, /src, /tests)
21+
- [x] Add comprehensive ignore patterns for common directories
22+
- [x] Add dry-run mode for PR previews
2023

2124
### 3. Testing ✅
2225
- [x] Test script locally with various scenarios
23-
- [x] Test with multiple @since tags in single file
24-
- [x] Test with no @since tags present
25-
- [ ] Test workflow with actual PR and release
26-
- [ ] Test error scenarios in workflow context
26+
- [x] Test with multiple placeholders in single file
27+
- [x] Test with no placeholders present
28+
- [x] Test workflow with actual PR and release
29+
- [x] Test error scenarios in workflow context
2730

28-
### 4. Release Management Workflow Updates (Next Steps) 🚀
31+
### 4. Release Management Workflow Updates
2932
- [x] Add new step in release-management.yml after version bump
30-
- [x] Integrate since-tag updates into the workflow
33+
- [x] Integrate placeholder updates into the workflow
3134
- [x] Add logging output to release notes
3235
- [x] Handle potential errors gracefully
3336
- [x] Ensure changes are committed with version bump
3437

35-
### 5. Changeset Integration
36-
- [ ] Modify generate-changeset.yml to detect files with @since placeholders
37-
- [ ] Add @since placeholder information to changeset content
38-
- [ ] Update release PR template to include @since placeholder information
39-
- [ ] Ensure this information flows through to final release notes
38+
### 5. Changeset Integration
39+
- [x] Modify generate-changeset.yml to detect files with version placeholders
40+
- [x] Add placeholder information to changeset content
41+
- [x] Update release PR template to include placeholder information
42+
- [x] Ensure this information flows through to final release notes
4043

41-
### 6. Documentation Updates
44+
### 6. Documentation Updates 🚀
4245
- [ ] Update SUMMARY.md with new functionality
43-
- [ ] Update main README.md with @since tag information
46+
- [ ] Update main README.md with placeholder information
4447
- [ ] Update workflow documentation
45-
- [ ] Add examples of using @since placeholders
46-
- [ ] Document supported file types (PHP only for now)
48+
- [ ] Add examples of using version placeholders
49+
- [ ] Document supported file types and scanning patterns
50+
- [ ] Document directory-specific scanning
51+
- [ ] Document ignore patterns configuration
52+
- [ ] Document dry-run mode usage
53+
54+
## Enhanced Features ✅
55+
56+
### Directory-Specific Scanning
57+
The script now intelligently scans specific directories:
58+
- Root directory (*.php)
59+
- src directory (src/**/*.php)
60+
- tests directory (tests/**/*.php)
61+
62+
### Comprehensive Ignore Patterns
63+
Automatically ignores common directories:
64+
- vendor/
65+
- node_modules/
66+
- wp-content/
67+
- .wordpress-org/
68+
- .git/
69+
- .github/
70+
- bin/
71+
- build/
72+
- dist/
73+
- assets/
74+
- docs/
75+
- languages/
76+
- logs/
77+
- temp/
78+
- tmp/
79+
- cache/
80+
81+
### Dry-Run Mode
82+
- Preview which files will be updated during release
83+
- Shows count of placeholders per file
84+
- Generates summary for release PR
85+
- No files are modified in this mode
4786

4887
## Script Enhancements Completed ✅
4988

@@ -55,46 +94,61 @@ The `update-since-tags.js` script has been enhanced with:
5594
- Error handling for file operations
5695
- Support for counting and reporting the number of updates per file
5796
- Temporary file creation for workflow integration
97+
- Directory-specific scanning
98+
- Comprehensive ignore patterns
99+
- Dry-run mode for previews
58100

59-
## Local Testing Results
101+
## Workflow Integration
60102

61-
The script has been successfully tested locally with:
62-
- Multiple files containing @since placeholders
63-
- Files with multiple placeholders
64-
- Files with no placeholders
65-
- Proper version number validation
66-
- Summary generation for release notes
67-
- Colored console output for better readability
103+
The script is now fully integrated with:
104+
- release-management.yml for actual updates
105+
- generate-changeset.yml for PR previews
106+
- Proper error handling and reporting
107+
- Clear summary generation for PR descriptions
68108

69109
## Supported Placeholders
70110

71111
The following placeholders will be automatically updated during release:
72112
- `@since todo`
73113
- `@since next-version`
74114
- `@since tbd`
115+
- Deprecated version placeholders following the same pattern
75116

76117
## File Types
77118

78-
Currently, the system only scans PHP files for @since placeholders. This may be expanded in future versions.
119+
Currently, the system scans PHP files in specific directories for version placeholders. This may be expanded in future versions.
79120

80-
## Notes
121+
## Documentation Plan 🚀
81122

82-
- The script currently works as-is with CommonJS modules
83-
- We're focusing on PHP files only for the initial implementation
84-
- Changes are being made incrementally to avoid disrupting existing workflows
85-
- Each change is tested thoroughly before moving to the next item
123+
1. SUMMARY.md Updates
124+
- Overview of version placeholder system
125+
- Explanation of supported placeholders
126+
- Directory scanning patterns
127+
- Ignore patterns
128+
- Dry-run mode usage
86129

87-
## Next Steps 🚀
130+
2. README.md Updates
131+
- Quick start guide for using placeholders
132+
- Examples of supported formats
133+
- Link to detailed documentation
88134

89-
1. Integrate the script into release-management.yml workflow
90-
2. Test the integration with a real PR and release
91-
3. Implement changeset integration for @since placeholder tracking
92-
4. Update all documentation
135+
3. Workflow Documentation
136+
- Integration with release process
137+
- PR preview functionality
138+
- Error handling and troubleshooting
139+
- Configuration options
140+
141+
4. Examples and Tutorials
142+
- Common usage patterns
143+
- Best practices
144+
- Troubleshooting guide
93145

94146
## Future Considerations
95147

96148
- Support for additional file types (js, jsx, tsx, etc.)
97149
- Support for additional placeholder formats
98150
- Integration with other documentation tools
99151
- Automated testing for the script
100-
- Performance optimization for large codebases
152+
- Performance optimization for large codebases
153+
- Customizable ignore patterns
154+
- Customizable directory scanning patterns

.github/workflows/release-management.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -145,10 +145,12 @@ jobs:
145145
npm run release:notes 2>/dev/null | grep -v "^>" > /tmp/release-notes/release_notes.md
146146
fi
147147
148-
# Check if we have @since tag updates to append
148+
# Add @since updates section if there are any
149149
if [[ "${{ steps.update_since_tags.outputs.has_updates }}" == "true" ]]; then
150+
# Read the summary from the previous step's output
151+
SINCE_SUMMARY='${{ steps.update_since_tags.outputs.summary }}'
150152
echo "" >> /tmp/release-notes/release_notes.md
151-
echo "${{ steps.update_since_tags.outputs.summary }}" >> /tmp/release-notes/release_notes.md
153+
echo "$SINCE_SUMMARY" >> /tmp/release-notes/release_notes.md
152154
fi
153155
154156
# Check if the file has content

0 commit comments

Comments
 (0)