diff --git a/.github/workflows/cov.yml b/.github/workflows/cov.yml index 2c050efd..4eee0536 100644 --- a/.github/workflows/cov.yml +++ b/.github/workflows/cov.yml @@ -6,6 +6,9 @@ on: - master - develop paths-ignore: + - '.github/workflows/doc.yml' + - '.github/workflows/fast.yml' + - '.github/workflows/slow.yml' - 'doc/**' - 'examples/**' - '*.md' diff --git a/.github/workflows/doc.yml b/.github/workflows/doc.yml new file mode 100644 index 00000000..094cbde0 --- /dev/null +++ b/.github/workflows/doc.yml @@ -0,0 +1,65 @@ +name: Documentation + +on: + pull_request: + branches: + - master + - develop + paths-ignore: + - '.github/workflows/cov.yml' + - '.github/workflows/fast.yml' + - '.github/workflows/slow.yml' + - 'tools/**' + - '*.md' + +concurrency: + group: ${{ github.workflow }}-${{ github.head_ref }} + cancel-in-progress: true + +jobs: + gcc: + runs-on: ubuntu-latest + steps: + - uses: actions/setup-python@v5 + with: + python-version: '3.12' + + - name: Install docbook dependencies + run: | + sudo apt-get update + sudo apt-get install -y docbook-xsl docbook-xml xsltproc doxygen + + - name: Create user-config.jam + run: | + echo "using xsltproc ;" > $HOME/user-config.jam + echo "using boostbook : /usr/share/xml/docbook/stylesheet/nwalsh : /usr/share/xml/docbook/schema/dtd/4.2 ;" >> $HOME/user-config.jam + echo "using doxygen : /usr/bin/doxygen ;" >> $HOME/user-config.jam + echo "using python : 3.12 : /usr/bin/python3 ; " >> $HOME/user-config.jam + + - uses: actions/checkout@v4 + + - name: Fetch Boost superproject + run: | + cd .. + git clone -b $GITHUB_BASE_REF --depth 5 https://github.com/boostorg/boost.git + cd boost + mv -f $GITHUB_WORKSPACE/* libs/histogram + git submodule update --init --depth 5 tools/build tools/boostdep tools/quickbook tools/boostbook + python tools/boostdep/depinst/depinst.py --git_args "--depth 5 --jobs 3" histogram + python tools/boostdep/depinst/depinst.py --git_args "--depth 5 --jobs 3" ../tools/quickbook + mv -f * $GITHUB_WORKSPACE + + - name: Prepare b2 + run: ./bootstrap.sh + + - name: Build documentation + run: | + cd libs/histogram + ../../b2 doc + + - name: Upload documentation + uses: actions/upload-artifact@v4 + with: + name: histogram-docs + path: libs/histogram/doc/html + if-no-files-found: error diff --git a/.github/workflows/fast.yml b/.github/workflows/fast.yml index 61841587..25831870 100644 --- a/.github/workflows/fast.yml +++ b/.github/workflows/fast.yml @@ -1,4 +1,4 @@ -name: Fast +name: Fast tests (cmake) on: pull_request: @@ -6,6 +6,9 @@ on: - master - develop paths-ignore: + - '.github/workflows/cov.yml' + - '.github/workflows/doc.yml' + - '.github/workflows/slow.yml' - 'doc/**' - 'examples/**' - 'tools/**' diff --git a/.github/workflows/slow.yml b/.github/workflows/slow.yml index b1f5a0b5..93f9cdfa 100644 --- a/.github/workflows/slow.yml +++ b/.github/workflows/slow.yml @@ -1,4 +1,4 @@ -name: Slow +name: Slow tests (b2) on: pull_request: @@ -6,6 +6,9 @@ on: - master - develop paths-ignore: + - '.github/workflows/cov.yml' + - '.github/workflows/doc.yml' + - '.github/workflows/fast.yml' - 'doc/**' - 'tools/**' - '*.md' @@ -19,7 +22,6 @@ env: UBSAN_OPTIONS: print_stacktrace=1 LSAN_OPTIONS: verbosity=1:log_threads=1 ASAN_OPTIONS: detect_leaks=1:detect_stack_use_after_return=1 - COVERALLS_TOKEN: ${{ secrets.COVERALLS_TOKEN }} jobs: appleclang: