Merge pull request #59 from GNS-Science/update-urllib3-dep #34
Workflow file for this run
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
# Publish package on main branch if it's tagged with 'v*' | |
name: release & publish workflow | |
# Controls when the action will run. | |
on: | |
# Triggers the workflow on push events but only for the master branch | |
push: | |
tags: | |
- 'v*' | |
# Allows you to run this workflow manually from the Actions tab | |
workflow_dispatch: | |
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages | |
permissions: | |
contents: write | |
pages: write | |
id-token: write | |
# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. | |
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. | |
concurrency: | |
group: "pages" | |
cancel-in-progress: false | |
# A workflow run is made up of one or more jobs that can run sequentially or in parallel | |
jobs: | |
# This workflow contains a single job called "release" | |
release: | |
name: Create Release | |
runs-on: ubuntu-20.04 | |
strategy: | |
matrix: | |
python-versions: ["3.10"] | |
# Steps represent a sequence of tasks that will be executed as part of the job | |
steps: | |
- name: Get version from tag | |
id: tag_name | |
run: | | |
echo ::set-output name=current_version::${GITHUB_REF#refs/tags/v} | |
shell: bash | |
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it | |
- uses: actions/checkout@v2 | |
- name: Get Changelog Entry | |
id: changelog_reader | |
uses: GNS-Science/changelog-reader-action@master | |
with: | |
validation_depth: 10 | |
version: ${{ steps.tag_name.outputs.current_version }} | |
path: ./CHANGELOG.md | |
- uses: actions/setup-python@v2 | |
with: | |
python-version: ${{ matrix.python-versions }} | |
- name: Install and configure Poetry | |
uses: GNS-Science/install-poetry@main | |
with: | |
virtualenvs-create: true | |
virtualenvs-in-project: true | |
installer-parallel: true | |
- name: build documentation | |
run: | | |
poetry install -E doc -E openquake | |
poetry run mkdocs build | |
- name: Upload artifact | |
uses: actions/upload-pages-artifact@v2 | |
with: | |
path: ./site | |
- name: Build wheels and source tarball | |
run: >- | |
poetry build | |
- name: show temporary files | |
run: >- | |
ls -l | |
- name: create github release | |
id: create_release | |
uses: GNS-Science/action-gh-release@master | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
body: ${{ steps.changelog_reader.outputs.changes }} | |
files: dist/*.whl | |
draft: false | |
prerelease: false | |
- name: publish to PyPI | |
uses: pypa/gh-action-pypi-publish@release/v1 | |
with: | |
user: __token__ | |
password: ${{ secrets.PYPI_API_TOKEN }} | |
skip-existing: true | |
# Deploy Docs job | |
deploy: | |
environment: | |
name: github-pages | |
url: ${{ steps.deployment.outputs.page_url }} | |
runs-on: ubuntu-latest | |
needs: release | |
steps: | |
- name: Deploy Docs to GitHub Pages | |
id: deployment | |
uses: actions/deploy-pages@v2 |