feat: add CI for building and deploying Pride theme site
Set up a new GitHub Actions workflow to automate the build and deployment of the static site with the Pride theme on pushes to the main branch. This includes checking out the repository, installing dependencies, generating the site, and deploying to a new 'pages-pride' branch. Ensures streamlined and consistent deployment aligned with updates.
This commit is contained in:
parent
92238bcfa2
commit
2d602bdc56
1 changed files with 50 additions and 0 deletions
50
.forgejo/workflows/build-pride.yml
Normal file
50
.forgejo/workflows/build-pride.yml
Normal file
|
@ -0,0 +1,50 @@
|
|||
name: Build and Deploy Static Site (Pride Theme)
|
||||
|
||||
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-pride'
|
||||
git checkout --orphan pages-pride
|
||||
|
||||
# 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-pride' branch
|
||||
git push origin pages-pride --force
|
Loading…
Reference in a new issue