|
1 | 1 | include extra/.env |
2 | 2 |
|
| 3 | +DB ?= sqlite |
| 4 | + |
3 | 5 | help: |
4 | | - @echo -e "Usage (with DB one value in sqlite / mysql / mssql / postgres):\n DB=sqlite make up # to start the base service\n DB=sqlite make shell # to enter in a shell\nCheck the Makefile for other commands" |
| 6 | + @echo -e "${COMPOSE_PROJECT_NAME} - Main project commands (required env var: DB with a value in sqlite / mysql / mssql / postgres):\n\ |
| 7 | + make up # starts the dev services (optional env vars: RUBY / RAILS)\n\ |
| 8 | + make specs # run the tests (after up)\n\ |
| 9 | + make lint # run the linters (after up)\n\ |
| 10 | + make server # run the server (after up)\n\ |
| 11 | + make shell # open a shell (after up)\n\ |
| 12 | + make down # cleanup (after up)\n\n\ |
| 13 | + Example: DB=postgres RUBY=3.2 RAILS=7.1.0 make up" |
| 14 | + |
| 15 | +# System commands |
5 | 16 |
|
6 | 17 | build: |
7 | | - @rm -f Gemfile.lock |
| 18 | + @rm -f Gemfile.lock spec/dummy/db/*.sqlite3 |
8 | 19 | @docker compose -f extra/docker-compose.yml build --build-arg DB_TEST=${DB} app_with_${DB} |
9 | 20 |
|
10 | | -up: build |
| 21 | +db_reset: |
| 22 | + @docker compose -f extra/docker-compose.yml run --rm app_with_${DB} extra/init.sh |
| 23 | + |
| 24 | +up: build db_reset |
11 | 25 | @docker compose -f extra/docker-compose.yml up app_with_${DB} |
12 | 26 |
|
13 | 27 | shell: |
14 | 28 | @docker compose -f extra/docker-compose.yml exec app_with_${DB} bash |
15 | 29 |
|
16 | | -specs: |
17 | | - @docker compose -f extra/docker-compose.yml exec app_with_${DB} bin/rspec --fail-fast |
| 30 | +down: |
| 31 | + @docker compose -f extra/docker-compose.yml down --volumes --rmi local --remove-orphans |
18 | 32 |
|
19 | | -console: |
20 | | - @docker compose -f extra/docker-compose.yml exec app_with_${DB} bin/rails c |
| 33 | +# App commands |
21 | 34 |
|
22 | | -server: |
23 | | - @docker compose -f extra/docker-compose.yml exec app_with_${DB} bin/rails s -b 0.0.0.0 -p ${SERVER_PORT} |
24 | | - |
25 | | -appraisal_update: |
26 | | - @docker compose -f extra/docker-compose.yml exec app_with_${DB} bin/appraisal update |
| 35 | +console: |
| 36 | + @docker compose -f extra/docker-compose.yml exec app_with_${DB} bin/rails console |
27 | 37 |
|
28 | 38 | lint: |
29 | 39 | @docker compose -f extra/docker-compose.yml exec app_with_${DB} bin/rubocop |
30 | 40 |
|
31 | | -cleanup: |
32 | | - @docker compose -f extra/docker-compose.yml down -v --rmi local --remove-orphans |
| 41 | +server: |
| 42 | + @docker compose -f extra/docker-compose.yml exec app_with_${DB} bin/rails server -b 0.0.0.0 -p ${SERVER_PORT} |
| 43 | + |
| 44 | +specs: |
| 45 | + @docker compose -f extra/docker-compose.yml exec app_with_${DB} bin/rspec --fail-fast |
0 commit comments