Skip to content

Commit c891b28

Browse files
committed
added .github
1 parent 0de5d7d commit c891b28

4 files changed

Lines changed: 145 additions & 0 deletions

File tree

.github/workflows/linting.yml

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# This workflow will install Python dependencies, then perform static linting analysis.
2+
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions
3+
4+
name: Lint
5+
6+
on:
7+
push:
8+
branches: [ main ]
9+
pull_request:
10+
branches: [ main ]
11+
12+
jobs:
13+
build:
14+
runs-on: ubuntu-latest
15+
steps:
16+
- uses: actions/checkout@v3
17+
- name: Set up Python
18+
uses: actions/setup-python@v4
19+
with:
20+
python-version: '3.13'
21+
- name: Install dependencies
22+
run: |
23+
sudo apt-get update
24+
python -m pip install --upgrade pip
25+
pip install .
26+
pip install .[dev]
27+
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
28+
- name: Type checking
29+
run: |
30+
mypy src
31+
- name: Linting
32+
run: |
33+
ruff check src tests
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# This workflow will upload a Python Package using Twine when a release is created
2+
# For more information see: https://github.com/pypa/gh-action-pypi-publish#trusted-publishing
3+
4+
# This workflow uses actions that are not certified by GitHub.
5+
# They are provided by a third-party and are governed by
6+
# separate terms of service, privacy policy, and support
7+
# documentation.
8+
9+
name: Upload Python Package
10+
11+
on:
12+
release:
13+
types: [published]
14+
15+
permissions:
16+
contents: read
17+
18+
jobs:
19+
deploy:
20+
21+
runs-on: ubuntu-latest
22+
permissions:
23+
id-token: write
24+
steps:
25+
- uses: actions/checkout@v3
26+
- name: Set up Python
27+
uses: actions/setup-python@v4
28+
with:
29+
python-version: '3.13'
30+
- name: Install dependencies
31+
run: |
32+
python -m pip install --upgrade pip
33+
pip install build
34+
- name: Build package
35+
run: python -m build
36+
- name: Publish package
37+
uses: pypa/gh-action-pypi-publish@release/v1

.github/workflows/smoke-test.yml

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# This workflow will run daily at 06:45.
2+
# It will install Python dependencies and run tests with a variety of Python versions.
3+
4+
name: Unit test smoke test
5+
6+
on:
7+
schedule:
8+
- cron: 45 6 * * *
9+
10+
# Allows you to run this workflow manually from the Actions tab
11+
workflow_dispatch:
12+
13+
jobs:
14+
build:
15+
16+
runs-on: ubuntu-latest
17+
strategy:
18+
matrix:
19+
python-version: ['3.13']
20+
21+
steps:
22+
- uses: actions/checkout@v3
23+
- name: Set up Python ${{ matrix.python-version }}
24+
uses: actions/setup-python@v4
25+
with:
26+
python-version: ${{ matrix.python-version }}
27+
- name: Install dependencies
28+
run: |
29+
sudo apt-get update
30+
python -m pip install --upgrade pip
31+
pip install .
32+
pip install .[dev]
33+
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
34+
- name: Run unit tests with pytest
35+
run: |
36+
python -m pytest tests
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# This workflow will install Python dependencies, run tests and report code coverage with a variety of Python versions
2+
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions
3+
4+
name: Unit test and code coverage
5+
6+
on:
7+
schedule:
8+
- cron: 45 7 * * 1
9+
push:
10+
branches: [ main ]
11+
pull_request:
12+
branches: [ main ]
13+
14+
jobs:
15+
build:
16+
17+
runs-on: ubuntu-latest
18+
strategy:
19+
matrix:
20+
python-version: ['3.13']
21+
steps:
22+
- uses: actions/checkout@v3
23+
with:
24+
fetch-tags: true
25+
fetch-depth: 0
26+
- name: Set up Python ${{ matrix.python-version }}
27+
uses: actions/setup-python@v4
28+
with:
29+
python-version: ${{ matrix.python-version }}
30+
- name: Install dependencies
31+
run: |
32+
sudo apt-get update
33+
python -m pip install --upgrade pip
34+
pip install .
35+
pip install .[dev]
36+
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
37+
- name: Run unit tests with pytest
38+
run: |
39+
python -m pytest tests

0 commit comments

Comments
 (0)