privatecoffee-website/.forgejo/workflows/build.yml
Kumi 0b0f8bb3b2
All checks were successful
Build and Deploy Static Site / build (push) Successful in 58s
fix(build): ensure .gitignore is included in temp site
Added copying of .gitignore to the temporary static site location in both development and production build scripts. This prevents unnecessary files from being included in the new orphan branches, ensuring a cleaner and more efficient build process.
2024-07-01 10:37:42 +02:00

50 lines
1.3 KiB
YAML

name: Build and Deploy Static Site
on:
push:
branches:
- main
jobs:
build:
container: node:20-bookworm
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Install dependencies
run: |
apt update
apt install -y python3 python3-pip
python3 -m pip install -r requirements.txt --break-system-packages
- name: Generate static site
run: python3 main.py
- name: Deploy to pages branch
run: |
# Configure Git
git config --global user.name "Forgejo"
git config --global user.email "noreply@private.coffee"
# Move generated static site files to a temporary location
mv build ../static_site_temp
cp .gitignore ../static_site_temp
# Create a new orphan branch named 'pages'
git checkout --orphan pages
# Remove all files from the working directory
git rm -rf .
# Move the static site files back to the working directory
mv ../static_site_temp/* ./
mv ../static_site_temp/.* ./ 2>/dev/null || true
# Add and commit the static site files
git add .
git commit -m "Deploy static site"
# Force push to the 'pages' branch
git push origin pages --force