Skip to content

Merge pull request #15 from mlip-cmu/lab11 #49

Merge pull request #15 from mlip-cmu/lab11

Merge pull request #15 from mlip-cmu/lab11 #49

Workflow file for this run

name: publish-gh-pages
on:
push:
branches: main
jobs:
gh-pages:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Prepare _site
run: |
echo generate main html page in _site/
mkdir _site
cd .tools/schedulegen
npm install --no-optional
cd ../..
cd .tools/webgen
npm install --no-optional
cd ../..
- name: Generate main page
env:
GDOC_CREDENTIALS: ${{ secrets.GDOC_CREDENTIALS }}
SPREADSHEET_ID: ${{ secrets.SPREADSHEET_ID }}
run: |
echo $GDOC_CREDENTIALS > credentials.json
SPREADSHEET_ID="$SPREADSHEET_ID" SEMESTER=s2026 node .tools/schedulegen/index.js > schedule.md
node .tools/webgen/index.js README.md schedule.md > _site/index.html
cp *.svg _site/
cp *.png _site/
mkdir _site/assignments
cp assignments/*.html _site/assignments/
rm credentials.json
- name: Push to gh-pages
run: |
if git clone --quiet --branch gh-pages --depth 1 https://github.com/${{ github.repository }}.git .gh-pages 2>/dev/null; then
echo "gh-pages branch exists, cloned successfully"
rm -rf .gh-pages/*
else
echo "gh-pages branch does not exist, creating new orphan branch"
mkdir .gh-pages
cd .gh-pages
git init
git checkout --orphan gh-pages
cd ..
fi
mv _site/* .gh-pages
cd .gh-pages
rm .gitignore -f
git add .
touch .nojekyll
git add .nojekyll
git config --local user.email "ckaestne@nomail.cs.cmu.edu"
git config --local user.name "GitHub Action"
git commit --allow-empty -m "Update gh-pages for ${{ github.sha }}"
git push https://$GITHUB_ACTOR:${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }}.git HEAD:gh-pages --force --follow-tags -v