Skip to content

Commit

Permalink
Move doc generate from travis to GitHub actions
Browse files Browse the repository at this point in the history
PiperOrigin-RevId: 348115958
  • Loading branch information
cushon authored and Error Prone Team committed Dec 18, 2020
1 parent b61a7df commit 0a62f7c
Show file tree
Hide file tree
Showing 3 changed files with 48 additions and 30 deletions.
24 changes: 24 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -84,3 +84,27 @@ jobs:
CI_DEPLOY_USERNAME: ${{ secrets.CI_DEPLOY_USERNAME }}
CI_DEPLOY_PASSWORD: ${{ secrets.CI_DEPLOY_PASSWORD }}
run: mvn source:jar deploy -B -DskipTests=true -Dinvoker.skip=true -Dmaven.javadoc.skip=true

generate_docs:
name: 'Generate latest docs'
needs: test
if: github.event_name == 'push' && github.repository == 'google/error-prone' && github.ref == 'refs/heads/master'
runs-on: ubuntu-latest
steps:
- name: 'Check out repository'
uses: actions/checkout@v2
- name: 'Cache local Maven repository'
uses: actions/cache@v2
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
- name: 'Set up JDK 11'
uses: actions/setup-java@v1
with:
java-version: 11
- name: 'Generate latest docs'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: ./util/generate-latest-docs.sh
1 change: 0 additions & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,6 @@ env:

after_success:
- util/publish-snapshot-on-commit.sh
- util/generate-latest-docs.sh

# https://docs.travis-ci.com/user/web-ui/#build-pushed-branches
# safelist
Expand Down
53 changes: 24 additions & 29 deletions util/generate-latest-docs.sh
Original file line number Diff line number Diff line change
Expand Up @@ -16,38 +16,33 @@

set -eu

if [ "$TRAVIS_REPO_SLUG" == "google/error-prone" ] && \
[ "$TRAVIS_JDK_VERSION" == "openjdk15" ] && \
[ "$TRAVIS_PULL_REQUEST" == "false" ] && \
[ "$TRAVIS_BRANCH" == "master" ]; then
echo -e "Publishing docs...\n"
echo -e "Publishing docs...\n"

GH_PAGES_DIR=$HOME/gh-pages
GH_PAGES_DIR=$HOME/gh-pages

git clone --quiet --branch=gh-pages https://${GH_TOKEN}@github.com/google/error-prone $GH_PAGES_DIR > /dev/null
(
cd $GH_PAGES_DIR
rm -rf _data/bugpatterns.yaml api/latest
mkdir -p _data api/latest
)
git clone --quiet --branch=gh-pages https://${GH_TOKEN}@github.com/google/error-prone $GH_PAGES_DIR > /dev/null
(
cd $GH_PAGES_DIR
rm -rf _data/bugpatterns.yaml api/latest
mkdir -p _data api/latest
)

mvn -P '!examples' javadoc:aggregate
rsync -a target/site/apidocs/ ${GH_PAGES_DIR}/api/latest
mvn -P '!examples' javadoc:aggregate
rsync -a target/site/apidocs/ ${GH_PAGES_DIR}/api/latest

# The "mvn clean" is necessary since the wiki docs are generated by an
# annotation processor that also compiles the code. If Maven thinks the code
# does not need to be recompiled, the wiki docs will not be generated either.
mvn clean
# The "mvn clean" is necessary since the wiki docs are generated by an
# annotation processor that also compiles the code. If Maven thinks the code
# does not need to be recompiled, the wiki docs will not be generated either.
mvn clean

mvn -P run-annotation-processor compile site
rsync -a docgen/target/generated-wiki/ ${GH_PAGES_DIR}
mvn -P run-annotation-processor compile site
rsync -a docgen/target/generated-wiki/ ${GH_PAGES_DIR}

cd $GH_PAGES_DIR
git add --all .
git config --global user.name "travis-ci"
git config --global user.email "[email protected]"
git commit -m "Latest docs on successful travis build $TRAVIS_BUILD_NUMBER auto-pushed to gh-pages"
git push -fq origin gh-pages > /dev/null

echo -e "Published docs to gh-pages.\n"
fi
cd $GH_PAGES_DIR
git add --all .
git config --global user.name "travis-ci"
git config --global user.email "[email protected]"
git commit -m "Latest docs on successful travis build $TRAVIS_BUILD_NUMBER auto-pushed to gh-pages"
git push -fq origin gh-pages > /dev/null

echo -e "Published docs to gh-pages.\n"

0 comments on commit 0a62f7c

Please sign in to comment.