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.
Implementation of #94.
Implements scripts that build and push releases of the API and SDK to Rubygems, and augments the CI config to trigger them.
The proposed release process is as follows. To release a gem:
#{gem_name}/v#{version}
must be created and pushed to Github. (e.g.opentelemetry-api/v1.2.3
). Thus, anyone with direct write access to the repo will be able to initiate a release.When the tag is created in Github, CircleCI will automatically (after running that gem's tests one final time) run the release script. This script:
The release script requires the following environment variable configuration to be set on the CircleCI project (currently not yet done):
OPENTELEMETRY_RUBYGEMS_API_KEY
environment variable must be set with credentials for the Rubygems account we want to use to push the gem. Rubygems credentials will be held by the CI; individuals will not need direct access to them.OPENTELEMETRY_RELEASES_ENABLED
environment variable should be set to the valuetrue
. (If it is not, the release script will run in test mode, and will go through the motions of building and verifying the gem, but will not actually push it to Rubygems.)Current limitations, which I can address once we've agreed on the basic approach:
gem push
is attempted.