-
Notifications
You must be signed in to change notification settings - Fork 8
Update Quick Start docs #296
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from 6 commits
6053b6c
da78f3d
4f8a1a2
0fd4892
c67d762
6320aee
4542623
0174eac
10dd863
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
| @@ -0,0 +1,82 @@ | ||||||
| # YourBase Ruby Acceleration | ||||||
|
|
||||||
| Tests are important. For large monoliths, they're also a major source of drag on velocity. | ||||||
|
|
||||||
| YourBase is a tool that traces your tests to determine which files they depend on. It uses this information to determine which tests must run, because they are new or have changed dependencies. Tests without changed dependencies are skipped. | ||||||
|
|
||||||
| YourBase works with Ruby versions >= 2.3 and RSpec 3+. | ||||||
|
|
||||||
| ## Getting Started | ||||||
| 1. Add `gem 'yourbase-rspec', '~> 0.5.6',` to your Gemfile. If you have a `:test` group, add it there. | ||||||
| 2. `bundle install` from the command line. | ||||||
| 3. If you are not in a Rails project, you will also need to `require 'yourbase-rspec` your spec_helper (or at the top of the spec file you want to run). | ||||||
|
|
||||||
| Once you have a token, simply follow the steps below: | ||||||
| ```sh | ||||||
| bundle add yourbase-rspec --git "https://${YOURBASE_DOWNLOAD_TOKEN?}:x-oauth-basic@github.com/yourbase/yourbase-rspec-skipper-engine.git" && bundle install | ||||||
| ``` | ||||||
|
|
||||||
| > Note: After installing yourbase-rspec, if you are not using Rails you must add | ||||||
| "require 'yourbase-rspec'" to in your spec folder. | ||||||
|
|
||||||
| ```sh | ||||||
| # Add require 'yourbase-rspec' for non Rails projects. | ||||||
| echo "require 'yourbase-rspec'" >> spec/yourbase_spec.rb | ||||||
jamesnaftel marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||||||
| ``` | ||||||
| ## First run | ||||||
|
|
||||||
| > Note: If you are using Spring, please run `spring stop` before starting your tests. | ||||||
|
|
||||||
| Run your tests with the same command you typically use. You should see a rocket ship at the beginning the RSpec test section. | ||||||
|
||||||
| Run your tests with the same command you typically use. You should see a rocket ship at the beginning the RSpec test section. | |
| Run your specs as you normally do-- `yourbase-rspec` is compatible with any `rspec` command line options. You will see a rocket ship at the top of the `rspec` output if `yourbase-rspec` is successfully running! 🚀 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If you would not like to take the change verbatim, can you update the text to include the information about compatibility with command line arguments and the literal emoji? It's not clear to me that everyone (especially devs with a different native language) will automatically know "rocketship" means "🚀"
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should have a section about Spring here, because it's the most common reason they won't see the rocketship.
Right now, they need to run spring stop from the command line to turn it off, but it would be better if we could figure out if manually requiring yourbase-rspec at the top of the spec_helper.rb gets around the incompatibility, so that we could tell them to do that instead of having to stop Spring. Stopping Spring is definitely fine in the CI but is a little kludgier for local dev where Spring does actual useful things, including shorten the spin-up time for "loading the rails environment" for specs.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok. Have this in my notes but wanted to try it out first. Will add it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think for now it is sufficient to say that if you do not see the rocketship but ARE running Spring, that it should be turned off to accelerate the tests.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sorry if I missed this in the first pass, but I think the 1,2,3 and the
shsection below it assume different things about the the public/privateness of the repo.If we're going to publish this today-ish for Gusto purposes, we should make step
1.include the token syntax,gem 'yourbase-rspec', '~> 0.6.0, git: "https://yourbase-tokenbot:#{ENV.fetch(YOURBASE_DOWNLOAD_TOKEN){nil}}@github.com/yourbase/yourbase-rspec-skipper-engine", branch: 'main', and then lines 14-16 are redundant and can be removed.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Agreed! Missed this as well. I think we should tune this for our launch which I believe means removing the "token" section. I'll update based on this assumption. We can always add it back.