Skip to content

Refactor GitHub Actions workflow for deployment to GitHub Pages. Sepa… #6

Refactor GitHub Actions workflow for deployment to GitHub Pages. Sepa…

Refactor GitHub Actions workflow for deployment to GitHub Pages. Sepa… #6

Workflow file for this run

name: Deploy to GitHub Pages
on:
push:
branches:
- main
workflow_dispatch:
permissions:
contents: read
pages: write
id-token: write
concurrency:
group: "pages"
cancel-in-progress: false
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "20"
cache: "npm"
- name: Install dependencies
run: npm ci
- name: Build
run: npm run build
- name: Setup Pages
uses: actions/configure-pages@v4
- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: "./dist"
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: build
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
# on:
# push:
# branches:
# - main
# permissions:
# contents: write
# pages: write
# id-token: write
# jobs:
# build-and-deploy:
# runs-on: ubuntu-latest
# steps:
# - name: Checkout code
# uses: actions/checkout@v4
# - name: Set up Node.js
# uses: actions/setup-node@v4
# with:
# node-version: "20"
# cache: "npm"
# - name: Install dependencies
# run: npm ci
# - name: Build site
# run: npm run build
# - name: Verify build output
# run: |
# echo "Build output:"
# ls -la dist/
# echo "Assets:"
# ls -la dist/assets/ || echo "No assets folder"
# echo "Files in dist:"
# find dist -type f | head -20
# - name: Copy 404.html for SPA routing
# run: cp dist/index.html dist/404.html
# - name: Deploy to GitHub Pages
# uses: peaceiris/actions-gh-pages@v4
# with:
# github_token: ${{ secrets.GITHUB_TOKEN }}
# publish_dir: ./dist
# cname: duckdevlabs.com
# keep_files: false