zammad/script/build/deploy_archives.sh

61 lines
1.7 KiB
Bash
Executable file

#!/bin/bash
set -e
TEMPDIR=$(mktemp -d)
trap 'rm -rf $TEMPDIR' EXIT
# Publish only for commits in 'stable' and for release tags (e.g. 5.4.1).
if [ "$CI_COMMIT_TAG" ]
then
if [[ "$CI_COMMIT_TAG" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]
then
echo "Tag $CI_COMMIT_TAG found, proceeding with the build."
else
echo "Commit for an unsupported tag name found, aborting."
exit 0 # Can happen, don't throw an error.
fi
else
if [ "$CI_COMMIT_BRANCH" == 'stable' ]
then
echo "Commit for the stable branch found, proceeding with the build."
else
echo "Push for a branch other than stable found, aborting."
exit 1 # Should not happen with correct CI config, raise an error.
fi
fi
script/build/cleanup.sh
( find . -type d -name ".git" \
&& find . -name ".gitignore" \
&& find . -name ".gitkeep" \
&& find . -name ".gitmodules" ) | xargs rm -rf
echo "Building archives…"
tar -czf "${TEMPDIR}/zammad-latest.tar.gz" . > /dev/null
tar -cjf "${TEMPDIR}/zammad-latest.tar.bz2" . > /dev/null
zip -r "${TEMPDIR}/zammad-latest.zip" . > /dev/null
if [ "$CI_COMMIT_TAG" ]
then
cp "${TEMPDIR}/zammad-latest.tar.gz" "${TEMPDIR}/zammad-${CI_COMMIT_TAG}.tar.gz"
cp "${TEMPDIR}/zammad-latest.tar.bz2" "${TEMPDIR}/zammad-${CI_COMMIT_TAG}.tar.bz2"
cp "${TEMPDIR}/zammad-latest.zip" "${TEMPDIR}/zammad-${CI_COMMIT_TAG}.zip"
fi
echo '#'
echo "# MD5 sums for the release notes"
echo "#"
(cd "$TEMPDIR"; md5sum -- *; echo '#'; ls -lah -- *; echo '#')
#
# Upload to FTP Server
#
if [ -z "$FTP_ZAMMAD_COM_SCP_TARGET" ]
then
echo "Error: the required environment variable FTP_ZAMMAD_COM_SCP_TARGET is missing."
exit 1
fi
echo "Upload files to ${FTP_ZAMMAD_COM_SCP_TARGET}"
scp "$TEMPDIR"/* "$FTP_ZAMMAD_COM_SCP_TARGET"