Update CHANGES.md #219
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: Python package | |
on: | |
push: | |
branches: [master] | |
pull_request: | |
workflow_dispatch: | |
jobs: | |
test: | |
runs-on: ${{ matrix.os }} | |
timeout-minutes: 15 | |
env: | |
PYTHON_COVERAGE_ENABLED: '3.8' | |
PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION: python | |
strategy: | |
matrix: | |
os: [ 'ubuntu-latest' ] | |
python: [3.7, 3.8, 3.9, '3.10'] | |
include: | |
- os: 'darwin' | |
python: '3.8' | |
experimental: true | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Set up Python ${{ matrix.python }} | |
uses: actions/setup-python@v2 | |
with: | |
python-version: ${{ matrix.python }} | |
- name: Apt-Get Install | |
if: startsWith(matrix.os, 'ubuntu') | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y shellcheck graphviz | |
- name: Brew Install | |
if: startsWith(matrix.os, 'darwin') | |
run: | | |
brew update | |
brew install graphviz | |
- name: Install | |
run: | | |
python -m pip install --upgrade pip | |
python -m pip install .[all] | |
- name: Linter | |
run: | | |
pycodestyle --filename=protobuf-uml-diagram --exclude=.git,__pycache__,.tox,venv,protobuf_uml_diagram.egg-info,.pytest_cache --max-line-length=120 | |
- name: MyPy | |
run: | | |
mypy protobuf_uml_diagram.py | |
- name: Unit tests with coverage | |
run: | | |
coverage run -p setup.py test | |
- name: Functional tests with coverage | |
run: | | |
coverage run -p protobuf_uml_diagram.py --proto test_data/issue_10.proto --output /tmp | |
- name: Coverage | |
if: ${{ success() && matrix.python == env.PYTHON_COVERAGE_ENABLED }} | |
run: | | |
coverage combine | |
coverage xml --ignore-errors | |
bash <(curl -s https://codecov.io/bash) | |
docker: | |
runs-on: ${{ matrix.os }} | |
timeout-minutes: 15 | |
strategy: | |
matrix: | |
os: [ 'ubuntu-latest' ] | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Docker build and run | |
run: | | |
bash dockerbuild.sh | |
mkdir -p $(pwd)/test_data/out | |
bash dockerrun.sh $(pwd -P)/test_data/ $(pwd)/test_data/out | |
# TODO: publish to PYPI in GH actions? see skosmos-client & other natlib workflows |