Update main.yml #31
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
name: docs_pages_workflow | |
permissions: | |
contents: read | |
pages: write | |
id-token: write | |
on: | |
push: | |
branches: [main] | |
jobs: | |
calculate-version: | |
name: Calculate Version | |
runs-on: ubuntu-latest | |
outputs: | |
semVer: ${{ steps.gitversion.outputs.semVer }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
with: | |
fetch-depth: 0 | |
- name: Install GitVersion | |
uses: gittools/actions/gitversion/[email protected] | |
with: | |
versionSpec: '5.x' | |
- name: Determine Version | |
id: gitversion | |
uses: gittools/actions/gitversion/[email protected] | |
with: | |
useConfigFile: true | |
display-semver: | |
name: Display Semantic Version | |
runs-on: ubuntu-latest | |
needs: calculate-version | |
env: | |
SEMVER: ${{ needs.calculate-version.outputs.semVer }} | |
steps: | |
- name: Display version | |
run: | | |
echo SemVer: $SEMVER | |
build-n-publish: | |
name: Build and publish Python 🐍 distributions 📦 to PyPI | |
runs-on: ubuntu-latest | |
needs: calculate-version | |
env: | |
SEMVER: ${{ needs.calculate-version.outputs.semVer }} | |
PYPI_USERNAME: ${{ secrets.PYPI_USERNAME }} | |
PYPI_API_TOKEN: ${{ secrets.PYPI_API_TOKEN }} | |
steps: | |
- uses: actions/checkout@master | |
- name: Set up Python 3.10 | |
uses: actions/setup-python@v3 | |
with: | |
python-version: "3.10" | |
- name: Install pypa/build | |
run: >- | |
python -m | |
pip install | |
build | |
--user | |
- name: Install project requirements | |
run: >- | |
pip install -r requirements.txt | |
- name: Build binary wheel | |
run: | | |
python setup.py ${{env.SEMVER}} sdist bdist_wheel | |
- name: Publish package to PyPI | |
uses: pypa/gh-action-pypi-publish@release/v1 | |
with: | |
password: ${{ secrets.PYPI_API_TOKEN }} | |
packages_dir: dist/ | |
build_docs_job: | |
runs-on: ubuntu-latest | |
needs: build-n-publish | |
name: Build documentation and publishes it to GithubPages | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Setup Python | |
uses: actions/[email protected] | |
with: | |
python-version: 3.9 | |
- name: Install dependencies | |
run: | | |
python -m pip install -U sphinx | |
python -m pip install sphinx-rtd-theme | |
python -m pip install sphinxcontrib-bibtex | |
python -m pip install ShockPy | |
python -m pip install sphinx-gallery | |
python -m pip install SciencePlots | |
- name: Make the Sphinx Docs | |
run: | | |
make -C docs clean | |
make -C docs html | |
- name: Upload GitHub Pages artifact | |
uses: actions/[email protected] | |
with: | |
# Path of the directory containing the static assets. | |
path: docs/build/html/ | |
- name: Deploy GitHub Pages site | |
uses: actions/[email protected] | |
with: | |
token: ${{ github.token }} | |
release: | |
runs-on: ubuntu-latest | |
needs: build-n-publish | |
name: Create a Github Release | |
env: | |
SEMVER: ${{ needs.calculate-version.outputs.semVer }} | |
steps: | |
- name: Create Github release | |
run: | | |
gh release create 'v$SEMVER' | |
- name: Upload Github release | |
run: | | |
gh release upload 'v$SEMVER' | |