From 235b0cb41bf0ddfa171a244e0da9fbf9f8094dcd Mon Sep 17 00:00:00 2001 From: Snider Date: Wed, 1 Oct 2025 21:10:21 +0100 Subject: [PATCH] Add documentation build steps to CI workflows Introduces a reusable GitHub Action for building documentation and updates all platform build workflows to install documentation dependencies and run 'make docs'. This ensures documentation is built and available as part of the CI process across Linux, macOS, and Windows. Also updates the docs workflow to adjust pip dependencies. --- .github/actions/make-docs/action.yml | 37 +++++++++++++++++++++++ .github/workflows/build-docs.yml | 3 +- .github/workflows/build-linux-arm64.yml | 12 +++++++- .github/workflows/build-linux-intel.yml | 8 +++++ .github/workflows/build-macos-arm64.yml | 10 ++++++ .github/workflows/build-macos-intel.yml | 8 +++++ .github/workflows/build-windows-intel.yml | 8 +++++ 7 files changed, 84 insertions(+), 2 deletions(-) create mode 100644 .github/actions/make-docs/action.yml diff --git a/.github/actions/make-docs/action.yml b/.github/actions/make-docs/action.yml new file mode 100644 index 00000000..839940d3 --- /dev/null +++ b/.github/actions/make-docs/action.yml @@ -0,0 +1,37 @@ +# .github/actions/upload-artifacts/action.yml +name: 'Build Documentation' +description: 'Archives and uploads signed binaries to a GitHub release' +#inputs: +# chain-network: +# required: true +# description: 'The chain network name to use in filenames, mainnet or testnet' +# assets: +# description: "A EOL separated string list of filenames to archive; if asset is a abs path, it's respected" +# required: false +# asset-type: +# required: true +# description: 'The asset type: cli, gui, ANYTHING; used as a separator for different release packages for the same arch' +# asset-directory: +# required: true +# description: "The directory where 7z's working dir will be set" + +runs: + using: "composite" + steps: + - uses: actions/setup-python@v5 + with: + python-version: 3.x + - run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV + - uses: actions/cache@v4 + with: + key: mkdocs-material-${{ env.cache_id }} + path: ~/.cache + restore-keys: | + mkdocs-material- + + - if: runner.os == 'linux' + run: | + sudo apt-get install -y libcairo2-dev libfreetype6-dev libffi-dev libjpeg-dev libpng-dev libz-dev pngquant + - run: pip install mkdocs-git-revision-date-localized-plugin cairosvg mkdocs-git-committers-plugin-2 mkdocs-git-authors-plugin mkdocs-material[imaging] + + diff --git a/.github/workflows/build-docs.yml b/.github/workflows/build-docs.yml index bd742fdf..336e75c3 100644 --- a/.github/workflows/build-docs.yml +++ b/.github/workflows/build-docs.yml @@ -27,8 +27,9 @@ jobs: with: key: ${{ github.ref }} path: .cache + - run: sudo apt-get install -y libcairo2-dev libfreetype6-dev libffi-dev libjpeg-dev libpng-dev libz-dev pngquant - - run: pip install mkdocs-git-revision-date-localized-plugin cairosvg mkdocs-git-committers-plugin-2 mkdocs-git-authors-plugin mkdocs-material[imaging] + - run: pip install mkdocs-git-revision-date-localized-plugin mkdocs-git-committers-plugin-2 mkdocs-git-authors-plugin mkdocs-material[imaging] - name: Build Offline Version run: make docs diff --git a/.github/workflows/build-linux-arm64.yml b/.github/workflows/build-linux-arm64.yml index 4269e3db..49756389 100644 --- a/.github/workflows/build-linux-arm64.yml +++ b/.github/workflows/build-linux-arm64.yml @@ -22,7 +22,7 @@ jobs: submodules: recursive - name: install dependencies - run: sudo apt-get install -y autotools-dev git build-essential + run: sudo apt-get install -y autotools-dev git build-essential libcairo2-dev libfreetype6-dev libffi-dev libjpeg-dev libpng-dev libz-dev pngquant - name: Cache SDK Folder uses: actions/cache@v4 @@ -30,12 +30,22 @@ jobs: path: ${{ github.workspace }}/build/sdk key: ${{ runner.os }}-${{ runner.arch }}-sdk + - uses: actions/setup-python@v5 + with: + python-version: 3.x + + - run: pip install mkdocs-material mkdocs-git-revision-date-localized-plugin mkdocs-git-committers-plugin-2 mkdocs-git-authors-plugin "mkdocs-material[imaging]" + + - name: Install Conan uses: conan-io/setup-conan@v1 with: home: ${{ github.workspace }}/build/sdk cache_packages: false + - name: Compile Docs + run: make docs + - name: Compile Release run: make release CPU_CORES=4 TESTNET=${{ inputs.chain-network == 'testnet' && '1' || '0' }} diff --git a/.github/workflows/build-linux-intel.yml b/.github/workflows/build-linux-intel.yml index e5125b98..6efa27be 100644 --- a/.github/workflows/build-linux-intel.yml +++ b/.github/workflows/build-linux-intel.yml @@ -30,12 +30,20 @@ jobs: path: ${{ github.workspace }}/build/sdk key: ${{ runner.os }}-${{ runner.arch }}-sdk + - uses: actions/setup-python@v5 + with: + python-version: 3.x + - run: pip install mkdocs-material mkdocs-git-revision-date-localized-plugin mkdocs-git-committers-plugin-2 mkdocs-git-authors-plugin "mkdocs-material[imaging]" + - name: Install Conan uses: conan-io/setup-conan@v1 with: home: ${{ github.workspace }}/build/sdk cache_packages: false + - name: Compile Docs + run: make docs + - name: Compile Release run: make release CPU_CORES=4 TESTNET=${{ inputs.chain-network == 'testnet' && '1' || '0' }} diff --git a/.github/workflows/build-macos-arm64.yml b/.github/workflows/build-macos-arm64.yml index dd53cb1e..79ac634c 100644 --- a/.github/workflows/build-macos-arm64.yml +++ b/.github/workflows/build-macos-arm64.yml @@ -29,12 +29,22 @@ jobs: path: ${{ github.workspace }}/build/sdk key: ${{ runner.os }}-${{ runner.arch }}-sdk + - uses: actions/setup-python@v5 + with: + python-version: 3.x + + - run: brew install cairo freetype libffi libjpeg libpng zlib pngquant + - run: pip install mkdocs-material mkdocs-git-revision-date-localized-plugin mkdocs-git-committers-plugin-2 mkdocs-git-authors-plugin "mkdocs-material[imaging]" + - name: Install Conan uses: conan-io/setup-conan@v1 with: home: ${{ github.workspace }}/build/sdk cache_packages: false + - name: Compile Docs + run: make docs + # - name: Compile Release # run: make apple-clang-armv8 TESTNET=${{ inputs.chain-network == 'testnet' && '1' || '0' }} diff --git a/.github/workflows/build-macos-intel.yml b/.github/workflows/build-macos-intel.yml index 802e3834..7b586bcf 100644 --- a/.github/workflows/build-macos-intel.yml +++ b/.github/workflows/build-macos-intel.yml @@ -28,12 +28,20 @@ jobs: path: ${{ github.workspace }}/build/sdk key: ${{ runner.os }}-${{ runner.arch }}-sdk + - uses: actions/setup-python@v5 + with: + python-version: 3.x + - run: pip install mkdocs-material mkdocs-git-revision-date-localized-plugin mkdocs-git-committers-plugin-2 mkdocs-git-authors-plugin "mkdocs-material[imaging]" + - name: Install Conan uses: conan-io/setup-conan@v1 with: home: ${{ github.workspace }}/build/sdk cache_packages: false + - name: Compile Docs + run: make docs + - name: Compile Release run: make release CPU_CORES=4 TESTNET=${{ inputs.chain-network == 'testnet' && '1' || '0' }} diff --git a/.github/workflows/build-windows-intel.yml b/.github/workflows/build-windows-intel.yml index 2f00e6c6..8c5b3dd3 100644 --- a/.github/workflows/build-windows-intel.yml +++ b/.github/workflows/build-windows-intel.yml @@ -27,12 +27,20 @@ jobs: path: ${{ github.workspace }}/build/sdk key: ${{ runner.os }}-${{ runner.arch }}-sdk + - uses: actions/setup-python@v5 + with: + python-version: 3.x + - run: pip install mkdocs-material mkdocs-git-revision-date-localized-plugin mkdocs-git-committers-plugin-2 mkdocs-git-authors-plugin "mkdocs-material[imaging]" + - name: Install Conan uses: conan-io/setup-conan@v1 with: home: ${{ github.workspace }}/build/sdk cache_packages: false + - name: Compile Docs + run: make docs + - name: Compile Release run: make release CPU_CORES=4 TESTNET=${{ inputs.chain-network == 'testnet' && '1' || '0' }}