From cb5e9e9404798eaf61a611bfb7ff354b9965ee7b Mon Sep 17 00:00:00 2001 From: Oliver Ruebel Date: Sat, 3 Aug 2024 17:24:14 -0700 Subject: [PATCH 01/26] Add action to deploy docs via GitHub pages --- .github/workflows/doxygen-gh-pages.yml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 .github/workflows/doxygen-gh-pages.yml diff --git a/.github/workflows/doxygen-gh-pages.yml b/.github/workflows/doxygen-gh-pages.yml new file mode 100644 index 00000000..53d06b25 --- /dev/null +++ b/.github/workflows/doxygen-gh-pages.yml @@ -0,0 +1,17 @@ +name: Doxygen GitHub Pages Deploy Action + +on: + push: + branches: + - main + +jobs: + deploy: + runs-on: ubuntu-latest + steps: + - uses: DenverCoder1/doxygen-github-pages-action@v1.3.1 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + branch: gh-pages + folder: docs/html + config_file: Doxyfile From 9769d272f38baaf96c67dd4bb30234cffaaed61e Mon Sep 17 00:00:00 2001 From: Oliver Ruebel Date: Sat, 3 Aug 2024 17:34:28 -0700 Subject: [PATCH 02/26] Test running the action on this branch --- .github/workflows/doxygen-gh-pages.yml | 3 ++- README.md | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/doxygen-gh-pages.yml b/.github/workflows/doxygen-gh-pages.yml index 53d06b25..8fa20a2d 100644 --- a/.github/workflows/doxygen-gh-pages.yml +++ b/.github/workflows/doxygen-gh-pages.yml @@ -4,6 +4,7 @@ on: push: branches: - main + pull_request: jobs: deploy: @@ -12,6 +13,6 @@ jobs: - uses: DenverCoder1/doxygen-github-pages-action@v1.3.1 with: github_token: ${{ secrets.GITHUB_TOKEN }} - branch: gh-pages + branch: add/docs_actions folder: docs/html config_file: Doxyfile diff --git a/README.md b/README.md index 42de8837..b77d5d3b 100644 --- a/README.md +++ b/README.md @@ -27,7 +27,7 @@ cmake -S . -B build cmake --build build --config Release ``` -Note, if you are using custom installs of HDF5 or BOOST that are not being detected +Note, if you are using custom installations of HDF5 or BOOST that are not being detected automatically by cmake, you can specify `HDF5_ROOT` and `BOOST_ROOT` environment variables to point to install directories of HDF5 and BOOST respectively. From 0dd371c46ebcfae50c3fd0d6493ff40c1b8a42c7 Mon Sep 17 00:00:00 2001 From: Oliver Ruebel Date: Sat, 3 Aug 2024 17:38:19 -0700 Subject: [PATCH 03/26] Updated Doxyfile path --- .github/workflows/doxygen-gh-pages.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/doxygen-gh-pages.yml b/.github/workflows/doxygen-gh-pages.yml index 8fa20a2d..126b31b9 100644 --- a/.github/workflows/doxygen-gh-pages.yml +++ b/.github/workflows/doxygen-gh-pages.yml @@ -15,4 +15,4 @@ jobs: github_token: ${{ secrets.GITHUB_TOKEN }} branch: add/docs_actions folder: docs/html - config_file: Doxyfile + config_file: docs/Doxyfile.in From 7e567e6cdeaba1249c82e2b8373870a3e86c1273 Mon Sep 17 00:00:00 2001 From: Oliver Ruebel Date: Sat, 3 Aug 2024 17:57:34 -0700 Subject: [PATCH 04/26] Update the docs action to use cmake for the docs build --- .github/workflows/doxygen-gh-pages.yml | 42 +++++++++++++++++++++++--- 1 file changed, 37 insertions(+), 5 deletions(-) diff --git a/.github/workflows/doxygen-gh-pages.yml b/.github/workflows/doxygen-gh-pages.yml index 126b31b9..d1fee904 100644 --- a/.github/workflows/doxygen-gh-pages.yml +++ b/.github/workflows/doxygen-gh-pages.yml @@ -10,9 +10,41 @@ jobs: deploy: runs-on: ubuntu-latest steps: - - uses: DenverCoder1/doxygen-github-pages-action@v1.3.1 + - name: Checkout repository + uses: actions/checkout@v4 with: - github_token: ${{ secrets.GITHUB_TOKEN }} - branch: add/docs_actions - folder: docs/html - config_file: docs/Doxyfile.in + submodules: "true" + - name: Install dependencies - ubuntu + run: | + sudo apt-get update + sudo apt-get install doxygen graphviz -y + sudo apt-get install -y libhdf5-dev libboost-all-dev + git clone https://github.com/catchorg/Catch2.git + cd Catch2 + git checkout "v3.5.3" + cmake -Bbuild -H. -DBUILD_TESTING=OFF + sudo cmake --build build/ --target install + shell: bash + + - name: Configure and build API + run: | + cmake -S . -B build -Daq-nwb_DEVELOPER_MODE=ON + cmake --preset=dev + cmake --build --preset=dev + shell: bash + + - name: Build the docs + run : | + cmake --build --preset=dev --target=docs + shell: bash + + - name: Create .nojekyll to ensure pages with underscores work on gh pages + run: touch build/dev/docs/html/.nojekyll + shell: bash + + - name: Deploy to GitHub Pages + uses: JamesIves/github-pages-deploy-action@v4 + with: + token: ${{ secrets.GITHUB_TOKEN }} + branch: test_gh_pages_action + folder: build/dev/docs/html From d1a95a77c3af8efff8411c94acd4c6eed0f93d18 Mon Sep 17 00:00:00 2001 From: Oliver Ruebel Date: Sat, 3 Aug 2024 18:00:41 -0700 Subject: [PATCH 05/26] Update preset target --- .github/workflows/doxygen-gh-pages.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/doxygen-gh-pages.yml b/.github/workflows/doxygen-gh-pages.yml index d1fee904..6b4550f0 100644 --- a/.github/workflows/doxygen-gh-pages.yml +++ b/.github/workflows/doxygen-gh-pages.yml @@ -29,8 +29,8 @@ jobs: - name: Configure and build API run: | cmake -S . -B build -Daq-nwb_DEVELOPER_MODE=ON - cmake --preset=dev - cmake --build --preset=dev + cmake --preset=ci-ubuntu + cmake --build --preset=ci-ubuntu shell: bash - name: Build the docs From c27dd98cbb0e6b9ed585a3c7e96c67d2860ae73a Mon Sep 17 00:00:00 2001 From: Oliver Ruebel Date: Sat, 3 Aug 2024 18:03:37 -0700 Subject: [PATCH 06/26] Remove preset builds --- .github/workflows/doxygen-gh-pages.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/doxygen-gh-pages.yml b/.github/workflows/doxygen-gh-pages.yml index 6b4550f0..2a8eebf6 100644 --- a/.github/workflows/doxygen-gh-pages.yml +++ b/.github/workflows/doxygen-gh-pages.yml @@ -26,11 +26,9 @@ jobs: sudo cmake --build build/ --target install shell: bash - - name: Configure and build API + - name: Configure and build the API run: | cmake -S . -B build -Daq-nwb_DEVELOPER_MODE=ON - cmake --preset=ci-ubuntu - cmake --build --preset=ci-ubuntu shell: bash - name: Build the docs From 1b2607a416962de27ca372aca5972b2af8e8e53c Mon Sep 17 00:00:00 2001 From: Oliver Ruebel Date: Sat, 3 Aug 2024 18:08:00 -0700 Subject: [PATCH 07/26] Change preset --- .github/workflows/doxygen-gh-pages.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/doxygen-gh-pages.yml b/.github/workflows/doxygen-gh-pages.yml index 2a8eebf6..da5770d5 100644 --- a/.github/workflows/doxygen-gh-pages.yml +++ b/.github/workflows/doxygen-gh-pages.yml @@ -28,12 +28,13 @@ jobs: - name: Configure and build the API run: | - cmake -S . -B build -Daq-nwb_DEVELOPER_MODE=ON + cmake --preset=dev + cmake --build --preset=dev -Daq-nwb_DEVELOPER_MODE=ON shell: bash - name: Build the docs run : | - cmake --build --preset=dev --target=docs + cmake --build --target=docs shell: bash - name: Create .nojekyll to ensure pages with underscores work on gh pages From 431413c06c1030472829ba94fd0a62a912d1c259 Mon Sep 17 00:00:00 2001 From: Oliver Ruebel Date: Sat, 3 Aug 2024 18:11:02 -0700 Subject: [PATCH 08/26] Switch preset --- .github/workflows/doxygen-gh-pages.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/doxygen-gh-pages.yml b/.github/workflows/doxygen-gh-pages.yml index da5770d5..446b6064 100644 --- a/.github/workflows/doxygen-gh-pages.yml +++ b/.github/workflows/doxygen-gh-pages.yml @@ -28,13 +28,13 @@ jobs: - name: Configure and build the API run: | - cmake --preset=dev - cmake --build --preset=dev -Daq-nwb_DEVELOPER_MODE=ON + cmake --preset=ci-ubuntu + cmake --build --preset=ci-ubuntu -Daq-nwb_DEVELOPER_MODE=ON -j 2 shell: bash - name: Build the docs run : | - cmake --build --target=docs + cmake --build --preset=ci-ubuntu --target=docs shell: bash - name: Create .nojekyll to ensure pages with underscores work on gh pages From 4de612c97c4b16c20fa0145a45ed54a58bff68f6 Mon Sep 17 00:00:00 2001 From: Oliver Ruebel Date: Sat, 3 Aug 2024 18:13:19 -0700 Subject: [PATCH 09/26] Remove dev option --- .github/workflows/doxygen-gh-pages.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/doxygen-gh-pages.yml b/.github/workflows/doxygen-gh-pages.yml index 446b6064..cc79f196 100644 --- a/.github/workflows/doxygen-gh-pages.yml +++ b/.github/workflows/doxygen-gh-pages.yml @@ -29,7 +29,7 @@ jobs: - name: Configure and build the API run: | cmake --preset=ci-ubuntu - cmake --build --preset=ci-ubuntu -Daq-nwb_DEVELOPER_MODE=ON -j 2 + cmake --build --preset=ci-ubuntu -j 2 shell: bash - name: Build the docs From 0833fd337a50c01a156c458e1b71c2cfdae40a02 Mon Sep 17 00:00:00 2001 From: Oliver Ruebel Date: Sat, 3 Aug 2024 18:20:54 -0700 Subject: [PATCH 10/26] test without preset --- .github/workflows/doxygen-gh-pages.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/doxygen-gh-pages.yml b/.github/workflows/doxygen-gh-pages.yml index cc79f196..db437dee 100644 --- a/.github/workflows/doxygen-gh-pages.yml +++ b/.github/workflows/doxygen-gh-pages.yml @@ -29,12 +29,12 @@ jobs: - name: Configure and build the API run: | cmake --preset=ci-ubuntu - cmake --build --preset=ci-ubuntu -j 2 + cmake --build shell: bash - name: Build the docs run : | - cmake --build --preset=ci-ubuntu --target=docs + cmake --build --target=docs shell: bash - name: Create .nojekyll to ensure pages with underscores work on gh pages From 04d7718afb4f469d077be0b56f349edfdd66c9db Mon Sep 17 00:00:00 2001 From: Oliver Ruebel Date: Sat, 3 Aug 2024 18:25:17 -0700 Subject: [PATCH 11/26] Add ls commands for testing --- .github/workflows/doxygen-gh-pages.yml | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/.github/workflows/doxygen-gh-pages.yml b/.github/workflows/doxygen-gh-pages.yml index db437dee..d1654e10 100644 --- a/.github/workflows/doxygen-gh-pages.yml +++ b/.github/workflows/doxygen-gh-pages.yml @@ -29,7 +29,11 @@ jobs: - name: Configure and build the API run: | cmake --preset=ci-ubuntu - cmake --build + cmake --build build + shell: bash + + - name: ls to check + run: ls -la build shell: bash - name: Build the docs @@ -37,8 +41,12 @@ jobs: cmake --build --target=docs shell: bash + - name: ls to check + run: ls -la build/docs + shell: bash + - name: Create .nojekyll to ensure pages with underscores work on gh pages - run: touch build/dev/docs/html/.nojekyll + run: touch build/docs/html/.nojekyll shell: bash - name: Deploy to GitHub Pages @@ -46,4 +54,4 @@ jobs: with: token: ${{ secrets.GITHUB_TOKEN }} branch: test_gh_pages_action - folder: build/dev/docs/html + folder: build/docs/html From fae90768db5081b058528e84026f6bf7235faed3 Mon Sep 17 00:00:00 2001 From: Oliver Ruebel Date: Sat, 3 Aug 2024 18:29:32 -0700 Subject: [PATCH 12/26] Adds docs build target --- .github/workflows/doxygen-gh-pages.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/doxygen-gh-pages.yml b/.github/workflows/doxygen-gh-pages.yml index d1654e10..98e9d1cf 100644 --- a/.github/workflows/doxygen-gh-pages.yml +++ b/.github/workflows/doxygen-gh-pages.yml @@ -38,7 +38,7 @@ jobs: - name: Build the docs run : | - cmake --build --target=docs + cmake --build build --target=docs shell: bash - name: ls to check From b7d087a797de85ee09e7bd9a1853d280f872b16f Mon Sep 17 00:00:00 2001 From: Oliver Ruebel Date: Sat, 3 Aug 2024 18:40:21 -0700 Subject: [PATCH 13/26] Enable developer mode --- .github/workflows/doxygen-gh-pages.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/doxygen-gh-pages.yml b/.github/workflows/doxygen-gh-pages.yml index 98e9d1cf..05cbff21 100644 --- a/.github/workflows/doxygen-gh-pages.yml +++ b/.github/workflows/doxygen-gh-pages.yml @@ -29,7 +29,7 @@ jobs: - name: Configure and build the API run: | cmake --preset=ci-ubuntu - cmake --build build + cmake --build build -Daq-nwb_DEVELOPER_MODE=ON shell: bash - name: ls to check From a8878ebf73d8e1efe49ecff0b0779ef462cf8a93 Mon Sep 17 00:00:00 2001 From: Oliver Ruebel Date: Sat, 3 Aug 2024 18:43:32 -0700 Subject: [PATCH 14/26] Use dev-mode preset --- .github/workflows/doxygen-gh-pages.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/doxygen-gh-pages.yml b/.github/workflows/doxygen-gh-pages.yml index 05cbff21..2c0fefd2 100644 --- a/.github/workflows/doxygen-gh-pages.yml +++ b/.github/workflows/doxygen-gh-pages.yml @@ -28,8 +28,8 @@ jobs: - name: Configure and build the API run: | - cmake --preset=ci-ubuntu - cmake --build build -Daq-nwb_DEVELOPER_MODE=ON + cmake --preset=dev-mode + cmake --build --preset=dev-mode shell: bash - name: ls to check @@ -38,7 +38,7 @@ jobs: - name: Build the docs run : | - cmake --build build --target=docs + cmake --build --preset=dev-mode --target=docs shell: bash - name: ls to check From 24fee47ec2410defd17affe12e5bc77d0fec22ae Mon Sep 17 00:00:00 2001 From: Oliver Ruebel Date: Sat, 3 Aug 2024 18:48:13 -0700 Subject: [PATCH 15/26] Update preset --- .github/workflows/doxygen-gh-pages.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/doxygen-gh-pages.yml b/.github/workflows/doxygen-gh-pages.yml index 2c0fefd2..d4d90e82 100644 --- a/.github/workflows/doxygen-gh-pages.yml +++ b/.github/workflows/doxygen-gh-pages.yml @@ -28,8 +28,8 @@ jobs: - name: Configure and build the API run: | - cmake --preset=dev-mode - cmake --build --preset=dev-mode + cmake --preset=ci-ubuntu + cmake --build build shell: bash - name: ls to check @@ -38,7 +38,7 @@ jobs: - name: Build the docs run : | - cmake --build --preset=dev-mode --target=docs + cmake --build --preset=ci-ubuntu --target=docs shell: bash - name: ls to check From d9730390f40a08845ee0a6a07990ada38b0f774c Mon Sep 17 00:00:00 2001 From: Oliver Ruebel Date: Sat, 3 Aug 2024 18:53:59 -0700 Subject: [PATCH 16/26] Try again --- .github/workflows/doxygen-gh-pages.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/doxygen-gh-pages.yml b/.github/workflows/doxygen-gh-pages.yml index d4d90e82..ae354372 100644 --- a/.github/workflows/doxygen-gh-pages.yml +++ b/.github/workflows/doxygen-gh-pages.yml @@ -37,8 +37,7 @@ jobs: shell: bash - name: Build the docs - run : | - cmake --build --preset=ci-ubuntu --target=docs + run : cmake --build --preset=ci-ubuntu --target=docs shell: bash - name: ls to check From fac692562ba9ce3fb43d0312301f5fd454fbb5c9 Mon Sep 17 00:00:00 2001 From: Oliver Ruebel Date: Sat, 3 Aug 2024 18:58:49 -0700 Subject: [PATCH 17/26] Try again --- .github/workflows/doxygen-gh-pages.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/doxygen-gh-pages.yml b/.github/workflows/doxygen-gh-pages.yml index ae354372..9ed97f99 100644 --- a/.github/workflows/doxygen-gh-pages.yml +++ b/.github/workflows/doxygen-gh-pages.yml @@ -29,7 +29,7 @@ jobs: - name: Configure and build the API run: | cmake --preset=ci-ubuntu - cmake --build build + cmake --build --preset=ci-ubuntu shell: bash - name: ls to check From 9c3b38db406dc6241973cd6270e16f67ddee6618 Mon Sep 17 00:00:00 2001 From: Oliver Ruebel Date: Sat, 3 Aug 2024 19:01:01 -0700 Subject: [PATCH 18/26] Try again --- .github/workflows/doxygen-gh-pages.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/doxygen-gh-pages.yml b/.github/workflows/doxygen-gh-pages.yml index 9ed97f99..2cc20c23 100644 --- a/.github/workflows/doxygen-gh-pages.yml +++ b/.github/workflows/doxygen-gh-pages.yml @@ -29,7 +29,7 @@ jobs: - name: Configure and build the API run: | cmake --preset=ci-ubuntu - cmake --build --preset=ci-ubuntu + cmake --build build shell: bash - name: ls to check @@ -37,7 +37,7 @@ jobs: shell: bash - name: Build the docs - run : cmake --build --preset=ci-ubuntu --target=docs + run : cmake --build build/docs --target=docs shell: bash - name: ls to check From 1fcef9fe0739ec6a616c4bf2b10882c65383ba5e Mon Sep 17 00:00:00 2001 From: Oliver Ruebel Date: Sat, 3 Aug 2024 19:04:47 -0700 Subject: [PATCH 19/26] Try again --- .github/workflows/doxygen-gh-pages.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/doxygen-gh-pages.yml b/.github/workflows/doxygen-gh-pages.yml index 2cc20c23..2ca30162 100644 --- a/.github/workflows/doxygen-gh-pages.yml +++ b/.github/workflows/doxygen-gh-pages.yml @@ -37,7 +37,7 @@ jobs: shell: bash - name: Build the docs - run : cmake --build build/docs --target=docs + run : cmake --build build --target=docs shell: bash - name: ls to check From 300f7b6e7d5e84fab0963c3bd013ca2620198f35 Mon Sep 17 00:00:00 2001 From: Oliver Ruebel Date: Sat, 3 Aug 2024 19:28:24 -0700 Subject: [PATCH 20/26] Try again --- .github/workflows/doxygen-gh-pages.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/doxygen-gh-pages.yml b/.github/workflows/doxygen-gh-pages.yml index 2ca30162..53ed813d 100644 --- a/.github/workflows/doxygen-gh-pages.yml +++ b/.github/workflows/doxygen-gh-pages.yml @@ -37,7 +37,7 @@ jobs: shell: bash - name: Build the docs - run : cmake --build build --target=docs + run : cmake --build --preset=ci-ubuntu --target=docs shell: bash - name: ls to check @@ -52,5 +52,5 @@ jobs: uses: JamesIves/github-pages-deploy-action@v4 with: token: ${{ secrets.GITHUB_TOKEN }} - branch: test_gh_pages_action + branch: gh_pages folder: build/docs/html From 32e8b7d82c0462c527792061fde1f3fca9095979 Mon Sep 17 00:00:00 2001 From: Oliver Ruebel Date: Sat, 3 Aug 2024 19:29:07 -0700 Subject: [PATCH 21/26] Remove debug ls --- .github/workflows/doxygen-gh-pages.yml | 8 -------- 1 file changed, 8 deletions(-) diff --git a/.github/workflows/doxygen-gh-pages.yml b/.github/workflows/doxygen-gh-pages.yml index 53ed813d..67390135 100644 --- a/.github/workflows/doxygen-gh-pages.yml +++ b/.github/workflows/doxygen-gh-pages.yml @@ -32,18 +32,10 @@ jobs: cmake --build build shell: bash - - name: ls to check - run: ls -la build - shell: bash - - name: Build the docs run : cmake --build --preset=ci-ubuntu --target=docs shell: bash - - name: ls to check - run: ls -la build/docs - shell: bash - - name: Create .nojekyll to ensure pages with underscores work on gh pages run: touch build/docs/html/.nojekyll shell: bash From b05beebd565245bacecec254db39106608808702 Mon Sep 17 00:00:00 2001 From: Oliver Ruebel Date: Sat, 3 Aug 2024 19:46:32 -0700 Subject: [PATCH 22/26] Add test target --- .github/workflows/doxygen-gh-pages.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/doxygen-gh-pages.yml b/.github/workflows/doxygen-gh-pages.yml index 67390135..5206f582 100644 --- a/.github/workflows/doxygen-gh-pages.yml +++ b/.github/workflows/doxygen-gh-pages.yml @@ -44,5 +44,5 @@ jobs: uses: JamesIves/github-pages-deploy-action@v4 with: token: ${{ secrets.GITHUB_TOKEN }} - branch: gh_pages + branch: test_gh_pages folder: build/docs/html From b32debd2040475d56b76ca7ff09b842381e545f3 Mon Sep 17 00:00:00 2001 From: Steph Prince <40640337+stephprince@users.noreply.github.com> Date: Sun, 4 Aug 2024 23:53:32 -0700 Subject: [PATCH 23/26] update docs ci build --- .github/workflows/doxygen-gh-pages.yml | 2 +- cmake/docs-ci.cmake | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/doxygen-gh-pages.yml b/.github/workflows/doxygen-gh-pages.yml index 5206f582..f41a20dd 100644 --- a/.github/workflows/doxygen-gh-pages.yml +++ b/.github/workflows/doxygen-gh-pages.yml @@ -33,7 +33,7 @@ jobs: shell: bash - name: Build the docs - run : cmake --build --preset=ci-ubuntu --target=docs + run : cmake "-DPROJECT_SOURCE_DIR=$PWD" "-DPROJECT_BINARY_DIR=$PWD/build" -P cmake/docs-ci.cmake shell: bash - name: Create .nojekyll to ensure pages with underscores work on gh pages diff --git a/cmake/docs-ci.cmake b/cmake/docs-ci.cmake index 9d2c8ed5..46ced8c5 100644 --- a/cmake/docs-ci.cmake +++ b/cmake/docs-ci.cmake @@ -8,13 +8,6 @@ endforeach() set(bin "${PROJECT_BINARY_DIR}") set(src "${PROJECT_SOURCE_DIR}") -# ---- Dependencies ---- - -find_program(Python3_EXECUTABLE NAMES python3 python) -if(NOT Python3_EXECUTABLE) - message(FATAL_ERROR "Python executable was not found") -endif() - # ---- Process project() call in CMakeLists.txt ---- file(READ "${src}/CMakeLists.txt" content) @@ -76,3 +69,10 @@ endforeach() set(config "${bin}/docs/conf.py") file(REMOVE_RECURSE "${out}/html" "${out}/xml") + +execute_process( + COMMAND doxygen "${bin}/docs/Doxyfile" + COMMENT "Building documentation using Doxygen" + VERBATIM + RESULT_VARIABLE result +) From e910f239a5de02f36c41c51095a4b088aad00b7f Mon Sep 17 00:00:00 2001 From: Steph Prince <40640337+stephprince@users.noreply.github.com> Date: Mon, 5 Aug 2024 09:26:24 -0700 Subject: [PATCH 24/26] update README to include dev preset info --- README.md | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/README.md b/README.md index 5010e4b4..789ecf65 100644 --- a/README.md +++ b/README.md @@ -57,6 +57,50 @@ the option when configuring the build by adding ``-Daq-nwb_DEVELOPER_MODE=ON``, ```sh cmake -S . -B build -Daq-nwb_DEVELOPER_MODE=ON ``` +### Presets + +As a developer, you can create your own dev preset by making a `CMakeUserPresets.json` file at the root of +the project: + +```json +{ + "version": 2, + "cmakeMinimumRequired": { + "major": 3, + "minor": 15, + "patch": 0 + }, + "configurePresets": [ + { + "name": "dev", + "binaryDir": "${sourceDir}/build/dev", + "inherits": ["dev-mode", "ci-"], + "cacheVariables": { + "CMAKE_BUILD_TYPE": "Debug" + } + } + ], + "buildPresets": [ + { + "name": "dev", + "configurePreset": "dev", + "configuration": "Debug" + } + ], + "testPresets": [ + { + "name": "dev", + "configurePreset": "dev", + "configuration": "Debug", + "output": { + "outputOnFailure": true + } + } + ] +} +``` +Replace `` in the `CmakeUserPresets.json` file with the name of +the operating system you have (`win64`, `linux` or `darwin`). ### Configure, build and test From ede215ab53b4d9fc25f4916355ca103920d16a47 Mon Sep 17 00:00:00 2001 From: Steph Prince <40640337+stephprince@users.noreply.github.com> Date: Tue, 6 Aug 2024 13:27:48 -0700 Subject: [PATCH 25/26] update workflows --- .github/workflows/doxygen-build.yml | 37 ++++++++++++++++++++++++++ .github/workflows/doxygen-gh-pages.yml | 3 +-- docs/Doxyfile.in | 5 +++- 3 files changed, 42 insertions(+), 3 deletions(-) create mode 100644 .github/workflows/doxygen-build.yml diff --git a/.github/workflows/doxygen-build.yml b/.github/workflows/doxygen-build.yml new file mode 100644 index 00000000..e63cfbbe --- /dev/null +++ b/.github/workflows/doxygen-build.yml @@ -0,0 +1,37 @@ +name: Doxygen Build Test + +on: + push: + branches: + - main + pull_request: + +jobs: + test: + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + submodules: "true" + - name: Install dependencies - ubuntu + run: | + sudo apt-get update + sudo apt-get install doxygen graphviz -y + sudo apt-get install -y libhdf5-dev libboost-all-dev + git clone https://github.com/catchorg/Catch2.git + cd Catch2 + git checkout "v3.5.3" + cmake -Bbuild -H. -DBUILD_TESTING=OFF + sudo cmake --build build/ --target install + shell: bash + + - name: Configure and build the API + run: | + cmake --preset=ci-ubuntu + cmake --build build + shell: bash + + - name: Build the docs + run : cmake "-DPROJECT_SOURCE_DIR=$PWD" "-DPROJECT_BINARY_DIR=$PWD/build" -P cmake/docs-ci.cmake + shell: bash diff --git a/.github/workflows/doxygen-gh-pages.yml b/.github/workflows/doxygen-gh-pages.yml index f41a20dd..b2ec1f18 100644 --- a/.github/workflows/doxygen-gh-pages.yml +++ b/.github/workflows/doxygen-gh-pages.yml @@ -4,7 +4,6 @@ on: push: branches: - main - pull_request: jobs: deploy: @@ -44,5 +43,5 @@ jobs: uses: JamesIves/github-pages-deploy-action@v4 with: token: ${{ secrets.GITHUB_TOKEN }} - branch: test_gh_pages + branch: gh_pages folder: build/docs/html diff --git a/docs/Doxyfile.in b/docs/Doxyfile.in index 4df7bf14..63a2726c 100644 --- a/docs/Doxyfile.in +++ b/docs/Doxyfile.in @@ -48,4 +48,7 @@ INTERACTIVE_SVG = YES # Enable highlighting by hovering on elements # Add header customization HTML_HEADER = "@PROJECT_SOURCE_DIR@/docs/layout/header.html" -PROJECT_LOGO = "@PROJECT_SOURCE_DIR@/resources/logo/aqnwb-logo.png" \ No newline at end of file +PROJECT_LOGO = "@PROJECT_SOURCE_DIR@/resources/logo/aqnwb-logo.png" + +# Fail on warnings +WARN_AS_ERROR = FAIL_ON_WARNINGS_PRINT \ No newline at end of file From 70b094aa1836a03f4c671ee0e2ab407262af0fa9 Mon Sep 17 00:00:00 2001 From: Steph Prince <40640337+stephprince@users.noreply.github.com> Date: Tue, 6 Aug 2024 13:41:02 -0700 Subject: [PATCH 26/26] remove doxygen build test workflow --- .github/workflows/doxygen-build.yml | 37 ----------------------------- 1 file changed, 37 deletions(-) delete mode 100644 .github/workflows/doxygen-build.yml diff --git a/.github/workflows/doxygen-build.yml b/.github/workflows/doxygen-build.yml deleted file mode 100644 index e63cfbbe..00000000 --- a/.github/workflows/doxygen-build.yml +++ /dev/null @@ -1,37 +0,0 @@ -name: Doxygen Build Test - -on: - push: - branches: - - main - pull_request: - -jobs: - test: - runs-on: ubuntu-latest - steps: - - name: Checkout repository - uses: actions/checkout@v4 - with: - submodules: "true" - - name: Install dependencies - ubuntu - run: | - sudo apt-get update - sudo apt-get install doxygen graphviz -y - sudo apt-get install -y libhdf5-dev libboost-all-dev - git clone https://github.com/catchorg/Catch2.git - cd Catch2 - git checkout "v3.5.3" - cmake -Bbuild -H. -DBUILD_TESTING=OFF - sudo cmake --build build/ --target install - shell: bash - - - name: Configure and build the API - run: | - cmake --preset=ci-ubuntu - cmake --build build - shell: bash - - - name: Build the docs - run : cmake "-DPROJECT_SOURCE_DIR=$PWD" "-DPROJECT_BINARY_DIR=$PWD/build" -P cmake/docs-ci.cmake - shell: bash