@@ -119,6 +119,15 @@ jobs:
119119 - name : Install Dependencies
120120 run : npm install
121121 working-directory : ' website'
122+ # nuxt-og-image fetches its satori font on first render, and that download is the only
123+ # thing the og-image cache directory holds at any size. Keyed on the lockfile that
124+ # pins the module, so an unchanged lockfile hits exactly and writes nothing back.
125+ - name : Cache the nuxt-og-image font download
126+ uses : actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
127+ with :
128+ path : website/nuxt/node_modules/.cache/nuxt/.nuxt/cache/og-image
129+ key : og-image-font-${{ runner.os }}-${{ hashFiles('website/package-lock.json') }}
130+ restore-keys : og-image-font-${{ runner.os }}-
122131 - name : Run unit tests
123132 if : inputs.run_unit_tests
124133 run : npm test
@@ -128,7 +137,14 @@ jobs:
128137 - name : Build the forge
129138 run : npm run ${{ inputs.deploy_preview && 'build:nuxt' || 'build:nuxt:skip-images' }}
130139 working-directory : ' website'
140+ # A preview processes images, and Nuxt Image then points every <img> at
141+ # /.netlify/images, which Netlify only answers at runtime. That path is absent from the
142+ # static tree hyperlink walks, so every image reads as a broken link. hyperlink 0.3.2
143+ # cannot be told to ignore a path, so the check runs on the builds that keep real file
144+ # paths. The caller that previews is a documentation pull request, and
145+ # FlowFuse/flowfuse checks its own documentation links in a separate job.
131146 - name : Check links
147+ if : ${{ !inputs.deploy_preview }}
132148 uses : untitaker/hyperlink@9375bc4063712ad490d5eb3d54df0b6aade15e54 # 0.3.2
133149 with :
134150 args : website/nuxt/dist/ --check-anchors --sources website/src
0 commit comments