- Notifications
You must be signed in to change notification settings - Fork22
feat: implement inline version metadata system for new resources#417
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Draft
blink-so wants to merge7 commits intomainChoose a base branch fromdocs/minimum-coder-version-272
base:main
Could not load branches
Branch not found:{{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline, and old review comments may become outdated.
+369 −15
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.Learn more about bidirectional Unicode characters
Co-authored-by: matifali <10648092+matifali@users.noreply.github.com>
Implements a maintainable system for documenting minimum Coder versionrequirements for each resource and data source.Changes:- Add resource_versions.go with version registry that developers must update- Modify docsgen to automatically inject version information into docs- Add version compatibility matrix to provider index page- Add developer documentation for maintaining version requirements- All resources now show their minimum required Coder versionThis ensures users can easily identify version requirements and preventscompatibility issues.Co-authored-by: matifali <10648092+matifali@users.noreply.github.com>
Refactored the version documentation system to store version requirementsdirectly in resource and attribute descriptions, eliminating the need foran external registry file.Changes:- Removed external resource_versions.go registry- Added version metadata markers in descriptions (@minCoderVersion,@SInCE)- Enhanced docsgen to extract and format version information- Added inline version markers for attributes with non-default versions- Created developer documentation for the new systemThis approach keeps version information close to the code, making iteasier to maintain and harder to forget when adding new features.Co-authored-by: matifali <10648092+matifali@users.noreply.github.com>
Simplified the version metadata system to use a single@SInCE: formatfor both resources and attributes, eliminating confusion from havingtwo different formats.Changes:- Updated all @minCoderVersion: markers to@SInCE:- Updated docsgen to only recognize@SInCE: format- Simplified version_meta.go- Updated documentation to reflect single formatThis makes the system more consistent and easier to use.Co-authored-by: matifali <10648092+matifali@users.noreply.github.com>
Removed version requirements from resources that existed before Coder v2.0,as these requirements are not meaningful for established resources.Changes:- Updated docsgen to only add version notes when@SInCE: marker is present- Removed default v2.18.0 version assignment- Added@SInCE:v2.8.0 to workspace_preset data source- Updated documentation to clarify when to add version markersNow only resources/features introduced after v2.0 show version requirements:- coder_ai_task (v2.24.0)- coder_devcontainer (v2.21.0)- coder_workspace_preset (v2.8.0)- coder_app.hidden attribute (v2.16.0)Co-authored-by: matifali <10648092+matifali@users.noreply.github.com>
…r v2.0)The hidden attribute for coder_app was added in September 2024, beforeterraform-provider-coder v2.0.1 was released in December 2024. Onlyresources/features added after provider v2.0 should have@SInCE markers.Co-authored-by: matifali <10648092+matifali@users.noreply.github.com>
Co-authored-by: matifali <10648092+matifali@users.noreply.github.com>
Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment
Labels
None yet
0 participants
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading.Please reload this page.
Fixes#272
This PR implements an inline version metadata system for documenting the minimum Coder version required for resources and features introduced after terraform-provider-coder v2.0.
Implementation
1.Inline Version Metadata
Description
fields using@since:vX.Y.Z
markers2.Automated Documentation Generation
scripts/docsgen/main.go
extracts@since:
markers*(since vX.Y.Z)*
markers to new attributes3.Version Compatibility Matrix
templates/index.md.tmpl
Resources with Version Requirements
Only resources/features introduced after terraform-provider-coder v2.0.1 show version requirements:
coder_ai_task
- v2.24.0 (added June 19, 2025)coder_devcontainer
- v2.21.0 (added March 20, 2025)coder_workspace_preset
- v2.8.0 (added February 4, 2025)Note: The
coder_app.hidden
attribute was added in September 2024 (before provider v2.0.1) and therefore does not have a version marker.Examples
New Resource (added after provider v2.0)
Generates:
New Attribute (if added after provider v2.0)
Generates:
Key Design Decisions
@since:
consistently for both resources and attributesTesting
Developer Documentation
provider/VERSION_METADATA.md
explains:@since:
format