blob: c5f71fd21882d8717c335a3dccf1566f5b4057dc [file] [log] [blame]
set -eux
if [ "$GITHUB_REPOSITORY" == "google/dagger" ] && \
[ "$GITHUB_EVENT_NAME" == "push" ] && \
[ "$GITHUB_REF" == "refs/heads/master" ]; then
echo -e "Publishing javadoc...\n"
bazel build //:user-docs.jar
JAVADOC_JAR="$(pwd)/bazel-bin/user-docs.jar"
cd $HOME
git clone --quiet --branch=gh-pages https://x-access-token:${GH_TOKEN}@github.com/google/dagger gh-pages > /dev/null
cd gh-pages
git config --global user.email "dagger-dev+github@google.com"
git config --global user.name "Dagger Team"
git rm -rf api/latest
mkdir -p api
unzip "$JAVADOC_JAR" -d api/latest
rm -rf api/latest/META-INF/
git add -f api/latest
# Check if there are any changes before committing, otherwise attempting
# to commit will fail the build (https://stackoverflow.com/a/2659808).
if [[ $(git diff-index --quiet HEAD --) || $? == 1 ]]; then
# The exist status is 1, meaning there are changes to commit
git commit -m "Latest javadoc on successful Github build $GITHUB_WORKFLOW/$GITHUB_RUN_ID auto-pushed to gh-pages"
git push -fq origin gh-pages > /dev/null
echo -e "Published Javadoc to gh-pages.\n"
else
# The exist status is 0, meaning there are no changes to commit
echo -e "Skipping publishing docs since no changes were detected."
fi
else
echo -e "Not publishing docs for branch=${$GITHUB_REF}"
fi