- Ruby ~> 3.3.3
- Rails ~> 7.1.3
- Postgres
git clone [email protected]:LaunchPadLab/<project_name>.git
cd <project_name>
bundle install
load_secrets
bundle exec rake db:create db:migrate db:seed
orbin/setup
rails server
orbin/dev
open localhost:3000
If background workers are needed:
redis-server
bundle exec sidekiq
Pull requests to the dev
branch will trigger review apps in Heroku.
This repo contains a template for Pull Request (PR) descriptions to help you to give easy and consistent instructions and context to a Code Reviewer and QA Reviewer. More information on PR best practices for both Authors and Reviewers are included in the LPL Pull Request Guidelines.
- The
dev
branch will auto-deploy to the dev environment on Heroku - The
staging
branch will auto-deploy to the staging environment on Heroku - The
main
branch can then be deployed manually to production after successful QA
Additionally, this codebase uses overcommit
to automatically run git hooks:
- linting (rubocop) on pre-commit
All Ruby/Rails unit tests must pass for a PR to be merged. They can be run locally with:
- Ruby/Rails unit tests:
bundle exec rspec
End-to-end testing is set up using cypress-on-rails. To run the tests, make sure your local server is active. Then, in a new terminal window, use one of the following commands:
To launch the Cypress Test Runner: yarn cypress open --project ./e2e
To run Cypress tests in headless mode: yarn run cypress run --project ./e2e
The project is set up to lint ruby, so it's advised that you have this integrated in your editor. Currently, linting errors will not block a PR merge, but this may change in the future.
You can run these manually with:
- Ruby:
rubocop
(if installed globally withgem install rubocop
)