Skip to content

Add Github actions workflow publishing to python-example #84

Add Github actions workflow publishing to python-example

Add Github actions workflow publishing to python-example #84

name: Test cookiecutters
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
jobs:
build-cli:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: |
3.8
3.9
3.10
3.11
3.12
- name: Install dependencies
run: pip install cookiecutter tox
- run: mkdir -p .tmp/
- name: Build cli
working-directory: .tmp
run: cookiecutter --config-file ../tests/cli.yaml --no-input ../
- name: Run tox
working-directory: .tmp/python_cli
run: tox
build-lib:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: |
3.8
3.9
3.10
3.11
3.12
- name: Install dependencies
run: pip install cookiecutter tox build twine
- run: mkdir -p .tmp/
- name: Build cli
working-directory: .tmp
run: cookiecutter --config-file ../tests/lib.yaml --no-input ../
- name: Run tox
working-directory: .tmp/python_library
run: tox
- name: Build and check
working-directory: .tmp/python_library
run: |
python3 -m build .
twine check dist/*
build-service:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: |
3.8
3.9
3.10
3.11
3.12
- name: Install dependencies
run: pip install cookiecutter tox
- run: mkdir -p .tmp/
- name: Build service
working-directory: .tmp
run: cookiecutter --config-file ../tests/service.yaml --no-input ../
- name: Generate requirements
working-directory: .tmp/python_service
run: tox run -m requirements
- name: Run tox
working-directory: .tmp/python_service
run: tox
- name: Build and push Docker image
uses: docker/[email protected]
with:
context: .tmp/python_service
push: false
tags: user/app:test
- name: Smoke test the image
run: docker run --rm user/app:test