Skip to content

Conversation

@artyom-morozov
Copy link
Collaborator

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 plugin
  • publish.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 release

Configuration 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)

  • Single release PR: Using separate-pull-requests: false to group all plugin releases into one PR for easier management
  • Component in tag: Tags include plugin name (sam-slack-v0.3.0) to differentiate releases per plugin
  • PyPI Trusted Publishing: Uses OIDC authentication instead of API tokens for more secure publishing
  • Release readiness on PR: Security checks run when release PR is opened/updated, not at release time, giving time to fix issues before merge

@artyom-morozov artyom-morozov requested review from a team and johnvincentcorpuz January 14, 2026 21:02
# - release-please-config.json
# - .github/pr_labeler.yaml

on:
Copy link
Collaborator

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

Copy link
Collaborator

@johnvincentcorpuz johnvincentcorpuz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

@artyom-morozov artyom-morozov merged commit 616b884 into main Jan 22, 2026
12 of 13 checks passed
@artyom-morozov artyom-morozov deleted the versioning branch January 22, 2026 20:48
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