Files
ltg-grenoble/.github/workflows/deploy.yml
2025-02-07 16:24:32 +01:00

43 lines
1.6 KiB
YAML

name: 🚀 Deploy Static Content to GitHub Pages
on: push
# Sets the GITHUB_TOKEN permissions to allow deployment to GitHub Pages
permissions:
contents: read # Read access to repository contents
pages: write # Write access for deployment to GitHub Pages
id-token: write # Allow GitHub to issue an ID token for authentication
# Allow only one concurrent deployment at a time
concurrency:
group: pages # Group deployments by name for concurrency control
cancel-in-progress: true # Cancel any in-progress deployments if a new one starts
jobs:
deploy:
name: 🚀 Deploy to GitHub Pages
if: github.ref == 'refs/heads/master' # Only deploy from the main branch
environment:
name: github-pages # Set deployment environment to GitHub Pages
url: ${{ steps.deployment.outputs.page_url }} # Output page URL
runs-on: ubuntu-latest
steps:
- name: Checkout Repository 📥
uses: actions/checkout@v4
- name: Set up Node.js v20 💻
uses: actions/setup-node@v4
with:
node-version: 20
- name: Install Dependencies 🛠️
run: npm ci
- name: Build Static Content 🏗️
run: NODE_ENV=production npm run build
- name: Setup GitHub Pages ⚙️
uses: actions/configure-pages@v4
- name: Upload Build Artifacts 📦
uses: actions/upload-pages-artifact@v3
with:
path: ./build # Path to the build output directory
- name: Deploy to GitHub Pages 🌐
id: deployment
uses: actions/deploy-pages@v4 # Deploy the build to GitHub Pages