Skip to content

build_site

build_site #685

Workflow file for this run

name: build_site
on:
push:
branches:
- "main"
paths-ignore:
- '.github/workflows/run_tests.yml'
- '.github/dependabot.yml'
- 'dev_requirements.in'
- 'dev_requirements.txt'
- 'tests/**'
# rebuild once a day at 7:30 UTC
schedule:
- cron: "30 7 * * *"
jobs:
build:
name: Build the website
runs-on: ubuntu-latest
steps:
- name: "Check out the repo"
uses: actions/checkout@v4
- name: "Cache book data"
uses: "actions/cache@v4"
with:
path: books.json
key: "books-${{ github.sha }}"
restore-keys: "books-"
- name: "Cache cover images"
uses: "actions/cache@v4"
with:
path: covers
key: "covers-${{ github.sha }}"
restore-keys: "covers-"
- name: "Install dominant_colours"
run: |
curl -L -O 'https://github.com/alexwlchan/dominant_colours/releases/download/v1.2.0/dominant_colours-x86_64-unknown-linux-gnu.tar.gz'
tar -xzf dominant_colours-x86_64-unknown-linux-gnu.tar.gz
chmod +x dominant_colours
mv dominant_colours /usr/local/bin/dominant_colours
- name: "Check it works"
run: dominant_colours screenshot.png
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: 3.12
cache: pip
- name: "Install dependencies"
run: |
python3 -m pip install -e .
python3 -m pip install -r requirements.txt
- name: "Get the book data"
if: github.ref == 'refs/heads/main'
run: python3 get_book_data.py
env:
LIBRARY_CARD_NUMBER: ${{ secrets.LIBRARY_CARD_NUMBER }}
LIBRARY_CARD_PASSWORD: ${{ secrets.LIBRARY_CARD_PASSWORD }}
- name: "Render the data as HTML"
run: python3 render_data_as_html.py
- name: "Install the Netlify CLI"
run: npm install -g netlify-cli
- name: "Deploy to Netlify (preview)"
if: github.ref != 'refs/heads/main'
run: netlify deploy --dir=_html/
env:
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
- name: "Deploy to Netlify (live)"
if: github.ref == 'refs/heads/main'
run: netlify deploy --dir=_html/ --prod
env:
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}