Bug reports and pull requests are welcome on GitHub at https://github.com/pboling/gem_bench. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the code of conduct.
To submit a patch, please fork the project and create a patch with tests. Once you're happy with it send a pull request.
After checking out the repo, run bin/setup
to install dependencies.
Then, run bin/rake
to run the default rake tasks, which include specs.
You can also run bin/console
for an interactive prompt that will allow you to experiment.
IMPORTANT: Your public key for signing gems will need to be picked up by the line in the
gemspec
defining the spec.cert_chain
(check the relevant ENV variables there),
in order to sign the new release.
See: RubyGems Security Guide
- Run
bin/setup && bin/rake
as a tests, coverage, & linting sanity check - Update the version number in
version.rb
- Run
bin/setup && bin/rake
again as a secondary check, and to updateGemfile.lock
- Run
git commit -am "🔖 Prepare release v<VERSION>"
to commit the changes - Run
git push
to trigger the final CI pipeline before release, & merge PRs- NOTE: Remember to check the build!
- Run
export GIT_TRUNK_BRANCH_NAME="$(git remote show origin | grep 'HEAD branch' | cut -d ' ' -f5)" && echo $GIT_TRUNK_BRANCH_NAME
- Run
git checkout $GIT_TRUNK_BRANCH_NAME
- Run
git pull origin $GIT_TRUNK_BRANCH_NAME
to ensure you will release the latest trunk code - Set
SOURCE_DATE_EPOCH
sorake build
andrake release
use same timestamp, and generate same checksums- Run
export SOURCE_DATE_EPOCH=$EPOCHSECONDS && echo $SOURCE_DATE_EPOCH
- If the echo above has no output, then it didn't work.
- Note that you'll need the
zsh/datetime
module, if runningzsh
. - In
bash
you can usedate +%s
instead, i.e.export SOURCE_DATE_EPOCH=$(date +%s) && echo $SOURCE_DATE_EPOCH
- Run
- Run
bundle exec rake build
- Run
bin/checksums
(more context) to create SHA-256 and SHA-512 checksums- Checksums will be committed automatically by the script, but not pushed
- Run
bundle exec rake release
which will create a git tag for the version, push git commits and tags, and push the.gem
file to rubygems.org
Made with contributors-img.