1+ # This workflow is managed by gh actions-lock.
12# SPDX-License-Identifier: MPL-2.0
23# This workflow is managed by gh actions-lock.
34name : GitHub Pages
3233 uses : actions/checkout@v7.0.1
3334 with :
3435 repository : hyperpolymath/casket-ssg
35- ref : 4abfd39c78c2eee9de62d658646607877b3ee157 # main 2026-09-03
36+ ref : cec3c20d80ea1dc93660b69a4e7b38aa49f2a56b # standalone build; optional liblol bridge
3637 path : .casket-ssg
3738 persist-credentials : false
3839
4546 .casket-ssg/dist-newstyle
4647 key : ${{ runner.os }}-casket-${{ hashFiles('.casket-ssg/casket-ssg.cabal') }}
4748
49+ # Explicitly allowed by repository policy; actions.lock pins its commit.
50+ - name : Select tested Haskell toolchain
51+ uses : haskell-actions/setup@v2.12.0
52+ with :
53+ ghc-version : ' 9.6.6'
54+ cabal-version : ' 3.10.3.0'
55+
4856 - name : Prepare runner Haskell toolchain
4957 run : |
5058 set -euo pipefail
@@ -54,10 +62,12 @@ jobs:
5462
5563 - name : Build casket-ssg
5664 working-directory : .casket-ssg
57- run : cabal build
65+ run : cabal build --index-state=2026-09-06T00:00:00Z
5866
5967 - name : Prepare site source
6068 shell : bash
69+ env :
70+ CONTENT_REF : ${{ github.event_name == 'pull_request' && github.sha || github.ref_name }}
6171 run : |
6272 set -euo pipefail
6373 rm -rf .site-src _site
7282 README_URL=""
7383
7484 if [ -f README.md ]; then
75- README_URL="${REPO_URL}/blob/${{ github.ref_name } }/README.md"
85+ README_URL="${REPO_URL}/blob/${CONTENT_REF }/README.md"
7686 elif [ -f README.adoc ]; then
77- README_URL="${REPO_URL}/blob/${{ github.ref_name } }/README.adoc"
87+ README_URL="${REPO_URL}/blob/${CONTENT_REF }/README.adoc"
7888 fi
7989
8090 {
92102 echo "- README: [project README](${README_URL})"
93103 fi
94104 if [ -d docs ]; then
95- echo "- Docs directory: [docs/](${REPO_URL}/tree/${{ github.ref_name } }/docs)"
105+ echo "- Docs directory: [docs/](${REPO_URL}/tree/${CONTENT_REF }/docs)"
96106 fi
97107 echo
98108 echo "Project-specific site content can be added later under site/."
@@ -102,7 +112,7 @@ jobs:
102112 - name : Build site
103113 run : |
104114 mkdir -p _site
105- cd .casket-ssg && cabal run casket-ssg -- build ../.site-src ../_site
115+ cd .casket-ssg && cabal run --index-state=2026-09-06T00:00:00Z casket-ssg -- build ../.site-src ../_site
106116 touch ../_site/.nojekyll
107117
108118 - name : Setup Pages
@@ -114,10 +124,8 @@ jobs:
114124 path : ' _site'
115125
116126 preview :
117- name : Validate deployable Pages preview
127+ name : Validate Pages artifact
118128 if : github.event_name == 'pull_request'
119- environment :
120- name : pages-preview
121129 runs-on : ubuntu-24.04
122130 needs : build
123131 timeout-minutes : 10
@@ -155,7 +163,7 @@ jobs:
155163 echo "::error::Pages artifact contains an unsafe path: ${entry}"
156164 exit 1
157165 ;;
158- index.html|* /index.html)
166+ index.html|. /index.html)
159167 has_index=1
160168 ;;
161169 esac
@@ -195,4 +203,4 @@ jobs:
195203 steps :
196204 - name : Deploy to GitHub Pages
197205 id : deployment
198- uses : actions/deploy-pages@v5.0.0
206+ uses : actions/deploy-pages@v5.0.1
0 commit comments