mobilizon.chapril.org-mobil.../Makefile
Jules Sagot--Gentil 7665cdd4fd
feat: add release target to Makefile
I used the Gitlab CI of Framasoft to get the release code. See
5a30bc2f15/.gitlab-ci.yml (L280)
2023-02-25 17:04:09 +01:00

39 lines
1.3 KiB
Makefile

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