2017-12-14 07:03:59 +08:00
#!/usr/bin/env bash
2017-12-14 07:38:12 +08:00
if [ " $TRAVIS " = "true" ] ; then
2017-12-14 07:03:59 +08:00
2018-02-04 03:16:37 +08:00
cd $TRAVIS_BUILD_DIR
2017-12-14 07:38:12 +08:00
if test " $TRAVIS_TAG " ; then
PKG_NAME = $TRAVIS_TAG
else
2018-02-04 03:39:39 +08:00
echo " On branch $TRAVIS_BRANCH "
2018-02-04 03:50:08 +08:00
2018-02-04 03:55:55 +08:00
if [ " $TRAVIS_BRANCH " != "master" ] && [ " $TRAVIS_BRANCH " != "dev" ] ; then
2018-02-04 03:50:08 +08:00
echo "Not on valid branch, exiting"
exit 0;
fi ;
2018-02-04 03:16:37 +08:00
BASE_VERSION = ` php artisan phpvms:version --base-only`
2018-02-04 03:39:39 +08:00
PKG_NAME = ${ BASE_VERSION } -${ TRAVIS_BRANCH }
2017-12-14 07:38:12 +08:00
fi
2017-12-14 07:25:14 +08:00
2018-02-03 05:20:21 +08:00
FILE_NAME = " phpvms- $PKG_NAME "
2018-01-20 21:50:10 +08:00
TAR_NAME = " $FILE_NAME .tar.gz "
2017-12-15 01:02:29 +08:00
echo " Writing $TAR_NAME "
2017-12-14 07:31:58 +08:00
2018-01-07 07:00:47 +08:00
php artisan phpvms:version --write > VERSION
2018-01-05 11:45:45 +08:00
VERSION = ` cat VERSION`
echo " Version: $VERSION "
2018-01-05 05:17:55 +08:00
2018-02-03 05:39:53 +08:00
echo "Cleaning files"
2018-02-04 03:16:37 +08:00
2018-05-06 23:01:02 +08:00
# Clean up the dependencies to remove some of the dev packages
composer remove \
--optimize-autoloader \
--no-interaction \
--update-with-dependencies \
phpstan/phpstan \
weebly/phpstan-laravel \
bpocallaghan/generators \
barryvdh/laravel-ide-helper
2018-03-27 03:48:01 +08:00
2018-02-04 03:16:37 +08:00
rm -rf env.php config.php
2018-01-05 04:58:01 +08:00
find ./vendor -type d -name ".git" -print0 | xargs rm -rf
2018-01-09 06:22:26 +08:00
find . -type d -name "sass-cache" -print0 | xargs rm -rf
2018-01-05 03:58:38 +08:00
2018-01-05 05:17:55 +08:00
# clear any app specific stuff that might have been loaded in
2018-01-05 05:37:28 +08:00
find storage/app/public -mindepth 1 -not -name '.gitignore' -print0 -exec rm -rf { } +
2018-03-27 04:26:47 +08:00
find storage/app -mindepth 1 -not -name '.gitignore' -not -name public -not -name import -print0 -exec rm -rf { } +
2018-01-05 05:17:55 +08:00
2018-01-05 03:58:38 +08:00
# Remove any development files
rm -rf .sass-cache
2017-12-15 01:37:26 +08:00
rm -rf .idea phpvms.iml .travis .dpl
2018-01-05 03:58:38 +08:00
rm -rf .phpstorm.meta.php _ide_helper.php phpunit.xml Procfile
2018-04-23 21:46:28 +08:00
rm -f phpstan.neon
2017-12-29 08:13:01 +08:00
# remove large sized files
rm -rf .git
2017-12-17 10:49:13 +08:00
rm -rf node_modules
2018-01-07 08:19:05 +08:00
rm -rf composer.phar
2017-12-29 07:45:57 +08:00
# delete files in vendor that are rather large
rm -rf vendor/willdurand/geocoder/tests
2018-05-06 23:01:02 +08:00
make clean
2017-12-15 01:37:26 +08:00
echo "creating tarball"
2017-12-18 02:18:11 +08:00
cd /tmp
2018-01-05 05:22:32 +08:00
tar -czf $TAR_NAME -C $TRAVIS_BUILD_DIR /../ phpvms
2018-02-03 05:39:53 +08:00
sha256sum $TAR_NAME > " $TAR_NAME .sha256 "
2017-12-14 07:25:14 +08:00
2018-01-17 14:15:37 +08:00
echo "uploading to s3"
2018-02-03 05:39:53 +08:00
mkdir -p $TRAVIS_BUILD_DIR /build
cd $TRAVIS_BUILD_DIR /build
mv " /tmp/ $TAR_NAME " " /tmp/ $TAR_NAME .sha256 " .
2018-01-20 22:11:53 +08:00
artifacts upload --target-paths "/" $TAR_NAME $TRAVIS_BUILD_DIR /VERSION $TAR_NAME .sha256
2018-01-05 11:45:45 +08:00
2018-03-27 04:07:24 +08:00
# Upload the version for a tagged release. Move to a version file in different
# tags. Within phpVMS, we have an option of which version to track in the admin
if test " $TRAVIS_TAG " ; then
2018-03-27 04:20:25 +08:00
echo "uploading release version file"
cp " $TRAVIS_BUILD_DIR /VERSION " release_version
artifacts upload --target-paths "/" release_version
2018-03-27 04:07:24 +08:00
else
2018-03-27 04:28:28 +08:00
echo " uploading ${ TRAVIS_BRANCH } _version file "
2018-03-27 04:26:47 +08:00
cp $TRAVIS_BUILD_DIR /VERSION ${ TRAVIS_BRANCH } _version
artifacts upload --target-paths "/" ${ TRAVIS_BRANCH } _version
2018-03-27 04:07:24 +08:00
fi
2018-01-17 14:15:37 +08:00
curl -X POST --data " {\"content\": \"A new build is available at http://downloads.phpvms.net/ $TAR_NAME ( $VERSION )\"} " -H "Content-Type: application/json" $DISCORD_WEBHOOK_URL
2017-12-14 07:25:14 +08:00
fi