Files
electron-rare.github.io/.github/workflows/deploy-pages.yml
T

77 lines
1.8 KiB
YAML

name: Deploy Static Site + Lab to GitHub Pages
on:
push:
branches: [main]
workflow_dispatch:
permissions:
contents: read
pages: write
id-token: write
concurrency:
group: pages
cancel-in-progress: true
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: 22
cache: npm
cache-dependency-path: |
package-lock.json
apps/lab-interactif/package-lock.json
- name: Install root dependencies
run: npm ci
- name: Install lab dependencies
run: npm ci --prefix apps/lab-interactif
- name: Build lab module
run: npm run lab:build
- name: Prepare pages artifact
run: |
mkdir -p .pages-dist
cp index.html .pages-dist/
cp styles.css .pages-dist/
cp script.js .pages-dist/
cp robots.txt .pages-dist/
cp sitemap.xml .pages-dist/
cp favicon.svg .pages-dist/
cp favicon.ico .pages-dist/
cp favicon-32x32.png .pages-dist/
cp favicon-16x16.png .pages-dist/
cp apple-touch-icon.png .pages-dist/
cp -R assets .pages-dist/assets
cp -R lab .pages-dist/lab
if [ -f CNAME ]; then cp CNAME .pages-dist/; fi
- name: Setup Pages
uses: actions/configure-pages@v5
- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: ./.pages-dist
deploy:
needs: build
runs-on: ubuntu-latest
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4