X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=Makefile;h=0f4cbbe80ebaf8df588c4144309c1f856fa7cae6;hb=9e83c3bdf04018c66e71c8dde790cbfa747d4fd3;hp=a4a06e3fa42c8a4af5484433b9234d849853114a;hpb=26490a8794e762a77bb0439790db641a222fb0ef;p=github%2Fwallabag%2Fwallabag.git diff --git a/Makefile b/Makefile index a4a06e3f..0f4cbbe8 100755 --- a/Makefile +++ b/Makefile @@ -1,61 +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 - -ENV=prod +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/* + rm -rf var/cache/* install: ## Install wallabag with the latest version - TAG=$(git describe --tags $(git rev-list --tags --max-count=1)) - @git checkout $(TAG) - @SYMFONY_ENV=$(ENV) composer install --no-dev -o --prefer-dist - @php bin/console wallabag:install --env=$(ENV) + @sh scripts/install.sh $(ENV) update: ## Update the wallabag installation to the latest version - @rm -rf var/cache/* - @git fetch origin - @git fetch --tags - 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 cache:clear --env=prod + @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 -run: ## Run the wallabag server - php bin/console server:run --env=$(ENV) +build: ## Run webpack + @npm run build:$(ENV) -build: ## Run grunt - @grunt +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: ## Launch wallabag testsuite - @ant prepare && phpunit -v +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 - 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=$(ENV) composer up -n --no-dev - @cd $(TMP_FOLDER)/$(RELEASE_FOLDER)/$(VERSION) && php bin/console wallabag:install --env=$(ENV) - @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: ## Make some stuff for Travis-CI + @sh scripts/release.sh $(VERSION) $(TMP_FOLDER) $(RELEASE_FOLDER) $(ENV) deploy: ## Deploy wallabag @bundle exec cap staging deploy -.PHONY: help clean install update build test release travis deploy +.PHONY: help clean prepare install fixtures update build test release deploy run dev + +.DEFAULT_GOAL := install