init: @bash docker/message.sh "Start" make start setup: stop @bash docker/message.sh "Compiling everything" docker-compose run --rm api bash -c 'mix deps.get; yarn --cwd "js"; yarn --cwd "js" build:pictures; mix ecto.create; mix ecto.migrate' migrate: docker-compose run --rm api mix ecto.migrate logs: docker-compose logs -f start: stop @bash docker/message.sh "Starting Mobilizon with Docker" docker-compose up -d api @bash docker/message.sh "Docker server started" stop: @bash docker/message.sh "Stopping Mobilizon" docker-compose down @bash docker/message.sh "Mobilizon is stopped" test: stop @bash docker/message.sh "Running tests" docker-compose -f docker-compose.yml -f docker-compose.test.yml run api mix test $(only) @bash docker/message.sh "Done running tests" format: docker-compose run --rm api bash -c "mix format && mix credo --strict" @bash docker/message.sh "Code is now ready to commit :)" target: init RELEASE_TAG=$(shell git tag --list '[0-9]*.[0-9]*.[0-9]*' | tail -n1) release: mix local.hex --force mix local.rebar --force mix deps.get --only-prod mix compile mix phx.digest.clean --all && mix phx.digest mix release --path release/mobilizon cd release/mobilizon && ln -s lib/mobilizon-*/priv priv tar czf mobilizon-$(RELEASE_TAG).tar.gz -C release mobilizon