|
@@ -1,29 +1,61 @@
|
|
|
#!/bin/bash
|
|
|
|
|
|
-set -ex
|
|
|
-
|
|
|
-if [ "$CI_BUILD_REF_NAME" != "$CI_BUILD_TAG" ]; then
|
|
|
- echo 'deploy archives only for tag releases'
|
|
|
- exit 0
|
|
|
+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
|
|
|
|
|
|
-# cleanup
|
|
|
-cleanup.sh
|
|
|
+script/build/cleanup.sh
|
|
|
|
|
|
( find . -type d -name ".git" \
|
|
|
&& find . -name ".gitignore" \
|
|
|
&& find . -name ".gitkeep" \
|
|
|
&& find . -name ".gitmodules" ) | xargs rm -rf
|
|
|
|
|
|
-# tar.gz
|
|
|
-tar -czf /tmp/zammad-${CI_BUILD_TAG}.tar.gz .
|
|
|
-
|
|
|
-# tar.bz2
|
|
|
-tar -cjf /tmp/zammad-${CI_BUILD_TAG}.tar.bz2 .
|
|
|
+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
|
|
|
|
|
|
-# zip
|
|
|
-zip -r /tmp/zammad-${CI_BUILD_TAG}.zip ./*
|
|
|
+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
|
|
|
|
|
|
-# publish
|
|
|
-scp /tmp/zammad-${CI_BUILD_TAG}.tar.* $ARCHIVE_SCP_TARGET
|
|
|
-scp /tmp/zammad-${CI_BUILD_TAG}.zip $ARCHIVE_SCP_TARGET
|
|
|
+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"
|