README.md in gemika-0.8.1 vs README.md in gemika-0.8.2

- old
+ new

@@ -691,25 +691,37 @@ Development ----------- Here are some hints when you try to make changes to Gemika itself: -There are tests in `spec`. We only accept PRs with tests. To run tests: +There are tests in `spec`. We only accept PRs with tests. If you create a PR, the tests will automatically run on +GitHub actions on each push. We will only merge pull requests after a green GitHub actions run. -- Install Ruby 2.6.4 +To run tests locally for development, first setup your test databases: + - Create a local test database `gemika_test` in both MySQL and PostgreSQL - Copy `spec/support/database.sample.yml` to `spec/support/database.yml` and enter your local credentials for the test databases -- Create the databases specified in `database.yml` -- Install development dependencies using `bundle install` -- Run tests using `bundle exec rspec` -We recommend to test large changes against multiple versions of Ruby and multiple dependency sets. Supported combinations are configured in `.travis.yml`. We provide some rake tasks to help with this: +Afterwards you have multiple options: -- Install development dependencies using `bundle matrix:install` -- Run tests using `bundle matrix:spec` +1. Run tests against the "main development" Ruby version (`.ruby-version`) and dependencies (`Gemfile`/`Gemfile.lock` symlinks): + - Install the Ruby version specified in `.ruby-version` + - Install development dependencies using `bundle install` + - Run tests using `bundle exec rspec` -Note that we have configured Travis CI to automatically run tests in all supported Ruby versions and dependency sets after each push. We will only merge pull requests after a green Travis build. +2. Run tests against a specific Ruby version (out of those mentioned in `.github/workflows/test.yml`) and all Gemfiles compatible with that version: + - Install and switch to the Ruby version + - Install development dependencies for all compatible Gemfiles using `rake matrix:install` + - Run tests for all compatible Gemfiles using `rake matrix:spec` +3. Run tests against all compatible combinations of Ruby and Gemfile: + - Install all Ruby versions mentioned in `.github/workflows/test.yml` + - run `bin/matrix` (only supports `rbenv` for switching Ruby versions currently) + +Hints: +- We recommend to have sufficiently new versions of bundler (> 2.3.0) and rubygems (> 3.3.0) installed for each Ruby version. +- The script `bin/matrix` will warn you, if that is not the case. For all other methods you need to ensure that yourself. +- Supported "Ruby <-> Gemfile" combinations are configured in `.github/workflows/test.yml`. Credits ------- Henning Koch from [makandra](http://makandra.com/)