bash error handling and reporting is atrocious. Without -e it will just ignore errors. With -e it will stop on errors, but not report where the error happened (apart from exiting itself with an error code). Improve that with the `trap ERR` command. Note that this won't be invoked on intentional error exit with `exit 1`. We apply this on every bash script that contains -e or that it appears trivial to set it in. Non-trivial scripts without -e are left unmodified, since they might intentionally invoke failing scripts. Closes scylladb/scylladb#22747
23 lines
504 B
Bash
Executable File
23 lines
504 B
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
set -e
|
|
|
|
trap 'echo "error $? in $0 line $LINENO"' ERR
|
|
|
|
# Copy contents
|
|
mkdir gh-pages
|
|
cp -r ./docs/_build/dirhtml/. gh-pages
|
|
|
|
# Create gh-pages branch
|
|
cd gh-pages
|
|
git init
|
|
git config --local user.email "action@scylladb.com"
|
|
git config --local user.name "GitHub Action"
|
|
git remote add origin "https://x-access-token:${GITHUB_TOKEN}@github.com/${GITHUB_REPOSITORY}.git"
|
|
git checkout -b gh-pages
|
|
|
|
# Deploy
|
|
git add .
|
|
git commit -m "Publish docs" || true
|
|
git push origin gh-pages --force
|