/ .github / workflows / deploy-pages.yml
deploy-pages.yml
 1  name: Deploy to GitHub Pages
 2  
 3  on:
 4    push:
 5      branches: [ main ]
 6    pull_request:
 7      branches: [ main ]
 8  
 9  permissions:
10    pages: write
11    id-token: write
12  
13  concurrency:
14    group: pages
15    cancel-in-progress: true
16  
17  jobs:
18    deploy:
19      runs-on: ubuntu-latest
20      environment:
21        name: github-pages
22        url: ${{ steps.deployment.outputs.page_url }}
23  
24      steps:
25        - name: Checkout
26          uses: actions/checkout@v6
27  
28        - name: Setup Runtime
29          uses: denoland/setup-deno@v2
30          with:
31            deno-version: v2.x
32  
33        - name: Install dependencies
34          run: deno install
35  
36        - name: Build
37          run: deno task build
38          env:
39            BASE_URL: ${{ vars.BASE_URL }}
40  
41        - name: Create subpages
42          run: |
43            mkdir dist/add dist/multiply dist/convert
44            cp dist/index.html dist/add
45            cp dist/index.html dist/multiply
46            cp dist/index.html dist/convert
47  
48        - name: Setup Pages
49          uses: actions/configure-pages@v5
50  
51        - name: Upload Pages Artifact
52          uses: actions/upload-pages-artifact@v4
53          with:
54              path: ./dist
55  
56        - name: Deploy to Pages
57          uses: actions/deploy-pages@v4
58          id: deployment