Skip to content

Publish (pypi)

Publish (pypi) #12

Workflow file for this run

name: Publish (pypi)
on:
release:
types:
- created
env:
PYPI_PROJECT_NAME: "lightdash-client-python"
PYPI_PACKAGE_NAME: "lightdash_client"
jobs:
publish:
runs-on: ubuntu-latest
defaults:
run:
shell: bash
steps:
- name: Dump GitHub context
env:
GITHUB_CONTEXT: ${{ toJson(github) }}
run: echo "$GITHUB_CONTEXT"
- uses: actions/checkout@v2
- name: Set up Python
uses: actions/setup-python@v2
- uses: actions/cache@v2
id: cache
with:
path: ${{ env.pythonLocation }}
key: ${{ runner.os }}-python-${{ env.pythonLocation }}-${{ hashFiles('pyproject.toml') }}-publish
- name: Install Flit
if: steps.cache.outputs.cache-hit != 'true'
run: bash dev/setup.sh
- name: Publish
env:
# SEE https://packaging.python.org/en/latest/specifications/pypirc/?highlight=token#using-a-pypi-token
FLIT_USERNAME: __token__
FLIT_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
run: bash dev/publish.sh "pypi"
- name: Dump GitHub context
env:
GITHUB_CONTEXT: ${{ toJson(github) }}
run: echo "$GITHUB_CONTEXT"
test-published-package:
needs:
- publish
runs-on: ubuntu-latest
defaults:
run:
shell: bash
steps:
- name: Dump GitHub context
env:
GITHUB_CONTEXT: ${{ toJson(github) }}
run: echo "$GITHUB_CONTEXT"
- uses: actions/checkout@v2
- name: Set up Python
uses: actions/setup-python@v3
with:
python-version: "3.10"
- name: Install packages
run: |
python3 -m pip install -U "${{ env.PYPI_PROJECT_NAME }}"
- name: Test pacakge
run: |
python -c 'import ${{ env.PYPI_PACKAGE_NAME }}'