Publish viASP to PyPi #4
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: Publish viASP to PyPi | |
on: | |
workflow_dispatch: | |
inputs: | |
frontend: | |
type: boolean | |
required: true | |
description: Publish frontend of main HEAD | |
backend: | |
type: boolean | |
required: true | |
description: Publish backend of main HEAD | |
jobs: | |
backend: | |
name: Publish backend | |
runs-on: ubuntu-latest | |
permissions: | |
id-token: write | |
steps: | |
- name: Get artifact | |
if: ${{ github.event.inputs.backend == 'true' }} | |
uses: dawidd6/action-download-artifact@v2 | |
with: | |
workflow: build_and_test.yml | |
path: dist | |
commit: ${{ github.sha }} | |
name: backend-${{ github.sha }} | |
- name: Publish on PyPi | |
if: ${{ github.event.inputs.backend == 'true' }} | |
uses: pypa/gh-action-pypi-publish@release/v1 | |
with: | |
repository-url: https://upload.pypi.org/legacy/ | |
frontend: | |
name: Publish frontend | |
runs-on: ubuntu-latest | |
permissions: | |
id-token: write | |
steps: | |
- name: Get artifact | |
if: ${{ github.event.inputs.frontend == 'true' }} | |
uses: dawidd6/action-download-artifact@v2 # version from GitHub disallows sharing between workflows | |
with: | |
workflow: build_and_test.yml | |
path: dist | |
commit: ${{ github.sha }} | |
name: frontend-${{ github.sha }} | |
- name: Publish on PyPi | |
if: ${{ github.event.inputs.frontend == 'true' }} | |
uses: pypa/gh-action-pypi-publish@release/v1 | |
with: | |
repository-url: https://upload.pypi.org/legacy/ | |
wrapper: | |
needs: [ frontend, backend ] | |
name: Publish container | |
if: ${{ github.event.inputs.frontend == 'true' || github.event.inputs.backend == 'true' }} | |
runs-on: ubuntu-latest | |
permissions: | |
id-token: write | |
steps: | |
- name: Checking out repository | |
uses: actions/checkout@v4 | |
- name: Setup Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.11' | |
- name: Cache conda env | |
uses: actions/cache@v4 | |
with: | |
path: ${{ env.pythonLocation }} | |
key: ${{ env.pythonLocation }}-${{ hashFiles('requirements.txt') }} | |
id: cache | |
- name: Building wrapper | |
run: python -m build --sdist --wheel --outdir dist/; | |
- name: Publish on PyPi | |
uses: pypa/gh-action-pypi-publish@release/v1 | |
with: | |
repository-url: https://upload.pypi.org/legacy/ | |
packages-dir: dist |