-
Notifications
You must be signed in to change notification settings - Fork 2
chore(build): Add semantic release #3
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 our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
- Convert 462 components from metadata to JSON Schema format - Create modular package structure with individual component exports - Add build scripts and NPM package configuration - Include source component-metadata.json for regeneration - Use JSON Schema draft 2020-12 standard - Ready for NPM publication and MCP integration Provides JSON Schema metadata for all PatternFly React components to enable: - AI-assisted coding tools and MCP servers - Component prop validation and autocompletion - Modern development workflows with structured metadata
.releaserc.json
Outdated
| @@ -0,0 +1,71 @@ | |||
| { | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm a bit curious how you came up with this config as it's quite a bit different from ours, but that's not a blocker.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice catch, removed this to align better with the approach we use in PF react
.releaserc.json
Outdated
| [ | ||
| "@semantic-release/github", | ||
| { | ||
| "successComment": false, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would probably suggest having this set to true, those success comments can be really nice when you're trying to track down what version a particular change went into.
package.json
Outdated
| "name": "@jenny-s51/patternfly-component-schemas", | ||
| "version": "1.0.1", | ||
| "name": "@patternfly/patternfly-component-schemas", | ||
| "version": "1.1.0", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You'll probably want to have this as 1.0.0, semantic-release actually doesn't use or update the version here. But again not a blocker.
package.json
Outdated
| "release": { | ||
| "branches": ["main"], | ||
| "plugins": [ | ||
| "@semantic-release/commit-analyzer", | ||
| "@semantic-release/release-notes-generator", | ||
| "@semantic-release/changelog", | ||
| "@semantic-release/npm", | ||
| [ | ||
| "@semantic-release/git", | ||
| { | ||
| "assets": ["CHANGELOG.md", "package.json"], | ||
| "message": "chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}" | ||
| } | ||
| ], | ||
| "@semantic-release/github" | ||
| ] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit: I would have this in the semantic release config file instead of in your package file.
Per @wise-king-sullyman's feedback and discussion on the optimal process for semantic release automation, this PR includes implementation of semantic release as phase 1 for automation of patternfly-component-schemas.
Phase 2 will include the work done in #1 towards syncing with Patternfly releases, with a tool such as Renovate or Dependabot to handle syncing on a quarterly cadence. This follow-up effort will need further investigation / discussion and is tracked in http://github.com/patternfly/patternfly-component-schemas/issues/2