xref: /aosp_15_r20/external/dagger2/util/generate-latest-docs.sh (revision f585d8a307d0621d6060bd7e80091fdcbf94fe27)
1*f585d8a3SJacky Wangset -eux
2*f585d8a3SJacky Wang
3*f585d8a3SJacky Wangif [ "$GITHUB_REPOSITORY" == "google/dagger" ] && \
4*f585d8a3SJacky Wang   [ "$GITHUB_EVENT_NAME" == "push" ] && \
5*f585d8a3SJacky Wang   [ "$GITHUB_REF" == "refs/heads/master" ]; then
6*f585d8a3SJacky Wang  echo -e "Publishing javadoc...\n"
7*f585d8a3SJacky Wang  bazel build //:user-docs.jar
8*f585d8a3SJacky Wang  JAVADOC_JAR="$(pwd)/bazel-bin/user-docs.jar"
9*f585d8a3SJacky Wang
10*f585d8a3SJacky Wang  cd $HOME
11*f585d8a3SJacky Wang  git clone --quiet --branch=gh-pages https://x-access-token:${GH_TOKEN}@github.com/google/dagger gh-pages > /dev/null
12*f585d8a3SJacky Wang
13*f585d8a3SJacky Wang  cd gh-pages
14*f585d8a3SJacky Wang  git config --global user.email "[email protected]"
15*f585d8a3SJacky Wang  git config --global user.name "Dagger Team"
16*f585d8a3SJacky Wang  git rm -rf api/latest
17*f585d8a3SJacky Wang  mkdir -p api
18*f585d8a3SJacky Wang  unzip "$JAVADOC_JAR" -d api/latest
19*f585d8a3SJacky Wang  rm -rf api/latest/META-INF/
20*f585d8a3SJacky Wang  git add -f api/latest
21*f585d8a3SJacky Wang
22*f585d8a3SJacky Wang  # Check if there are any changes before committing, otherwise attempting
23*f585d8a3SJacky Wang  # to commit will fail the build (https://stackoverflow.com/a/2659808).
24*f585d8a3SJacky Wang  if [[ $(git diff-index --quiet HEAD --) || $? == 1 ]]; then
25*f585d8a3SJacky Wang    # The exist status is 1, meaning there are changes to commit
26*f585d8a3SJacky Wang    git commit -m "Latest javadoc on successful Github build $GITHUB_WORKFLOW/$GITHUB_RUN_ID auto-pushed to gh-pages"
27*f585d8a3SJacky Wang    git push -fq origin gh-pages > /dev/null
28*f585d8a3SJacky Wang    echo -e "Published Javadoc to gh-pages.\n"
29*f585d8a3SJacky Wang  else
30*f585d8a3SJacky Wang    # The exist status is 0, meaning there are no changes to commit
31*f585d8a3SJacky Wang    echo -e "Skipping publishing docs since no changes were detected."
32*f585d8a3SJacky Wang  fi
33*f585d8a3SJacky Wangelse
34*f585d8a3SJacky Wang  echo -e "Not publishing docs for branch=${$GITHUB_REF}"
35*f585d8a3SJacky Wangfi
36