Skip to content

Commit 5fbd57c

Browse files
committed
ci: Added github workflows for automated ci
1 parent b317891 commit 5fbd57c

File tree

2 files changed

+103
-0
lines changed

2 files changed

+103
-0
lines changed

.github/workflows/ci_linting.yml

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
name: CI Audit, Formatting & Linting
2+
3+
on:
4+
pull_request:
5+
types: [opened, reopened, synchronize]
6+
branches:
7+
- main
8+
9+
jobs:
10+
build:
11+
runs-on: ubuntu-latest
12+
strategy:
13+
matrix:
14+
python-version: ["3.7.17"]
15+
16+
steps:
17+
- uses: actions/checkout@v5
18+
19+
- name: Set up ${{ matrix.python-version }}
20+
uses: actions/setup-python@v5
21+
with:
22+
python-version: ${{ matrix.python-version }}
23+
24+
- name: Install Poetry
25+
run: pipx install poetry==2.2.0
26+
27+
- name: Cache Poetry virtualenv
28+
uses: actions/cache@v4
29+
with:
30+
path: ~/.cache/pypoetry
31+
key: ${{ runner.os }}-poetry-${{ hashFiles('**/poetry.lock') }}
32+
restore-keys: |
33+
${{ runner.os }}-poetry-
34+
35+
- name: Install lint dependencies
36+
run: poetry install --with lint
37+
38+
# Ignoring pip-audit for now - known vulnerabilities with py 3.7
39+
# - name: Install pip-audit
40+
# run: poetry run pip install --force-reinstall pip-audit
41+
42+
# - name: Run Audit
43+
# run: poetry run pip-audit
44+
45+
- name: Run isort
46+
run: poetry run isort src
47+
48+
- name: Run mypy
49+
run: poetry run mypy src
50+
51+
- name: Run pylint
52+
run: poetry run pylint src

.github/workflows/ci_testing.yml

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
name: CI Unit Tests
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
pull_request:
8+
types: [opened, reopened, synchronize]
9+
10+
jobs:
11+
build:
12+
runs-on: ubuntu-latest
13+
strategy:
14+
matrix:
15+
python-version: ["3.7.17"]
16+
17+
steps:
18+
- uses: actions/checkout@v5
19+
20+
- name: Set up ${{ matrix.python-version }}
21+
uses: actions/setup-python@v5
22+
with:
23+
python-version: ${{ matrix.python-version }}
24+
25+
- name: Install Poetry
26+
run: |
27+
pipx install poetry==1.4.2
28+
29+
- name: Cache Poetry virtualenv
30+
uses: actions/cache@v4
31+
with:
32+
path: ~/.cache/pypoetry
33+
key: ${{ runner.os }}-poetry-${{ hashFiles('**/poetry.lock') }}
34+
restore-keys: |
35+
${{ runner.os }}-poetry-
36+
37+
- name: Install test dependencies
38+
run: |
39+
poetry install --with test
40+
41+
- name: Run unit tests
42+
run: make coverage
43+
44+
- name: Upload Coverage Report
45+
uses: actions/upload-artifact@v4
46+
with:
47+
name: coverage-xml
48+
path: coverage.xml
49+
50+
- name: Run behave tests
51+
run: make behave

0 commit comments

Comments
 (0)