Merge pull request #15 from srtee/patch-1 #94
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# SPDX-FileCopyrightText: © 2022 Matt Williams <[email protected]> | |
# SPDX-License-Identifier: MIT | |
name: CI | |
on: | |
push: | |
branches: | |
- master | |
pull_request: | |
jobs: | |
licenses: | |
name: "Check licenses" | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install reuse | |
run: | | |
python -m venv ~/venv | |
~/venv/bin/pip install reuse | |
- name: Check REUSE spec | |
run: ~/venv/bin/reuse lint | |
test: | |
name: "Run code tests" | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: "3.x" | |
- name: Install Poetry | |
run: pip install poetry | |
- name: Setup package | |
run: poetry install | |
- name: Run pytest | |
run: poetry run pytest --doctest-modules -v | |
generate: | |
name: "Generate GeoJSON" | |
runs-on: ubuntu-latest | |
needs: [licenses, test] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: "3.x" | |
- name: Install Poetry | |
run: pip install poetry | |
- name: Setup package | |
run: poetry install --no-dev | |
- name: Generate the GeoJSON | |
run: poetry run generate | |
- name: Archive GeoJSON | |
uses: actions/upload-artifact@v4 | |
with: | |
name: groups.json | |
path: groups.json | |
deploy: | |
name: "Deploy webpage" | |
runs-on: ubuntu-latest | |
needs: [generate] | |
if: ${{ github.ref == 'refs/heads/master' && github.event_name != 'pull_request' }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Download all workflow run artifacts | |
uses: actions/download-artifact@v4 | |
with: | |
name: groups.json | |
- name: Move everything into place | |
run: | | |
mkdir build | |
cp groups.json build | |
cp rse-groups.js build | |
cp index.html build | |
- name: Deploy | |
uses: JamesIves/[email protected] | |
with: | |
branch: gh-pages | |
folder: build |