Repository navigation
feat: add CI scripts and workflows for release management for v1.5 - #5360
Merged
Merged
Conversation
There was a problem hiding this comment.
🟡 Changes recommended
Unresolved publication and release-consistency issues can leave deployed Maven artifacts without a matching GitHub release.
5 open issues
What changed in this PR
This PR adds release automation for swagger-core’s v1 line on branch 1.5, covering release preparation, artifact deployment, and next-snapshot updates.
Changes:
- Adds manual preparation and release workflows with branch and version checks.
- Introduces scripts for release discovery, release notes, publication, and Maven version updates.
- Documents the release process and upgrades the Maven GPG plugin to
3.2.8.
| File | Description |
|---|---|
pom.xml |
Updates the Maven GPG plugin for artifact signing. |
CI/releaseNotes.py |
Generates release notes and creates a draft release. |
CI/publishRelease.py |
Finds and publishes the prepared draft. |
CI/prepare-release.sh |
Prepares release versions, updates README, and builds. |
CI/pre-release.sh |
Calculates versions and builds before deployment. |
CI/post-release.sh |
Publishes the release and sets the next snapshot version. |
CI/lastRelease.py |
Searches paginated releases for the latest published v1 tag. |
CI/ghApiClient.py |
Provides authenticated GitHub API helpers. |
CI/CI.md |
Documents workflows, release steps, and required secrets. |
.github/workflows/release.yml |
Automates deployment, publication, and the snapshot PR. |
.github/workflows/prepare-release.yml |
Automates release preparation and its review PR. |
Review effort: Balanced
Collaborator
Author
|
Not applying changes from copilot's comments. The scripts and workflows are a port of the ones already used for releases on master (2.x) and 3.0.0, and they work there:
|
djankows
approved these changes
Oct 26, 2026
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.


Pull Request
Thank you for contributing to swagger-core!
Please fill out the following information to help us review your PR efficiently.
Description
This pull request introduces a comprehensive release automation system for the
1.5branch (swagger-core v1) using GitHub Actions workflows and supporting scripts. The changes include new CI/CD workflows for preparing and executing releases, supporting Python and shell scripts for release management, and documentation updates. These improvements standardize and automate the release process for the v1 line, ensuring releases are only made from the correct branch and version, and providing clear release notes and artifact deployment.Release Workflow Automation
1.5branch, including branch and version checks, artifact signing, and automated pull request creation for release and snapshot version bumps (.github/workflows/prepare-release.yml,.github/workflows/release.yml).Release Management Scripts
CI/directory to automate steps such as finding the last release, drafting release notes, publishing releases, updating Maven versions, and bumping snapshot versions (CI/lastRelease.py,CI/releaseNotes.py,CI/publishRelease.py,CI/ghApiClient.py,CI/prepare-release.sh,CI/pre-release.sh,CI/post-release.sh).Documentation
CI/CI.mdto document the new release process, workflow steps, differences from other branches, and required secrets for secure publishing.Build Configuration
maven-gpg-pluginversion inpom.xmlfrom1.6to3.2.8to support modern GPG signing and integration with the new workflows.Type of Change
Checklist
Screenshots / Additional Context