Roadrunner Rails is a template for new Rails projects for the VA. It's pre-customized to work within the VA ecosystem.
qWWWgaap
]W#########WW##Z##LaQbp
]"?!??QW#ZZ#######m#b
)Wm####Z####Z###b
)????mm###a
]####? p
y?Y?Y( p
w####ZcL]T___$
^<iQrcZZZr-'
:klf
p ]i _
3p ]lp _ __ ___ __ _ __| |_ __ _ _ _ __ _ __ ___ _ __
llLp ]If ------ | '__/ _ \ / _` |/ _` | '__| | | | '_ \| '_ \ / _ \ '__|
zIl3q. ]If __________ | | | (_) | (_| | (_| | | | |_| | | | | | | | __/ |
"gwzI3q kd ____ |_| \___/ \__,_|\__,_|_| \__,_|_| |_|_| |_|\___|_|
)?^y3qp qJIf _ __ __ _(_) |___
J4wwLagagagWWWWWhwilld ______________ | '__/ _` | | / __|
?!4m#m####ZZ#Zmlllf p ------------------------ | | | (_| | | \__ \
gKX@CiillTYXmDYYTlllmp aggQ"4XXLga ________________ |_| \__,_|_|_|___/
aGZF???????? )?4@illf aggJQ"!'=jg#?':?"4#Lgga
aAq"'. "wuRXXXm!? ]X#Xp J!mX#XZZXUa
aAm? )!"!'. !pXP !XXZXXQ
r' )4XXWW
.
In order to use Roadrunner Rails, you'll need Ruby installed, and rbenv to manage your Ruby versions. Follow the instructions to install rbenv and then to install Ruby 2.3.
You'll need to install the following other applications and libraries.
- PhantomJS
- Mac w/ Homebrew:
brew install phantomjs
- Mac w/ Homebrew:
First, clone the roadrunner-rails
repository into a new folder with your project name.
Seperate words in the folder name using hyphens (example: my-new-project
).
$ git clone https://github.com/department-of-veterans-affairs/roadrunner-rails my-new-project
Then run the setup script:
$ cd my-new-project
$ ./bin/setup
After that, you should be ready to roll! Use any of the Rails commands (like rails s
) or try some of the commands below.
Following this, there are a few last things you should do:
- Add your project to a new GitHub repository
- Make the
master
branch a protected branch
- Make the
- Enable Travis CI to build/lint your code when new pull requests are committed
- Fill in the details in the generated README.md file (including updating the TravisCI image)
Beep, beep!
bundle exec rake lint
- Run the full suite of linters on the codebase.bundle exec guard
- Runs the guard test server that reruns your tests after files are saved. Useful for TDD!bundle exec rake security
- Run the suite of security scanners on the codebase.bundle exec rake ci
- Run all build steps performed in Travis CI.
Roadrunner Rails adds some additional gems for making Rails development better.
- RSpec - Ruby testing framework for readable BDD tests.
- RSpec Rails - Rails helpers for rSpec.
- Guard - Testing server for better TDD flow.
- Capybara - DSL for easily writing automated feature tests.
- Sniffybara - Custom Poltergeist (PhantomJS) driver for Capybara that checks for accessibility defects in your feature tests.
- Rubocop for Ruby style linting.
- scss-lint configured with 18F's CSS coding styleguide.
- jshint for Javascript.
- Brakeman for Rails static code analysis for secuirty vulnerabilities
- bundler-audit for checking known security vunerabilities of gems.