Skip to content

Commit b7d75d2

Browse files
committed
Circle conf
1 parent 521c988 commit b7d75d2

File tree

3 files changed

+222
-10
lines changed

3 files changed

+222
-10
lines changed

.circleci/config.yml

Lines changed: 47 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,22 +5,40 @@ orbs:
55
browser-tools: circleci/[email protected]
66

77
executors:
8-
python:
9-
docker:
10-
- image: cimg/python:3.10
8+
python3-9: {docker: [{image: cimg/python:3.9}]}
9+
python3-10: {docker: [{image: cimg/python:3.10}]}
10+
python3-11: {docker: [{image: cimg/python:3.11}]}
11+
python3-12: {docker: [{image: cimg/python:3.12}]}
1112

1213
jobs:
1314
setup:
14-
executor: python
15+
executor: python3-12
1516
steps:
1617
- checkout
1718
- python/install-packages:
1819
pkg-manager: poetry
1920
- run:
2021
name: Install python dependencies
2122
command: poetry install
22-
tests:
23-
executor: python
23+
build:
24+
executor: python3-12
25+
parameters:
26+
python-version:
27+
type: string
28+
default: "py39"
29+
steps:
30+
- checkout
31+
- python/install-packages:
32+
pkg-manager: poetry
33+
- run:
34+
name: Install apt dependencies
35+
command: |
36+
sudo apt-get update
37+
sudo apt-get install -y libfuse-dev
38+
- run:
39+
command: poetry build
40+
tests: &test-template
41+
executor: python3-12
2442
steps:
2543
- checkout
2644
- python/install-packages:
@@ -33,11 +51,27 @@ jobs:
3351
- run:
3452
command: poetry run pytest --cov=sizefs
3553
- run:
36-
command: poetry run tox
54+
command: poetry run tox -e << parameters.python-version >>
3755
- run:
3856
command: poetry build
57+
tests-3-9:
58+
<<: *test-template
59+
executor: python3-9
60+
parameters: {python-version: {default: "py39", type: string}}
61+
tests-3-10:
62+
<<: *test-template
63+
executor: python3-10
64+
parameters: {python-version: {default: "py310", type: string}}
65+
tests-3-11:
66+
<<: *test-template
67+
executor: python3-11
68+
parameters: {python-version: {default: "py311", type: string}}
69+
tests-3-12:
70+
<<: *test-template
71+
executor: python3-12
72+
parameters: {python-version: {default: "py312", type: string}}
3973
linting:
40-
executor: python
74+
executor: python3-12
4175
steps:
4276
- checkout
4377
- python/install-packages:
@@ -51,5 +85,9 @@ workflows:
5185
main:
5286
jobs:
5387
- setup
54-
- tests: {requires: [setup]}
88+
- tests-3-9: {requires: [setup], python-version: "py39"}
89+
- tests-3-10: {requires: [setup], python-version: "py310"}
90+
- tests-3-11: {requires: [setup], python-version: "py311"}
91+
- tests-3-12: {requires: [setup], python-version: "py312"}
5592
- linting: {requires: [setup]}
93+
- build: {requires: [setup, tests-3-9, tests-3-10, tests-3-11, tests-3-12, linting]}

0 commit comments

Comments
 (0)