Skip to content

Commit 30e8de4

Browse files
committed
Update CONTRIBUTING docs
1 parent 7029060 commit 30e8de4

File tree

1 file changed

+17
-2
lines changed

1 file changed

+17
-2
lines changed

docs/CONTRIBUTING.md

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,11 +43,26 @@ The codespace environment includes a minimal Rails app with ViewComponent instal
4343
2. Expose the port when prompted by the Visual Studio Code Web Editor.
4444
3. Add the external URL to the config block in `config/application.rb` as prompted by the error.
4545

46+
## Running tests with Appraisal
47+
48+
This project uses [appraisal](https://github.com/thoughtbot/appraisal) to run tests for various versions of Ruby and Rails, and [appraisal-run](https://github.com/camertron/appraisal-run) to run them in Docker containers.
49+
50+
1. Install the dependencies: `bundle`
51+
2. Make sure the tests pass: `appraisal-run gemfiles/*.gemfile -- bundle exec rake`
52+
53+
When a new version of Rails is released:
54+
55+
1. Add a new `appraise` block in `Appraisals`.
56+
2. Run `bundle exec appraisal generate`
57+
3. Update the gemfiles locks `appraisal-run gemfiles/*.gemfile -- bundle lock`
58+
4. Make sure the tests pass: `appraisal-run gemfiles/*.gemfile -- bundle exec rake`
59+
5. Commit and push the changes.
60+
6. Release a new version.
61+
4662
## Submitting a pull request
4763

4864
1. [Fork](https://github.com/viewcomponent/view_component/fork) and clone the repository.
49-
1. Configure and install the dependencies: `bundle exec appraisal install`.
50-
2. Make sure the tests pass: `bundle exec appraisal rake` (see below for specific cases).
65+
2. Make sure the tests pass: `appraisal-run gemfiles/*.gemfile -- bundle exec rake`.
5166
3. Create a new branch: `git checkout -b my-branch-name`.
5267
4. Add tests, make the change, and make sure the tests still pass.
5368
5. Add an entry to the top of `docs/CHANGELOG.md` for the changes, no matter how small.

0 commit comments

Comments
 (0)