Skip to content

Commit 9244ef9

Browse files
committed
ci: add python development workflow
1 parent a5f9f07 commit 9244ef9

1 file changed

Lines changed: 81 additions & 0 deletions

File tree

.github/workflows/ci.yml

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
- master
8+
pull_request:
9+
workflow_dispatch:
10+
11+
permissions:
12+
contents: read
13+
14+
jobs:
15+
tests:
16+
name: Python ${{ matrix.python-version }}
17+
runs-on: ubuntu-latest
18+
strategy:
19+
fail-fast: false
20+
matrix:
21+
python-version:
22+
- "3.10"
23+
- "3.11"
24+
- "3.12"
25+
- "3.13"
26+
27+
steps:
28+
- name: Check out repository
29+
uses: actions/checkout@v5
30+
31+
- name: Set up Python
32+
uses: actions/setup-python@v6
33+
with:
34+
python-version: ${{ matrix.python-version }}
35+
cache: pip
36+
cache-dependency-path: pyproject.toml
37+
38+
- name: Install package
39+
run: |
40+
python -m pip install --upgrade pip
41+
python -m pip install -e ".[dev]"
42+
43+
- name: Run tests
44+
run: python -m pytest -v
45+
46+
package:
47+
name: Package build
48+
runs-on: ubuntu-latest
49+
50+
steps:
51+
- name: Check out repository
52+
uses: actions/checkout@v5
53+
54+
- name: Set up Python
55+
uses: actions/setup-python@v6
56+
with:
57+
python-version: "3.13"
58+
cache: pip
59+
cache-dependency-path: pyproject.toml
60+
61+
- name: Build package
62+
run: |
63+
python -m pip install --upgrade pip build
64+
python -m build
65+
66+
- name: Install built wheel
67+
run: python -m pip install dist/*.whl
68+
69+
- name: Check console entrypoint
70+
run: hosted-kcc --help
71+
72+
docker:
73+
name: Docker build
74+
runs-on: ubuntu-latest
75+
76+
steps:
77+
- name: Check out repository
78+
uses: actions/checkout@v5
79+
80+
- name: Build image
81+
run: docker build -t hosted-kcc:ci .

0 commit comments

Comments
 (0)