Create CI job that renders Dispatch documentation
@@ -232,6 +232,67 @@ jobs:
path: |
**/core
+ docs:
+ name: 'Docs (${{ matrix.os }})'
+ runs-on: ${{ matrix.os }}
+ strategy:
+ matrix:
+ os: [ ubuntu-20.04 ]
+ buildType: [ RelWithDebInfo ]
+ env:
+ DispatchBuildDir: ${{github.workspace}}/build
+ InstallPrefix: ${{github.workspace}}/install
+ DispatchCMakeExtraArgs: >
+ -DCONSOLE_INSTALL=OFF
+ steps:
+
+ - uses: actions/checkout@v2
+
+ - name: Create Build and Install directories
+ run: mkdir -p "${DispatchBuildDir}" "{InstallPrefix}"
+
+ - name: Add Qpid PPA repository
+ if: ${{ runner.os == 'Linux' }}
+ # the `released` ppa does not yet have Proton 0.33.0, have to use `testing`
+ run: |
+ sudo add-apt-repository ppa:qpid/testing && sudo apt-get update
+
+ - name: Install Linux build dependencies
+ if: ${{ runner.os == 'Linux' }}
+ run: |
+ sudo apt install -y libqpid-proton-proactor1-dev python3-qpid-proton libpython3-dev libwebsockets-dev libnghttp2-dev
+
+ - name: "Workaround for: make[3]: *** No rule to make target '/usr/lib/x86_64-linux-gnu/libqpid-proton-core.so', needed by 'src/libqpid-dispatch.so'. Stop."
+ if: ${{ runner.os == 'Linux' }}
+ run: sudo ln -s /usr/lib/x86_64-linux-gnu/libqpid-proton-core.so.10 /usr/lib/x86_64-linux-gnu/libqpid-proton-core.so
+
+ - name: Install Linux docs dependencies
+ if: ${{ runner.os == 'Linux' }}
+ run: |
+ sudo apt install -y asciidoc asciidoctor dblatex
+
+ - name: qpid-dispatch cmake configure
+ working-directory: ${{env.DispatchBuildDir}}
+ run: >
+ cmake "${{github.workspace}}" \
+ "-DCMAKE_INSTALL_PREFIX=${InstallPrefix}" \
+ ${DispatchCMakeExtraArgs}
+
+ - name: CMake build for docs
+ run: cmake --build "${DispatchBuildDir}" -t docs
+
+ - name: Store the rendered user-guide
+ uses: actions/upload-artifact@v2
+ with:
+ name: UserGuide
+ path: ${{env.DispatchBuildDir}}/docs/books/user-guide
+
+ - name: Store the rendered html man pages
+ uses: actions/upload-artifact@v2
+ with:
+ name: Manpages
+ path: ${{env.DispatchBuildDir}}/docs/man/*.html
+
console-test:
name: Console Tests
runs-on: ubuntu-latest
