# This workflow builds the documentation for the repository, and publishes it to # GitHub Pages when changes are merged into the default branch. name: Build and publish documentation on: push: paths: - '.github/workflows/publish-docs.yml' - '*.md' - '**/*.md' - 'docs/**' - 'include/**' - 'src/libxrpl/**' - 'src/xrpld/**' concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true defaults: run: shell: bash env: BUILD_DIR: .build jobs: publish: runs-on: ubuntu-latest container: ghcr.io/xrplf/ci/tools-rippled-documentation steps: - name: Checkout repository uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0 - name: Check configuration run: | echo 'Checking path.' echo ${PATH} | tr ':' '\n' echo 'Checking environment variables.' env | sort echo 'Checking CMake version.' cmake --version echo 'Checking Doxygen version.' doxygen --version - name: Build documentation run: | mkdir -p ${{ env.BUILD_DIR }} cd ${{ env.BUILD_DIR }} cmake -Donly_docs=ON .. cmake --build . --target docs --parallel $(nproc) - name: Publish documentation if: ${{ github.ref_type == 'branch' && github.ref_name == github.event.repository.default_branch }} uses: peaceiris/actions-gh-pages@4f9cc6602d3f66b9c108549d475ec49e8ef4d45e # v4.0.0 with: github_token: ${{ secrets.GITHUB_TOKEN }} publish_dir: ${{ env.BUILD_DIR }}/docs/html