forked from aerospike-community/document-lib-python
-
Notifications
You must be signed in to change notification settings - Fork 0
54 lines (49 loc) · 1.69 KB
/
Copy pathpython-package.yml
File metadata and controls
54 lines (49 loc) · 1.69 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# This workflow will install Python dependencies, run tests and lint with a variety of Python versions
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions
name: Python package
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
jobs:
build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ["3.7", "3.8", "3.9"]
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v3
with:
python-version: ${{ matrix.python-version }}
- name: Setup Poetry
run: |
# Install poetry
curl -sSL https://install.python-poetry.org | python3 -
- name: Install developer dependencies and documentapi
run: poetry install
- name: Lint with flake8
run: |
# The GitHub editor is 127 chars wide
poetry run flake8 --count --max-complexity=10 --show-source --max-line-length=127 documentapi/ docs/cookbook-ex.py tests/
- name: Build documentation
run: |
cd docs/
poetry run sphinx-build -b spelling . build -W
poetry run sphinx-build -b html . htmldir -W
- name: Set up Aerospike Database
uses: reugn/github-action-aerospike@v1
- name: Test cookbook example
run: |
# Wait for server to finish startup
sleep 3
cd docs/
poetry run python3 cookbook-ex.py
- name: Run unit tests
run: |
poetry run coverage run -m unittest tests/test.py
- name: Run coverage test
run: poetry run coverage report --fail-under=100 --include=documentapi/api.py