diff --git a/.github/workflows/documentation.yml b/.github/workflows/documentation.yml new file mode 100644 index 0000000000..cdeb44dbda --- /dev/null +++ b/.github/workflows/documentation.yml @@ -0,0 +1,53 @@ +name: Documentation + +on: [push, workflow_dispatch] + +env: + BASE_PATH: allwpilib/docs + +jobs: + publish: + name: "Documentation - Publish" + runs-on: ubuntu-latest + if: github.repository_owner == 'wpilibsuite' + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - uses: actions/setup-java@v1 + with: + java-version: 13 + - name: Set environment variables (Development) + run: | + echo "TARGET_FOLDER=$BASE_PATH/development" >> $GITHUB_ENV + if: github.ref == 'refs/heads/master' + - name: Set environment variables (Tag) + run: | + echo "EXTRA_GRADLE_ARGS=-PreleaseMode" >> $GITHUB_ENV + echo "TARGET_FOLDER=$BASE_PATH/beta" >> $GITHUB_ENV + if: startsWith(github.ref, 'refs/tags/v') + - name: Set environment variables (Release) + run: | + echo "EXTRA_GRADLE_ARGS=-PreleaseMode" >> $GITHUB_ENV + echo "TARGET_FOLDER=$BASE_PATH/release" >> $GITHUB_ENV + if: startsWith(github.ref, 'refs/tags/v') && !contains(github.ref, 'alpha') && !contains(github.ref, 'beta') + - name: Build with Gradle + run: ./gradlew docs:generateJavaDocs docs:doxygen -PbuildServer ${{ env.EXTRA_GRADLE_ARGS }} + - name: Deploy Java 🚀 + uses: JamesIves/github-pages-deploy-action@3.7.1 + with: + ACCESS_TOKEN: ${{ secrets.GH_PAT }} + REPOSITORY_NAME: wpilibsuite/wpilibsuite.github.io + BRANCH: main + CLEAN: true + FOLDER: docs/build/docs/javadoc + TARGET_FOLDER: ${{ env.TARGET_FOLDER }}/java + - name: Deploy C++ 🚀 + uses: JamesIves/github-pages-deploy-action@3.7.1 + with: + ACCESS_TOKEN: ${{ secrets.GH_PAT }} + REPOSITORY_NAME: wpilibsuite/wpilibsuite.github.io + BRANCH: main + CLEAN: true + FOLDER: docs/build/docs/doxygen/html + TARGET_FOLDER: ${{ env.TARGET_FOLDER }}/cpp