1name: Deploy to GitHub Pages
3on:
4 push:
5 branches: [main]
6 workflow_dispatch:
8permissions:
9 contents: read
10 pages: write
11 id-token: write
13concurrency:
14 group: pages
15 cancel-in-progress: false
17jobs:
18 build:
19 runs-on: ubuntu-latest
20 steps:
21 - name: Checkout minwebide-demo
22 uses: actions/checkout@v4
23 with:
24 path: minwebide-demo
26 # minwebide is consumed as a sibling checkout (file:../minwebide)
27 - name: Checkout minwebide
28 uses: actions/checkout@v4
29 with:
30 repository: magland/minwebide
31 path: minwebide
33 - uses: actions/setup-node@v4
34 with:
35 node-version: 22
37 # the pinned VS Code source checkout is large; cache it by pinned version
38 - name: Cache VS Code source
39 uses: actions/cache@v4
40 with:
41 path: minwebide/vendor/vscode
42 key: vscode-vendor-${{ hashFiles('minwebide/.vscode-version') }}
44 - name: Install minwebide (fetches VS Code source on postinstall)
45 working-directory: minwebide
46 env:
47 PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: '1'
48 run: npm ci
50 - name: Install minwebide-demo
51 working-directory: minwebide-demo
52 run: npm ci
54 - name: Build
55 working-directory: minwebide-demo
56 env:
57 DEPLOY_BASE: /minwebide-demo/
58 run: npm run build
60 - name: Setup Pages
61 uses: actions/configure-pages@v5
62 with:
63 enablement: true
65 - name: Upload artifact
66 uses: actions/upload-pages-artifact@v3
67 with:
68 path: minwebide-demo/dist
70 deploy:
71 needs: build
72 runs-on: ubuntu-latest
73 environment:
74 name: github-pages
75 url: ${{ steps.deployment.outputs.page_url }}
76 steps:
77 - name: Deploy to GitHub Pages
78 id: deployment
79 uses: actions/deploy-pages@v4