From dbaf43af8d7f5baa2cdd13a94fc6f6369ec571da Mon Sep 17 00:00:00 2001 From: Alexey Kuleshevich Date: Thu, 12 Sep 2024 10:32:12 -0600 Subject: [PATCH 1/2] Copy the full haddock generation GithubAction from ledger --- .github/workflows/gh-pages.yml | 113 ++++++++++++++++++++------------- 1 file changed, 69 insertions(+), 44 deletions(-) diff --git a/.github/workflows/gh-pages.yml b/.github/workflows/gh-pages.yml index bb99a96ed..51e3e0d42 100644 --- a/.github/workflows/gh-pages.yml +++ b/.github/workflows/gh-pages.yml @@ -1,4 +1,4 @@ -name: Github Pages +name: Haddocks to GitHub Pages on: push: @@ -12,47 +12,72 @@ jobs: contents: write steps: - - uses: actions/checkout@v3 - - name: Install nix - uses: cachix/install-nix-action@v20 - with: - nix_path: nixpkgs=channel:nixos-unstable - extra_nix_config: | - experimental-features = nix-command flakes - trusted-public-keys = hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ= cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= loony-tools:pr9m4BkM/5/eSTZlkQyRt57Jz7OMBxNSUiMC4FkcNfk= - substituters = https://cache.iog.io https://cache.nixos.org/ https://cache.zw3rk.com - - name: Build projects and haddocks - run: nix develop --command bash -c "cabal update && cabal build --enable-documentation all && ./scripts/haddocks.sh" - - name: Add files - run: | - git config --local user.name ${{ github.actor }} - git config --local user.email "${{ github.actor }}@users.noreply.github.com" - - # Start a new version of the gh-pages branch - git for-each-ref refs/heads/gh-pages --format='%(refname:short)' | - while read -r REFNAME; do - git branch -D "$REFNAME" - done - git checkout -b gh-pages - - git rm -rfq . - git commit -qm "Remove all existing files" - - echo "cardano-base.cardano.intersectmbo.org" >CNAME - touch .nojekyll - git add CNAME .nojekyll - git commit -qm "Add CNAME and .nojekyll" - - # Add Haddocks - git add -A --force ./haddocks - git mv ./haddocks/* . - git commit -qm "Updated from ${GITHUB_SHA} via ${GITHUB_EVENT_NAME}" - - - name: Push to gh-pages - uses: ad-m/github-push-action@v0.6.0 - with: - github_token: ${{ secrets.GITHUB_TOKEN }} - branch: gh-pages - force: true - directory: . + - uses: actions/checkout@v4 + - name: Install Haskell + uses: input-output-hk/setup-haskell@v1 + id: setup-haskell + with: + ghc-version: "9.2.8" + cabal-version: latest + + - name: Install system dependencies + uses: input-output-hk/actions/base@latest + with: + use-sodium-vrf: false # default is true + + - name: Configure to use libsodium + run: | + cat >> cabal.project <CNAME + touch .nojekyll + git add CNAME .nojekyll + git commit -qm "Add CNAME and .nojekyll" + + # Preserve benchmark results, if any + git ls-remote origin --heads gh-pages | + while read -r _SHA REFNAME; do + git fetch origin "$REFNAME" + if git diff --name-only FETCH_HEAD -- dev | grep -q .; then + git checkout FETCH_HEAD dev + git commit -qC "$(git log -1 --format=%H FETCH_HEAD dev)" + fi + done + + # Add Haddocks + git add -A --force ./haddocks + git mv ./haddocks/* . + git commit -qm "Updated from ${GITHUB_SHA} via ${GITHUB_EVENT_NAME}" + + - name: Push to gh-pages + uses: ad-m/github-push-action@v0.8.0 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + branch: gh-pages + force: true + directory: . From 5790799e9054ea92111f95297fc728c176c831f6 Mon Sep 17 00:00:00 2001 From: Alexey Kuleshevich Date: Thu, 12 Sep 2024 10:33:03 -0600 Subject: [PATCH 2/2] Disable haddock for tests and benchamrks --- scripts/haddocks.sh | 3 --- 1 file changed, 3 deletions(-) diff --git a/scripts/haddocks.sh b/scripts/haddocks.sh index e9d1b1a97..b8d20f411 100755 --- a/scripts/haddocks.sh +++ b/scripts/haddocks.sh @@ -29,9 +29,6 @@ CABAL_OPTS=( # Generate `doc-index.json` and `doc-index.html` per package, to assemble them later at the top level. HADDOCK_OPTS=( - --haddock-executables - --haddock-tests - --haddock-benchmarks --haddock-html --haddock-hyperlink-source --haddock-option "--use-unicode"