Skip to content

Release

Release #15

Workflow file for this run

name: Release
on:
release:
types: [published]
# Can be called manually
workflow_dispatch:
inputs:
release_tag:
description: 'Release tag'
default: 'latest'
type: string
checkout_ref:
description: 'Ref to checkout for doc index (default to current branch)'
default: ''
type: string
env:
DOCUMENTATION_CNAME: 'dpf.docs.pyansys.com'
MEILISEARCH_API_KEY: ${{ secrets.MEILISEARCH_API_KEY }}
MEILISEARCH_PUBLIC_API_KEY: ${{ secrets.MEILISEARCH_PUBLIC_API_KEY }}
jobs:
Publish_to_PyPI:
name: "Publish Release to PyPI"
runs-on: ubuntu-latest
if: startsWith(github.ref, 'refs/tags/v')
steps:
- name: "Download Release Assets"
uses: robinraju/release-downloader@v1.8
with:
tag: ${{ github.event.inputs.release_tag || 'latest' }}
fileName: "*.whl"
tarBall: true
zipBall: true
out-file-path: "assets"
extract: false
token: ${{ secrets.GITHUB_TOKEN }}
- name: "Upload to Public PyPI"
run: |
pip install twine
twine upload --skip-existing assets/*
env:
TWINE_USERNAME: __token__
TWINE_PASSWORD: ${{ secrets.PYPI_TOKEN }}
upload_docs_release:
name: "Upload stable documentation"
needs: [Publish_to_PyPI]
if: startsWith(github.ref, 'refs/tags/v')
runs-on: ubuntu-latest
steps:
- name: "Download Release Asset - HTML"
uses: dsaltares/fetch-gh-release-asset@1.1.0
with:
file: HTML-doc-ansys-dpf-core.zip
token: ${{ secrets.GITHUB_TOKEN }}
- name: "List downloaded assets"
shell: bash
run: |
ls
- name: "Upload artifact"
uses: actions/upload-artifact@v3
with:
name: HTML-doc-ansys-dpf-core.zip
path: HTML-doc-ansys-dpf-core.zip
- name: "Deploy the stable documentation"
uses: ansys/actions/doc-deploy-stable@v4
with:
cname: ${{ env.DOCUMENTATION_CNAME }}
token: ${{ secrets.GITHUB_TOKEN }}
doc-artifact-name: HTML-doc-ansys-dpf-core.zip
decompress-artifact: true
doc-index-stable:
name: "Deploy stable docs index"
runs-on: ubuntu-latest
needs: upload_docs_release
steps:
- name: "Install Git and clone project"
uses: actions/checkout@v4
with:
ref: ${{ github.event.inputs.checkout_ref || '' }}
- name: "Install the package requirements"
run: pip install -e .
- name: "Get the version to PyMeilisearch"
run: |
VERSION=$(python -c "from ansys.dpf.core import __version__; print('.'.join(__version__.split('.')[:2]))")
VERSION_MEILI=$(python -c "from ansys.dpf.core import __version__; print('-'.join(__version__.split('.')[:2]))")
echo "Calculated VERSION: $VERSION"
echo "Calculated VERSION_MEILI: $VERSION_MEILI"
echo "VERSION=$VERSION" >> $GITHUB_ENV
echo "VERSION_MEILI=$VERSION_MEILI" >> $GITHUB_ENV
- name: "Deploy the latest documentation index"
uses: ansys/actions/doc-deploy-index@v4
with:
cname: ${{ env.DOCUMENTATION_CNAME }}/version/${{ env.VERSION }}
index-name: pydpf-core-v${{ env.VERSION_MEILI }}
host-url: ${{ vars.MEILISEARCH_HOST_URL }}
api-key: ${{ env.MEILISEARCH_API_KEY }}
doc-artifact-name: HTML-doc-ansys-dpf-core.zip
decompress-artifact: true