iseal-core/.github/workflows/pages.yml

57 lines
1.7 KiB
YAML

name: Pages
on:
push:
jobs:
parse:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Set up Python
uses: actions/setup-python@v2
with:
# 2021-12-14 this is currently an OK choice, but it will need to be
# updated eventually as the ecosystem moves. Keep in sync with the
# version in pyproject.toml.
python-version: 3.9
- name: Install Poetry
uses: abatilo/actions-poetry@v2.1.4
- name: Install Python dependencies
run: poetry install
- name: Generate Hugo content
run: |
poetry run ./util/generate-hugo-content.py -i ./data/iseal-core.csv --clean -d
- name: Setup Hugo
uses: peaceiris/actions-hugo@v2
- name: Build Hugo site
run: hugo
working-directory: site
- name: Commit Hugo content
uses: stefanzweifel/git-auto-commit-action@v4
with:
commit_message: Automated commit with site updates
# Only commit if there are changes to the site.
file_pattern: site/*
pages:
runs-on: ubuntu-latest
# Only run if we are on the main branch. We don't want to update the site
# with content from other branches.
if: ${{ github.ref_name == 'main' }}
# We need the parse job above. Do not run if that one fails.
needs: parse
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Git pull
run: git pull
- name: Deploy
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./site/docs
publish_branch: site