This document summarizes the process of doing a new release of this project. Release can only be performed by Datadog maintainers of this repository.
This project does not have a strict release schedule. However, we would make a release at least every 2 months.
- No release will be done if no changes got merged to the
master
branch during the above mentioned window. - Releases may be done more frequently than the above mentioned window.
- Check and upgrade dependencies where it applies and makes sense.
- Create a distinct pull request and test your changes since it may introduce regressions.
- While using the latest versions of dependencies is advised, it may not always be possible due to potential compatibility issues.
- Upgraded dependencies should be thoroughly considered and tested to ensure they are safe!
- Make sure tests are passing.
- Locally and in the continuous integration system.
- Manually test changes included in the new release.
- Make sure documentation is up-to-date.
Install bundler and setup your RubyGems credentials:
- Register an account on https://rubygems.org/
- Datadog Admins only - Be assigned to Datadog's RubyGems gems by an owner.
- Set a
~/.gem/credentials
file as the following:
---
:rubygems_api_key: $RUBYGEMS_APIKEY
- Install datadog_checks_dev using Python 3.
- See changes ready for release by running
ddev release show changes .
at the root of this project. Add any missing labels to PRs if needed. - Run
ddev release changelog . <NEW_VERSION>
to update theCHANGELOG.md
file at the root of this repository - Commit the changes to the repository in a release branch. Do not merge yet.
- Update the gem version number in
lib/dogapi/version.rb
, push it to your changelog PR. - Merge the PR to master.
- Create the release in the Github releases page.
- Checkout the tag created at the previous step.
- Build the gem:
bundle exec gem build dogapi.gemspec
. - Push the gem:
bundle exec gem push dogapi-x.x.x.gem
. - Check that the Ruby Gem is published.
- Bump the version again in
lib/dogapi/version.rb
to a dev version (e.g.1.42.0
->1.42.1.dev
), open a PR and merge it to master.