Files
kst4contest/.github/workflows/website-build.yml
T

74 lines
1.7 KiB
YAML

name: Build Website
on:
push:
branches:
- main
paths:
- website/**
- github_docs/**
- .github/workflows/website-build.yml
pull_request:
branches:
- main
paths:
- website/**
- github_docs/**
- .github/workflows/website-build.yml
workflow_dispatch:
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
concurrency:
group: website-build-${{ github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
permissions:
contents: write
jobs:
build-website:
name: Build 11ty Website
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4.1.7
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: "24"
cache: npm
cache-dependency-path: website/package-lock.json
- name: Install dependencies
working-directory: website
run: npm ci
- name: Build website
working-directory: website
run: npm run build
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Upload website artifact
uses: actions/upload-artifact@v4.3.4
with:
name: kst4contest-website
path: website/_site/
retention-days: 7
- name: Commit rebuilt site
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
run: |
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
git add website/_site
if git diff --cached --quiet; then
echo "No changes to commit"
else
git commit -m "chore: rebuild website [skip ci]"
git push
fi