$ bundle install
$ pushd driver/riverqueue-activerecord && bundle install && popd
$ pushd driver/riverqueue-sequel && bundle install && popdCreate a test database and migrate with River's CLI:
$ go install github.com/riverqueue/river/cmd/river
$ createdb river_test
$ river migrate-up --database-url "postgres://localhost/river_test"Run all specs:
$ bundle exec rspec spec$ bundle exec standardrb --fix$ bundle exec steep checkRunning the entire test suite will produce a coverage report, and will fail if line and branch coverage is below 100%. Run the suite and open coverage/index.html to find lines or branches that weren't covered:
$ bundle exec rspec spec
$ open coverage/index.html-
Choose a version, run scripts to update the versions in each gemspec file, build each gem, and
bundle installwhich will update itsGemfile.lockwith the new version:git checkout master && git pull --rebase export VERSION=v0.x.0 ruby scripts/update_gemspec_version.rb riverqueue.gemspec ruby scripts/update_gemspec_version.rb driver/riverqueue-activerecord/riverqueue-activerecord.gemspec ruby scripts/update_gemspec_version.rb driver/riverqueue-sequel/riverqueue-sequel.gemspec gem build riverqueue.gemspec pushd driver/riverqueue-activerecord && gem build riverqueue-activerecord.gemspec && popd pushd driver/riverqueue-sequel && gem build riverqueue-sequel.gemspec && popd bundle install pushd driver/riverqueue-activerecord && bundle install && popd pushd driver/riverqueue-sequel && bundle install && popd gco -b $USER-$VERSION
-
Update
CHANGELOG.mdto include the new version and open a pull request with those changes and the ones to the gemspecs andGemfile.locks above. -
Build and push each gem, then tag the release and push that:
git pull origin master gem push riverqueue-${"${VERSION}"/v/}.gem pushd driver/riverqueue-activerecord && gem push riverqueue-activerecord-${"${VERSION}"/v/}.gem && popd pushd driver/riverqueue-sequel && gem push riverqueue-sequel-${"${VERSION}"/v/}.gem && popd git tag $VERSION git push --tags
-
Cut a new GitHub release by visiting new release, selecting the new tag, and copying in the version's
CHANGELOG.mdcontent as the release body.