2018-05-19 20:42:12 +00:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
## Documentation publishing preparation script for Travis CI integration
|
|
|
|
##
|
|
|
|
## Copyright (c) 2012-2014 Sylvain Benner
|
|
|
|
## Copyright (c) 2014-2018 Sylvain Benner & Contributors
|
|
|
|
##
|
|
|
|
## Author: Eugene Yaremenko
|
|
|
|
## URL: https://github.com/syl20bnr/spacemacs
|
|
|
|
##
|
|
|
|
## This file is not part of GNU Emacs.
|
|
|
|
##
|
|
|
|
## License: GPLv3
|
|
|
|
|
2018-10-13 08:47:20 +00:00
|
|
|
fold_start() {
|
|
|
|
echo -e "travis_fold:start:$1\033[33;1m$2\033[0m"
|
2018-05-19 20:42:12 +00:00
|
|
|
}
|
|
|
|
|
2018-10-13 08:47:20 +00:00
|
|
|
fold_end() {
|
|
|
|
echo -e "\ntravis_fold:end:$1\r"
|
|
|
|
}
|
|
|
|
|
2018-10-13 12:25:52 +00:00
|
|
|
mkdir -p ~/.ssh
|
|
|
|
printf "Host github.com\n" > ~/.ssh/config
|
|
|
|
printf " StrictHostKeyChecking no\n" >> ~/.ssh/config
|
|
|
|
printf " UserKnownHostsFile=/dev/null\n" >> ~/.ssh/config
|
|
|
|
|
2019-12-05 10:37:00 +00:00
|
|
|
git config --global user.name "${BOT_NAME}"
|
|
|
|
git config --global user.email "${BOT_EMAIL}"
|
|
|
|
git config --global push.default simple
|
|
|
|
git config --global hub.protocol https
|
|
|
|
export GITHUB_TOKEN=$BOT_TK
|
|
|
|
|
2019-12-09 20:47:10 +00:00
|
|
|
git remote update
|
2019-12-09 21:28:20 +00:00
|
|
|
base_revision=$(git rev-parse '@')
|
|
|
|
echo $base_revision > /tmp/base_revision
|
|
|
|
echo "Base revision $base_revision"
|
2019-12-09 20:47:10 +00:00
|
|
|
|
2018-10-13 08:47:20 +00:00
|
|
|
fold_start "FORMATTING_DOCUMENTATION"
|
2019-04-26 14:40:29 +00:00
|
|
|
docker run --rm \
|
|
|
|
-v "${TRAVIS_BUILD_DIR}/.ci/spacedoc-cfg.edn":/opt/spacetools/spacedoc-cfg.edn \
|
|
|
|
-v "${TRAVIS_BUILD_DIR}":/tmp/docs/ \
|
2018-10-13 08:47:20 +00:00
|
|
|
jare/spacetools docfmt /tmp/docs/
|
|
|
|
if [ $? -ne 0 ]; then
|
|
|
|
echo "Formatting failed."
|
|
|
|
exit 2
|
|
|
|
fi
|
|
|
|
fold_end "FORMATTING_DOCUMENTATION"
|
|
|
|
|
2019-12-05 10:37:00 +00:00
|
|
|
fold_start "CREATING_DOCUMENTATION_PATCH_FILE"
|
|
|
|
git add --all
|
|
|
|
git commit -m "documentation formatting: $(date -u)"
|
|
|
|
if [ $? -ne 0 ]; then
|
2019-12-05 11:53:57 +00:00
|
|
|
echo "Documentation doesn't need fixes."
|
|
|
|
else
|
|
|
|
git format-patch -1 HEAD --stdout > /tmp/docfmt.patch
|
2019-12-09 21:01:48 +00:00
|
|
|
if [ $? -ne 0 ]; then
|
|
|
|
echo "Failed to create patch file."
|
|
|
|
fi
|
2019-12-05 11:53:57 +00:00
|
|
|
cat /tmp/docfmt.patch
|
2019-12-05 10:37:00 +00:00
|
|
|
fi
|
|
|
|
fold_end "CREATING_DOCUMENTATION_PATCH_FILE"
|
|
|
|
|
2018-05-19 20:42:12 +00:00
|
|
|
rm -rf ~/.emacs.d
|
|
|
|
mv "${TRAVIS_BUILD_DIR}" ~/.emacs.d
|
|
|
|
cd ~/.emacs.d
|
2018-10-13 08:47:20 +00:00
|
|
|
cp ./.travisci/.spacemacs ~/
|
|
|
|
ln -sf ~/.emacs.d "${TRAVIS_BUILD_DIR}"
|
2018-05-19 20:42:12 +00:00
|
|
|
|
2018-10-13 08:47:20 +00:00
|
|
|
fold_start "INSTALLING_DEPENDENCIES"
|
2019-11-06 09:04:43 +00:00
|
|
|
docker run --rm \
|
|
|
|
-v "${TRAVIS_BUILD_DIR}:/root/.emacs.d" \
|
|
|
|
-v "${TRAVIS_BUILD_DIR}/.travisci/.spacemacs:/root/.spacemacs" \
|
|
|
|
--entrypoint emacs \
|
|
|
|
jare/spacetools -batch -l /root/.emacs.d/init.el
|
2018-05-19 20:42:12 +00:00
|
|
|
if [ $? -ne 0 ]; then
|
|
|
|
echo "Dependencies installation failed."
|
|
|
|
exit 2
|
|
|
|
fi
|
2018-10-13 08:47:20 +00:00
|
|
|
fold_end "INSTALLING_DEPENDENCIES"
|
2018-05-19 20:42:12 +00:00
|
|
|
|
2019-05-07 10:40:06 +00:00
|
|
|
fold_start "EXPORTING_DOCUMENTATION"
|
2019-11-06 09:04:43 +00:00
|
|
|
docker run --rm \
|
|
|
|
-v "${TRAVIS_BUILD_DIR}:/root/.emacs.d" \
|
|
|
|
-v "${TRAVIS_BUILD_DIR}/.travisci/.spacemacs:/root/.spacemacs" \
|
|
|
|
--entrypoint emacs \
|
|
|
|
jare/spacetools -batch \
|
|
|
|
-l /root/.emacs.d/init.el \
|
2019-11-08 13:13:07 +00:00
|
|
|
-l /root/.emacs.d/core/core-documentation.el \
|
2019-11-06 09:04:43 +00:00
|
|
|
-f spacemacs/publish-doc
|
2019-05-07 10:40:06 +00:00
|
|
|
if [ $? -ne 0 ]; then
|
|
|
|
echo "spacemacs/publish-doc failed"
|
|
|
|
exit 2
|
|
|
|
fi
|
|
|
|
fold_end "EXPORTING_DOCUMENTATION"
|
2018-10-13 08:47:20 +00:00
|
|
|
|
|
|
|
fold_start "INSTALLING_HUB"
|
2018-10-13 21:30:03 +00:00
|
|
|
hub_version="2.5.1"
|
2018-10-13 08:47:20 +00:00
|
|
|
hub_url="https://github.com/github/hub/releases/download/"
|
|
|
|
hub_url+="v${hub_version}/hub-linux-amd64-${hub_version}.tgz"
|
|
|
|
curl -L $hub_url | tar \
|
|
|
|
--strip-components=2 \
|
|
|
|
-xz \
|
|
|
|
--wildcards \
|
|
|
|
-C /tmp/ \
|
|
|
|
"*hub"
|
|
|
|
if [ $? -ne 0 ]; then
|
|
|
|
echo "Hub installation failed."
|
|
|
|
exit 2
|
|
|
|
fi
|
|
|
|
fold_end "INSTALLING_HUB"
|