Merge pull request #341 from ImperialCollegeLondon/fix-pandoc #26
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
on: | ||
release: | ||
types: [published] | ||
permissions: | ||
contents: write | ||
attestations: write | ||
id-token: write | ||
jobs: | ||
test-docs: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- uses: actions/setup-python@v5 | ||
with: | ||
python-version: "3.11" | ||
- name: Install dependencies | ||
run: | | ||
pip install .[doc] | ||
python -c "import pypandoc; pypandoc.download_pandoc()" | ||
- name: Test Docs | ||
run: mkdocs build | ||
test: | ||
uses: ./.github/workflows/ci_template.yml | ||
secrets: | ||
codecov_token: ${{ secrets.CODECOV_TOKEN }} | ||
with: | ||
os: '["ubuntu-latest", "windows-latest", "macos-latest"]' | ||
python-version: '["3.10", "3.11", "3.12"]' | ||
build-wheel: | ||
needs: test | ||
name: Build source distribution | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
with: | ||
fetch-depth: 0 | ||
- uses: hynek/build-and-inspect-python-package@v2 | ||
with: | ||
attest-build-provenance-github: true | ||
skip-wheel: true | ||
publish-TestPyPI: | ||
needs: build-wheel | ||
name: Publish SWMManywhere to TestPyPI | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Download packages built by build-and-inspect-python-package | ||
uses: actions/download-artifact@v4 | ||
with: | ||
name: Packages | ||
path: dist | ||
- name: Generate artifact attestation for sdist and wheel | ||
uses: actions/attest-build-provenance@v1 | ||
with: | ||
subject-path: dist | ||
- name: Publish package distributions to TestPyPI | ||
uses: pypa/gh-action-pypi-publish@release/v1 | ||
with: | ||
repository-url: https://test.pypi.org/legacy/ | ||
skip-existing: true | ||
publish-PyPI: | ||
needs: publish-TestPyPI | ||
name: Publish SWMManywhere to PyPI | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Download packages built by build-and-inspect-python-package | ||
uses: actions/download-artifact@v4 | ||
with: | ||
name: Packages | ||
path: dist | ||
- name: Generate artifact attestation for sdist and wheel | ||
uses: actions/attest-build-provenance@v1 | ||
with: | ||
subject-path: dist | ||
- name: Publish package distributions to PyPI | ||
uses: pypa/gh-action-pypi-publish@release/v1 | ||
paper: | ||
runs-on: ubuntu-latest | ||
needs: publish-PyPI | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v4 | ||
- name: Build draft PDF | ||
uses: openjournals/openjournals-draft-action@master | ||
with: | ||
journal: joss | ||
# This should be the path to the paper within your repo. | ||
paper-path: docs/paper/paper.md | ||
- name: Upload | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: paper | ||
# This is the output path where Pandoc will write the compiled | ||
# PDF. Note, this should be the same directory as the input | ||
# paper.md | ||
path: docs/paper/paper.pdf | ||
publish-docs: | ||
needs: paper | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- uses: actions/setup-python@v5 | ||
with: | ||
python-version: "3.11" | ||
- name: Install dependencies | ||
run: | | ||
pip install .[doc] | ||
python -c "import pypandoc; pypandoc.download_pandoc()" | ||
- name: Deploy Docs | ||
run: mkdocs gh-deploy --force |