iseal-core/.github/workflows/pages.yml
Alan Orth 3288d2fe4e
.github/workflows/pages.yml: use separate steps for RDF and site
This way we can track changes and make commits separately for chan-
ges to the RDF files and site content.
2022-02-16 21:35:07 +03:00

74 lines
2.6 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:
# 2022-01-06 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.10'
- name: Install Poetry
uses: abatilo/actions-poetry@v2.1.4
- name: Install Python dependencies
run: poetry install
- name: Generate RDF files
run: |
poetry run ./util/create-rdf.py -i ./data/iseal-core.csv -ns https://iseal-community.github.io/iseal-core#
poetry run ./util/create-rdf.py -i ./data/fsc.csv -ns https://iseal-community.github.io/iseal-core/fsc#
- name: Commit RDF changes
uses: stefanzweifel/git-auto-commit-action@v4
# Only run if we are on the main branch. We don't want to create extra
# commits on feature branches or pull requests.
if: ${{ github.ref_name == 'main' }}
with:
commit_message: Automated commit with RDF updates
# Only commit if there are changes to the RDF files.
file_pattern: data/rdf/*.ttl
- name: Generate Hugo content
run: |
poetry run ./util/generate-hugo-content.py -i ./data/iseal-core.csv --clean -d
poetry run ./util/generate-hugo-content.py -i ./data/fsc.csv -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
# Only run if we are on the main branch. We don't want to create extra
# commits on feature branches or pull requests.
if: ${{ github.ref_name == 'main' }}
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