• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1name: Docs
2
3on:
4  push:
5    branches:
6      - main
7      - '*-1.0'
8      - 'dev-*'
9    paths:
10      - '.github/**'
11      - '*gradle*'
12      - 'docs/**'
13      - 'gradle/**'
14  pull_request:
15    branches:
16      - main
17      - '*-1.0'
18      - 'dev-*'
19    paths:
20      - '.github/**'
21      - '*gradle*'
22      - 'docs/**'
23      - 'gradle/**'
24
25jobs:
26  # Runs on PRs and push to ensure the documentation successfully builds.
27  build:
28    name: Build Documentation
29    runs-on: ubuntu-latest
30    env:
31      JAVA_VERSION: 22
32    steps:
33      - name: Check out project
34        uses: actions/checkout@v4
35
36      - name: Set up Java
37        uses: actions/setup-java@v4
38        with:
39          distribution: temurin
40          java-version: ${{ env.JAVA_VERSION }}
41
42      - name: Set up Gradle
43        uses: gradle/actions/setup-gradle@v3
44
45      - name: Build docs
46        run: ./gradlew buildDocs
47
48      - name: Upload artifact
49        uses: actions/upload-pages-artifact@v3
50        with:
51          path: docs/build
52
53  # Deploys the documentation if this is a push to the main branch.
54  deploy:
55    name: Deploy Documentation
56    if: github.event_name == 'push' && github.ref == 'refs/heads/main'
57    needs: build
58    runs-on: ubuntu-latest
59
60    # Grant GITHUB_TOKEN the permissions required to make a Pages deployment
61    permissions:
62      pages: write      # to deploy to Pages
63      id-token: write   # to verify the deployment originates from an appropriate source
64
65    # Deploy to the github-pages environment
66    environment:
67      name: github-pages
68      url: ${{ steps.deployment.outputs.page_url }}
69
70    steps:
71      - name: Deploy to GitHub Pages
72        id: deployment
73        uses: actions/deploy-pages@v4
74