@@ -3,9 +3,7 @@ name: release smoke
33# Builds a real Nuxt app against the module and checks it actually works, either
44# from this checkout (pre-release) or from npm (post-release).
55#
6- # npm needs a few minutes to serve a freshly published version, and a release can
7- # land at any time — hence the manual trigger and the delayed re-check, rather than
8- # relying on the publish job alone.
6+ # Manual only — run after a publish lands on npm (give the registry a few minutes).
97
108on :
119 workflow_dispatch :
2321 description : Deploy to Cloudflare Pages and Vercel and verify the live URLs
2422 type : boolean
2523 default : false
26- release :
27- types : [published]
28- schedule :
29- # Catches a release whose packages reached npm after the publish job finished.
30- - cron : ' 0 6 * * *'
3124
3225concurrency :
3326 group : release-smoke-${{ github.ref }}
8376 - name : Install the app
8477 working-directory : ${{ env.APP_DIR }}
8578 run : |
86- printf 'packages:\n - .\n' > pnpm-workspace.yaml
79+ # Isolated mini-workspace still needs the root catalog (`nuxt`/`vue`/`vue-router` use catalog:).
80+ node -e "
81+ const fs = require('node:fs')
82+ const root = fs.readFileSync('../../pnpm-workspace.yaml', 'utf8')
83+ const i = root.indexOf('\ncatalog:')
84+ if (i < 0) throw new Error('catalog: missing in root pnpm-workspace.yaml')
85+ fs.writeFileSync('pnpm-workspace.yaml', 'packages:\\n - .\\n' + root.slice(i + 1))
86+ "
8787 pnpm install --no-frozen-lockfile
8888
8989 - name : Report the resolved module version
@@ -142,7 +142,13 @@ jobs:
142142 - name : Install and build for static hosting
143143 working-directory : ${{ env.APP_DIR }}
144144 run : |
145- printf 'packages:\n - .\n' > pnpm-workspace.yaml
145+ node -e "
146+ const fs = require('node:fs')
147+ const root = fs.readFileSync('../../pnpm-workspace.yaml', 'utf8')
148+ const i = root.indexOf('\ncatalog:')
149+ if (i < 0) throw new Error('catalog: missing in root pnpm-workspace.yaml')
150+ fs.writeFileSync('pnpm-workspace.yaml', 'packages:\\n - .\\n' + root.slice(i + 1))
151+ "
146152 pnpm install --no-frozen-lockfile
147153 pnpm exec nuxt build --preset ${{ matrix.target == 'cloudflare' && 'cloudflare_pages' || 'vercel' }}
148154
0 commit comments