Feature/runtime workflow tags #365
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
name: build | |
on: | |
pull_request: | |
types: [ opened, synchronize ] | |
push: | |
branches: [ main ] | |
release: | |
types: [ created ] | |
jobs: | |
test-pipeline: | |
runs-on: ${{ matrix.os }} | |
container: | |
image: python:${{ matrix.python-version }} | |
options: --user 1001 # run as the runner user instead of root | |
strategy: | |
max-parallel: 2 | |
matrix: | |
python-version: [ '3.8' ] | |
os: [ ubuntu-latest ] | |
steps: | |
- uses: actions/checkout@v3 # use latest version of the checkout action | |
- name: Set up JDK # used for py4j for cronutils | |
uses: actions/setup-java@v3 | |
with: | |
java-version: '8' | |
distribution: 'adopt' | |
- name: Install pip | |
run: python -m pip install --upgrade pip | |
- name: Install and configure Poetry | |
uses: snok/install-poetry@v1 | |
- name: Install poetry and build tools | |
run: | | |
export PATH=$PATH:$HOME/.local/bin | |
poetry self add "poetry-dynamic-versioning[plugin]" | |
- name: Install dependencies | |
run: | | |
export PATH=$PATH:$HOME/.local/bin | |
make poetry | |
- name: Install, lint and test | |
run: | | |
export PATH=$PATH:$HOME/.local/bin | |
export GITHUB_ACTIONS=true | |
make cov | |
- name: Publish test coverage | |
uses: codecov/codecov-action@v3 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
files: coverage.xml | |
deploy: | |
name: Deploy to PyPi | |
runs-on: ubuntu-latest | |
needs: | |
- test-pipeline | |
if: github.event_name == 'release' | |
steps: | |
- uses: actions/checkout@v3 # use latest version of the checkout action | |
- name: Set up JDK # used for py4j for cronutils | |
uses: actions/setup-java@v3 | |
with: | |
java-version: '8' | |
distribution: 'adopt' | |
- name: Install pip | |
run: python -m pip install --upgrade pip | |
- name: Install and configure Poetry | |
uses: snok/install-poetry@v1 | |
- name: Install build tools | |
run: | | |
export PATH=$PATH:$HOME/.local/bin | |
poetry self add "poetry-dynamic-versioning[plugin]" | |
- name: Install dependencies | |
run: | | |
export PATH=$PATH:$HOME/.local/bin | |
make poetry | |
- name: Install wheel and twine | |
run: python -m pip install wheel twine | |
- name: Build and publish | |
env: | |
TWINE_USERNAME: ${{ secrets.PYPI_USERNAME }} | |
TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }} | |
run: | | |
export PATH=$PATH:$HOME/.local/bin | |
make build | |
twine upload dist/* |