From d050c43a71c1d6244aeaa7a76c6d8641d71de8d3 Mon Sep 17 00:00:00 2001 From: Mark Callow Date: Sun, 8 Feb 2026 10:48:25 +0900 Subject: [PATCH 1/9] Deploy documentation to pages. --- .github/workflows/check-dfdutils.yml | 40 +++++++++++++++++++++++++--- 1 file changed, 37 insertions(+), 3 deletions(-) diff --git a/.github/workflows/check-dfdutils.yml b/.github/workflows/check-dfdutils.yml index aeb2ab2..77dfa8f 100644 --- a/.github/workflows/check-dfdutils.yml +++ b/.github/workflows/check-dfdutils.yml @@ -31,7 +31,7 @@ on: workflow_call: jobs: - check-libktx-only: + check-dfdutils: strategy: matrix: os: [ macos-latest, ubuntu-latest, windows-latest ] @@ -73,7 +73,7 @@ jobs: - name: Configure dfdutils run: cmake -B ${{ env.BUILD_DIR }} -G "${{ matrix.generator }}" - - name: Build dfdutils Release config + - name: Build dfdutils run: cmake --build ${{ env.BUILD_DIR }} --config=${{ matrix.config }} - name: Check latest .inl files are checked in @@ -85,7 +85,7 @@ jobs: build/${{ matrix.config }}/testinterpretdfd build/${{ matrix.config }}/testbidirectionalmapping -# Presumable because it is built as an OBJECT library, a ninja build does +# Presumably because it is built as an OBJECT library, a ninja build does # not create a .a file. # - name: Upload artifact libdfdutils # if: matrix.config == 'Release' @@ -94,3 +94,37 @@ jobs: # name: libdfdutils-${{ runner.os }}-${{ runner.arch }} # path: ${{env.BUILD_DIR}}/Release/*dfdutils* + - name: Upload generated HTML documentation for GitHub Pages + if: matrix.os == 'ubuntu-latest' + id: deployment + uses: actions/upload-pages-artifact@v3 + with: + path: ${{ env.BUILD_DIR }}/doc/html + +deploy: + name: Deploy to GitHub Pages + # Add a dependency to the build job + needs: check-dfdutils + # Only deploy when building `main`. +# if: github.ref == 'refs/heads/main' + # Only deploy when building for a release tag. Note that filtering in + # on: means the only tags the workflow runs for are release tags. +# if: startsWith(github.ref, 'refs/tags') + + runs-on: ubuntu-latest + + # Grant GITHUB_TOKEN the permissions required to make a Pages deployment + permissions: + pages: write # to deploy to Pages + id-token: write # to verify the deployment originates from an appropriate source + + # Deploy to the github-pages environment + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + + # Specify deployment step + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4 From fab9930fd7ca9482a2944869a3b344af0f91c6d4 Mon Sep 17 00:00:00 2001 From: Mark Callow Date: Sun, 8 Feb 2026 10:49:52 +0900 Subject: [PATCH 2/9] Apply correct indent. --- .github/workflows/check-dfdutils.yml | 54 ++++++++++++++-------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/.github/workflows/check-dfdutils.yml b/.github/workflows/check-dfdutils.yml index 77dfa8f..0805760 100644 --- a/.github/workflows/check-dfdutils.yml +++ b/.github/workflows/check-dfdutils.yml @@ -101,30 +101,30 @@ jobs: with: path: ${{ env.BUILD_DIR }}/doc/html -deploy: - name: Deploy to GitHub Pages - # Add a dependency to the build job - needs: check-dfdutils - # Only deploy when building `main`. -# if: github.ref == 'refs/heads/main' - # Only deploy when building for a release tag. Note that filtering in - # on: means the only tags the workflow runs for are release tags. -# if: startsWith(github.ref, 'refs/tags') - - runs-on: ubuntu-latest - - # Grant GITHUB_TOKEN the permissions required to make a Pages deployment - permissions: - pages: write # to deploy to Pages - id-token: write # to verify the deployment originates from an appropriate source - - # Deploy to the github-pages environment - environment: - name: github-pages - url: ${{ steps.deployment.outputs.page_url }} - - # Specify deployment step - steps: - - name: Deploy to GitHub Pages - id: deployment - uses: actions/deploy-pages@v4 + deploy: + name: Deploy to GitHub Pages + # Add a dependency to the build job + needs: check-dfdutils + # Only deploy when building `main`. + # if: github.ref == 'refs/heads/main' + # Only deploy when building for a release tag. Note that filtering in + # on: means the only tags the workflow runs for are release tags. + # if: startsWith(github.ref, 'refs/tags') + + runs-on: ubuntu-latest + + # Grant GITHUB_TOKEN the permissions required to make a Pages deployment + permissions: + pages: write # to deploy to Pages + id-token: write # to verify the deployment originates from an appropriate source + + # Deploy to the github-pages environment + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + + # Specify deployment step + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4 From d02c54eda9f6a66a122c4a09a799e9d91da2eb69 Mon Sep 17 00:00:00 2001 From: Mark Callow Date: Sun, 8 Feb 2026 10:55:38 +0900 Subject: [PATCH 3/9] Instal doxygen. --- .github/workflows/check-dfdutils.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/check-dfdutils.yml b/.github/workflows/check-dfdutils.yml index 0805760..2b1d069 100644 --- a/.github/workflows/check-dfdutils.yml +++ b/.github/workflows/check-dfdutils.yml @@ -71,6 +71,9 @@ jobs: # # included (used for version creation) # fetch-depth: 0 + - name: Install Doxygen + uses: ssciwr/doxygen-install@v1 + - name: Configure dfdutils run: cmake -B ${{ env.BUILD_DIR }} -G "${{ matrix.generator }}" - name: Build dfdutils From 960e6392c9b6b998814aa56c9ef9cebbc33b000c Mon Sep 17 00:00:00 2001 From: Mark Callow Date: Sun, 8 Feb 2026 11:05:52 +0900 Subject: [PATCH 4/9] Explicitly build docs target. --- .github/workflows/check-dfdutils.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/check-dfdutils.yml b/.github/workflows/check-dfdutils.yml index 2b1d069..9842794 100644 --- a/.github/workflows/check-dfdutils.yml +++ b/.github/workflows/check-dfdutils.yml @@ -78,6 +78,9 @@ jobs: run: cmake -B ${{ env.BUILD_DIR }} -G "${{ matrix.generator }}" - name: Build dfdutils run: cmake --build ${{ env.BUILD_DIR }} --config=${{ matrix.config }} + - name: Build docs + if: matrix.config == 'Release' + run: cmake --build ${{ env.BUILD_DIR }} --config=${{ matrix.config }} --target docs - name: Check latest .inl files are checked in run: git diff --quiet *.inl @@ -98,7 +101,7 @@ jobs: # path: ${{env.BUILD_DIR}}/Release/*dfdutils* - name: Upload generated HTML documentation for GitHub Pages - if: matrix.os == 'ubuntu-latest' + if: matrix.os == 'ubuntu-latest' && matrix.config == 'Release' id: deployment uses: actions/upload-pages-artifact@v3 with: @@ -109,6 +112,7 @@ jobs: # Add a dependency to the build job needs: check-dfdutils # Only deploy when building `main`. + if: matrix.config == 'Release' # if: github.ref == 'refs/heads/main' # Only deploy when building for a release tag. Note that filtering in # on: means the only tags the workflow runs for are release tags. From 0fc41d7a5b5c188667b2b180302bbba894b7689a Mon Sep 17 00:00:00 2001 From: Mark Callow Date: Sun, 8 Feb 2026 11:07:05 +0900 Subject: [PATCH 5/9] Fix indent. --- .github/workflows/check-dfdutils.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/check-dfdutils.yml b/.github/workflows/check-dfdutils.yml index 9842794..a198540 100644 --- a/.github/workflows/check-dfdutils.yml +++ b/.github/workflows/check-dfdutils.yml @@ -112,7 +112,7 @@ jobs: # Add a dependency to the build job needs: check-dfdutils # Only deploy when building `main`. - if: matrix.config == 'Release' + if: matrix.config == 'Release' # if: github.ref == 'refs/heads/main' # Only deploy when building for a release tag. Note that filtering in # on: means the only tags the workflow runs for are release tags. From 5e3967f0b97d315e32f558ed6779938d08cf6614 Mon Sep 17 00:00:00 2001 From: Mark Callow Date: Sun, 8 Feb 2026 11:10:00 +0900 Subject: [PATCH 6/9] Remove check of matrix value in deployment. --- .github/workflows/check-dfdutils.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/check-dfdutils.yml b/.github/workflows/check-dfdutils.yml index a198540..112e3db 100644 --- a/.github/workflows/check-dfdutils.yml +++ b/.github/workflows/check-dfdutils.yml @@ -111,12 +111,12 @@ jobs: name: Deploy to GitHub Pages # Add a dependency to the build job needs: check-dfdutils + if: steps.deployment.outputs.page_url != '' # Only deploy when building `main`. - if: matrix.config == 'Release' - # if: github.ref == 'refs/heads/main' + # if: github.ref == 'refs/heads/main' # Only deploy when building for a release tag. Note that filtering in # on: means the only tags the workflow runs for are release tags. - # if: startsWith(github.ref, 'refs/tags') + # if: startsWith(github.ref, 'refs/tags') runs-on: ubuntu-latest From 31d379e67deda3673ca2404e94dca6c0f11067e6 Mon Sep 17 00:00:00 2001 From: Mark Callow Date: Sun, 8 Feb 2026 11:12:50 +0900 Subject: [PATCH 7/9] Try alternate way to reference value. --- .github/workflows/check-dfdutils.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/check-dfdutils.yml b/.github/workflows/check-dfdutils.yml index 112e3db..4a5dc83 100644 --- a/.github/workflows/check-dfdutils.yml +++ b/.github/workflows/check-dfdutils.yml @@ -111,7 +111,8 @@ jobs: name: Deploy to GitHub Pages # Add a dependency to the build job needs: check-dfdutils - if: steps.deployment.outputs.page_url != '' + if: ${{ matrix.config == 'Release' }} + #if: ${{ steps.deployment.outputs.page_url != '' }} # Only deploy when building `main`. # if: github.ref == 'refs/heads/main' # Only deploy when building for a release tag. Note that filtering in From 2c6fc5b856cb4f2d062004111c617bcc20f52683 Mon Sep 17 00:00:00 2001 From: Mark Callow Date: Sun, 8 Feb 2026 11:14:44 +0900 Subject: [PATCH 8/9] Remove attempt to only deploy for Release. --- .github/workflows/check-dfdutils.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/check-dfdutils.yml b/.github/workflows/check-dfdutils.yml index 4a5dc83..65de875 100644 --- a/.github/workflows/check-dfdutils.yml +++ b/.github/workflows/check-dfdutils.yml @@ -111,8 +111,6 @@ jobs: name: Deploy to GitHub Pages # Add a dependency to the build job needs: check-dfdutils - if: ${{ matrix.config == 'Release' }} - #if: ${{ steps.deployment.outputs.page_url != '' }} # Only deploy when building `main`. # if: github.ref == 'refs/heads/main' # Only deploy when building for a release tag. Note that filtering in From 76d6418de7685120e1c7383035cbba47d84217d4 Mon Sep 17 00:00:00 2001 From: Mark Callow Date: Sun, 8 Feb 2026 15:53:03 +0900 Subject: [PATCH 9/9] Only deploy from main. --- .github/workflows/check-dfdutils.yml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/check-dfdutils.yml b/.github/workflows/check-dfdutils.yml index 65de875..f414f7a 100644 --- a/.github/workflows/check-dfdutils.yml +++ b/.github/workflows/check-dfdutils.yml @@ -112,10 +112,11 @@ jobs: # Add a dependency to the build job needs: check-dfdutils # Only deploy when building `main`. - # if: github.ref == 'refs/heads/main' - # Only deploy when building for a release tag. Note that filtering in - # on: means the only tags the workflow runs for are release tags. - # if: startsWith(github.ref, 'refs/tags') + if: github.ref == 'refs/heads/main' + # Alternatively, only deploy when building for a release tag. Note that + # filtering in on: means the only tags the workflow runs for are release + # tags. +# if: startsWith(github.ref, 'refs/tags') runs-on: ubuntu-latest