Just bundle
$ bundle
To run Cypress E2E tests, runn:
$ bin/yarn install
This projects uses Foreman to run multiple processes for local development. Launch the app and the CSS building process by running:
$ bin/dev
The project uses Rubocop to lint code and enforce coding standards. We run Rubucop as part of the CI/CD process and it will fail builds if it detects any issues.
To check your code locally you can run:
$ bin/bundle exec rubocop
For different unit and integration tests I am using RSpec
. To run:
bundle exec rspec
The project uses ESLint to lint JavaScript code and enforce coding standards. We run ESLint as part of the CI/CD process, and it will fail builds if it detects any issues
To check your code locally you can run:
Show issues:
bin/yarn eslint [FOLDER_NAME]
Apply automatic fixes:
bin/yarn eslint --fix [FOLDER_NAME]
Cypress is being used for E2E tests. These are run automatically on the Github CI machine when the project is built. However, for development it's easier to run the tests locally.
To do so run bin/dev
in one terminal window to handle the server separately. Then run bin/yarn cypress
in a different terminal window to launch the Cypress interface and select "E2E testing".
On each commit being pushed to the repo we're running a CI workflow defined in .github/workflows/workflow.yml
. The workflow is split into three separate parts:
- Linting and quality checks (
rubocop
andeslist
) - RSpec
- E2E tests
Continuous deployment done in Heroku! You can find the production deployment here: https://dog-img-0f3182610707.herokuapp.com/
Cheers!