Skip to content

chore(build): Add semantic release - #3

Merged
jenny-s51 merged 4 commits into
patternfly:mainfrom
jenny-s51:addSemanticRelease
Sep 16, 2025
Merged

chore(build): Add semantic release#3
jenny-s51 merged 4 commits into
patternfly:mainfrom
jenny-s51:addSemanticRelease

Conversation

@jenny-s51

Copy link
Copy Markdown
Collaborator
  • Implement semantic-release
  • Enable automated NPM publishing and changelog generation

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

- 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
Comment thread .releaserc.json Outdated
@@ -0,0 +1,71 @@
{

Copy link
Copy Markdown

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.

Copy link
Copy Markdown
Collaborator Author

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

Comment thread .releaserc.json Outdated
[
"@semantic-release/github",
{
"successComment": false,

Copy link
Copy Markdown

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.

Comment thread package.json Outdated
"name": "@jenny-s51/patternfly-component-schemas",
"version": "1.0.1",
"name": "@patternfly/patternfly-component-schemas",
"version": "1.1.0",

Copy link
Copy Markdown

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.

Comment thread package.json Outdated
Comment on lines +44 to +59
"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"
]

Copy link
Copy Markdown

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.

@jenny-s51
jenny-s51 merged commit a295337 into patternfly:main Sep 16, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants