diff --git a/.travis.yml b/.travis.yml index 8d6ba47..f1a7767 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,18 +3,25 @@ dist: trusty language: php +if: tag IS blank + addons: apt: packages: - apache2 - libapache2-mod-fastcgi +before_install: + - export LAST_TAG=`git describe --abbrev=0 --tags` + - export CURRENT_VERSION=v`cat VERSION` + before_script: make before_script script: make test stages: - test + - deploy jobs: include: @@ -67,11 +74,6 @@ jobs: - php: 7.1 env: BRANCH=1.6.1.24 COMPOSER_IN_TESTS=1 - - php: 7.1 - env: BRANCH=1.7.3.0 - - php: 7.2 - env: BRANCH=1.7.3.0 - - php: 7.1 env: BRANCH=1.7.4.0 - php: 7.2 @@ -83,11 +85,22 @@ jobs: env: BRANCH=1.7.5.x after_success: bash <(curl -s https://codecov.io/bash) -#deploy: -# skip_cleanup: true -# provider: script -# script: make -# on: -# php: 7.2 -# branch: master -# condition: "$DEPLOY = true" + - stage: deploy + before_script: skip + script: make build_archive + before_deploy: + - export VERSION=`cat VERSION` + - export ARCHIVE_NAME=/tmp/retailcrm-$VERSION.zip + - git config --local user.name "retailCRM" + - git config --local user.email "support@retailcrm.ru" + - export TRAVIS_TAG=v$VERSION + - git tag $TRAVIS_TAG + deploy: + provider: releases + token: $GITHUB_OAUTH_TOKEN + cleanup: false + file: $ARCHIVE_NAME + on: + condition: "$LAST_TAG != $CURRENT_VERSION" + if: branch = master AND type = push AND fork = false + after_deploy: make delete_archive diff --git a/Makefile b/Makefile index ff53cfc..0a58232 100644 --- a/Makefile +++ b/Makefile @@ -4,16 +4,12 @@ FILE = $(TRAVIS_BUILD_DIR)/VERSION VERSION = `cat $(FILE)` ARCHIVE_NAME = '/tmp/retailcrm-'$(VERSION)'.zip' -all: build_archive send_to_ftp delete_archive +.PHONY: build_archive delete_archive build_archive: zip -r $(ARCHIVE_NAME) ./retailcrm/* zip -r /tmp/retailcrm.zip ./retailcrm/* -send_to_ftp: - curl -T $(ARCHIVE_NAME) -u $(FTP_USER):$(FTP_PASSWORD) ftp://$(FTP_HOST) - curl -T /tmp/retailcrm.zip -u $(FTP_USER):$(FTP_PASSWORD) ftp://$(FTP_HOST) - delete_archive: rm -f $(ARCHIVE_NAME) rm -f /tmp/retailcrm.zip