-
Notifications
You must be signed in to change notification settings - Fork 8
ci(DATAGO-113775): introduce versioning and release pipeline #83
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
87146b8 to
7664f79
Compare
| # - release-please-config.json | ||
| # - .github/pr_labeler.yaml | ||
|
|
||
| on: |
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.
Let's document the process for adding new plugins
I.e PR is opened -> let the sync plugin workflow run -> makes a commit to the PR branch
-> New workflows will run
johnvincentcorpuz
left a comment
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.
👍
What is the purpose of this change?
Implement automated release management using Release Please for the monorepo. This enables automatic changelog generation, version bumping, and PyPI publishing for all 16 plugins based on conventional commits.
How was this change implemented?
New Workflows:
release-please.yaml: Runs on push to main, creates/updates release PRs automatically based on conventional commits, manages separate versions for each pluginpublish.yaml: Triggered when GitHub releases are published, builds and publishes the specific plugin to PyPI using trusted publishing (no API tokens needed)release-readiness-check.yaml: Runs on release-please PRs to validate security compliance (SonarQube hotspots, FOSSA licensing/vulnerabilities) before releaseConfiguration Files:
release-please-config.json: Defines release configuration for all 16 plugins with changelog sections, tag format (<plugin>-v<version>), and Python release type.release-please-manifest.json: Tracks current versions for each plugin (initialized to current versions)Key Design Decisions (optional - delete if not applicable)
separate-pull-requests: falseto group all plugin releases into one PR for easier managementsam-slack-v0.3.0) to differentiate releases per plugin