X-Git-Url: https://git.immae.eu/?p=github%2Fwallabag%2Fwallabag.git;a=blobdiff_plain;f=Makefile;h=0f4cbbe80ebaf8df588c4144309c1f856fa7cae6;hp=0abd5c5d505971c030c356b5cccb270961e793c9;hb=0452e869ec0e3d336337f815da346346c860d914;hpb=d8507addbb2e222462f814718cb61d3eaf2c65e1 diff --git a/Makefile b/Makefile index 0abd5c5d..0f4cbbe8 100755 --- a/Makefile +++ b/Makefile @@ -1,47 +1,52 @@ TMP_FOLDER=/tmp RELEASE_FOLDER=wllbg-release -SSH_USER=framasoft_bag -SSH_HOST=78.46.248.87 -SSH_PATH=/var/www/framabag.org/web - -help: - @echo 'Makefile for wallabag ' - @echo ' ' - @echo 'Usage: ' - @echo ' make install install latest stable wallabag version ' - @echo ' make update update to the latest stable wallabag version' - @echo ' make build run grunt ' - @echo ' make test execute wallabag testsuite ' - @echo ' make release produce a wallabag release ' - @echo ' make travis make things for travis ' - @echo ' ' - -install: - TAG=$(git describe --tags $(git rev-list --tags --max-count=1)) - @git checkout $(TAG) - SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist - php bin/console wallabag:install --env=prod - -update: - -build: - grunt - -test: - ant prepare && phpunit -v - -release: - version=$(VERSION) - rm -rf $(TMP_FOLDER)/$(RELEASE_FOLDER) - mkdir $(TMP_FOLDER)/$(RELEASE_FOLDER) - @git clone git@github.com:wallabag/wallabag.git -b $(VERSION) $(TMP_FOLDER)/$(RELEASE_FOLDER)/$(VERSION) - cd $(TMP_FOLDER)/$(RELEASE_FOLDER)/$(VERSION) && SYMFONY_ENV=prod composer up -n --no-dev - cd $(TMP_FOLDER)/$(RELEASE_FOLDER)/$(VERSION) && php bin/console wallabag:install --env=prod - cd $(TMP_FOLDER)/$(RELEASE_FOLDER) && tar czf wallabag-$(VERSION).tar.gz --exclude="var/cache/*" --exclude="var/logs/*" --exclude="var/sessions/*" --exclude=".git" $(VERSION) - @echo "MD5 checksum of the package for wallabag $(VERSION)" - @md5 $(TMP_FOLDER)/$(RELEASE_FOLDER)/wallabag-$(VERSION).tar.gz - scp $(TMP_FOLDER)/$(RELEASE_FOLDER)/wallabag-$(VERSION).tar.gz $(SSH_USER)@$(SSH_HOST):$(SSH_PATH) - rm -rf $(TMP_FOLDER)/$(RELEASE_FOLDER) - -travis: +ENV ?= prod + +help: ## Display this help menu + @grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}' + +clean: ## Clear the application cache + rm -rf var/cache/* + +install: ## Install wallabag with the latest version + @sh scripts/install.sh $(ENV) + +update: ## Update the wallabag installation to the latest version + @sh scripts/update.sh $(ENV) + +dev: ## Install the latest dev version + @sh scripts/dev.sh + +run: ## Run the wallabag built-in server + @php bin/console server:run --env=dev + +build: ## Run webpack + @npm run build:$(ENV) + +prepare: clean ## Prepare database for testsuite +ifdef DB + cp app/config/tests/parameters_test.$(DB).yml app/config/parameters_test.yml +endif + -php bin/console doctrine:database:drop --force --env=test + php bin/console doctrine:database:create --env=test + php bin/console doctrine:migrations:migrate --no-interaction --env=test + +fixtures: ## Load fixtures into database + php bin/console doctrine:fixtures:load --no-interaction --env=test + +test: prepare fixtures ## Launch wallabag testsuite + bin/simple-phpunit -v + +release: ## Create a package. Need a VERSION parameter (eg: `make release VERSION=master`). +ifndef VERSION + $(error VERSION is not set) +endif + @sh scripts/release.sh $(VERSION) $(TMP_FOLDER) $(RELEASE_FOLDER) $(ENV) + +deploy: ## Deploy wallabag + @bundle exec cap staging deploy + +.PHONY: help clean prepare install fixtures update build test release deploy run dev + +.DEFAULT_GOAL := install