Skip to content

Commit ce21746

Browse files
Copilotamitsaha
andauthored
Add GitHub Actions workflow for Pelican Pages publishing
Co-authored-by: amitsaha <512598+amitsaha@users.noreply.github.com>
1 parent a8ad9db commit ce21746

2 files changed

Lines changed: 63 additions & 6 deletions

File tree

‎.github/workflows/publish.yml‎

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
name: Publish website
2+
3+
on:
4+
push:
5+
branches:
6+
- master
7+
- site
8+
workflow_dispatch:
9+
10+
permissions:
11+
contents: read
12+
pages: write
13+
id-token: write
14+
15+
concurrency:
16+
group: pages
17+
cancel-in-progress: true
18+
19+
jobs:
20+
build:
21+
runs-on: ubuntu-latest
22+
steps:
23+
- name: Check out repository
24+
uses: actions/checkout@v4
25+
26+
- name: Set up Python
27+
uses: actions/setup-python@v5
28+
with:
29+
python-version: "3.x"
30+
31+
- name: Install Pelican and plugins
32+
run: |
33+
python -m pip install --upgrade pip
34+
python -m pip install pelican pelican-youtube markdown pelican-gist beautifulsoup4
35+
git clone --recursive https://github.com/getpelican/pelican-plugins /pelican-plugins
36+
37+
- name: Build site
38+
run: |
39+
make build
40+
cp CNAME output/CNAME
41+
42+
- name: Configure Pages
43+
uses: actions/configure-pages@v5
44+
45+
- name: Upload Pages artifact
46+
uses: actions/upload-pages-artifact@v3
47+
with:
48+
path: output
49+
50+
deploy:
51+
environment:
52+
name: github-pages
53+
url: ${{ steps.deployment.outputs.page_url }}
54+
runs-on: ubuntu-latest
55+
needs: build
56+
steps:
57+
- name: Deploy to GitHub Pages
58+
id: deployment
59+
uses: actions/deploy-pages@v4

‎README.md‎

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
# Notes for future self
22

3+
Publishing is handled by GitHub Actions.
34

4-
1. Edit on site
5-
2. build using ./build.sh
6-
3. copy output somewhere
7-
4. git checkout master
8-
5. copy the output from somewhere to master
9-
6. git push
5+
1. Edit content on the `site` branch
6+
2. Push changes
7+
3. GitHub Actions builds the Pelican site and deploys to GitHub Pages

0 commit comments

Comments
 (0)