Merge pull request #43 from branfosj/www #116
Workflow file for this run
This file contains hidden or 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 <matt@milliams.com> | |
| # 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 --with dev | |
| - 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 | |
| - 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/github-pages-deploy-action@v4.2.5 | |
| with: | |
| branch: gh-pages | |
| folder: build |