The following list describe the steps necessary to release a new version.
- Run all tests (including all examples + integration)
- Run docker compose and manually test ui (or verify on website):
- AMQP: https://amqp.demo.springwolf.dev/
- CloudStream https://cloud-stream.demo.springwolf.dev/
- JMS: https://jms.demo.springwolf.dev/
- Kafka: https://kafka.demo.springwolf.dev/
- SNS: https://sns.demo.springwolf.dev/
- SQS: https://sqs.demo.springwolf.dev/
- STOMP (WebSocket): https://stomp.demo.springwolf.dev/
- Update
all-contributors
in README.md - Create a new branch
release/1.<minor-version-number>.X
, remove the-SNAPHSOT
postfix in.env
, commit & push - Run GitHub
Publish releases
pipeline from the newly created release branch - Update the version number in
.env
for next snapshot on branchmaster
, commit & push - Update version number on website
- Publish the release notes on GitHub (https://github.com/springwolf/springwolf-core/releases)
A valid and published GPG key is required for publishing to Sonatype maven.
The current key can be obtained via:
gpg --keyserver keyserver.ubuntu.com --search-keys 5A86573F7588809B50EB8EF475ABBF11907B8027
As documented in gradle signing plugin,
gpg
is used for artifact signing.
Steps to create a new key:
- Generate a new GPG key:
gpg --full-generate-key
- Get key id:
gpg --list-secret-keys --keyid-format LONG
- Export key for backup in secure storage:
- Private key:
gpg --armor --export-secret-key 75ABBF11907B8027 > springwolf.gpg.key
- Public key:
gpg --armor --export 75ABBF11907B8027 > springwolf.gpg.pub
- Revocation cert:
gpg --output springwolf.gpg.revoke.asc --gen-revoke 5A86573F7588809B50EB8EF475ABBF11907B8027
- And your key password
- Private key:
- Upload key:
gpg --keyserver keyserver.ubuntu.com --send-keys 5A86573F7588809B50EB8EF475ABBF11907B8027
- Verify key was uploaded (after a couple seconds):
gpg --keyserver keyserver.ubuntu.com --search-keys 5A86573F7588809B50EB8EF475ABBF11907B8027
- Add secret to GitHub:
SIGNINGKEY
is the content ofspringwolf.gpg.key
SIGNINGPASSWORD
is the password used to generate the key