source: .circleci/config.yml

Last change on this file was edf82d8, checked in by Paul Brossier <piem@piem.org>, 3 months ago

[ci] add python 3.12 to circleci

  • Property mode set to 100644
File size: 2.7 KB
Line 
1# python circleci 2.1 configuration
2# see https://circleci.com/docs/2.1/language-python/
3version: 2.1
4
5apt-run: &apt-install
6  name: Install apt packages
7  command: |
8    sudo apt-get update
9    sudo apt-get -y install make sox pkg-config libavcodec-dev libavformat-dev libswresample-dev libavutil-dev libsndfile1-dev libsamplerate-dev librubberband-dev libvorbis-dev libflac-dev
10
11pip-install: &pip-install
12  name: Install pip dependencies
13  command: |
14    pip install --user -r requirements.txt
15
16build-wheel: &build-wheel
17  name: Build python wheel
18  command: |
19    pip wheel -v -v -v --wheel-dir=dist .
20
21install-wheel: &install-wheel
22  name: Install python wheel
23  command: |
24    pip install --user dist/aubio*.whl
25
26test-pytest: &test-pytest
27  name: Test python wheel
28  command: |
29    make create_test_sounds
30    PATH=/home/circleci/.local/bin:$PATH pytest -v
31
32test-pytest-nosounds: &test-pytest-nosounds
33  name: Test python wheel
34  command: |
35    PATH=/home/circleci/.local/bin:$PATH pytest -v
36
37uninstall-wheel: &uninstall-wheel
38  name: Uninstall python wheel
39  command: |
40    pip show -f aubio
41    pip uninstall --verbose --yes aubio
42
43jobs:
44  build-36:
45    docker:
46      - image: cimg/python:3.6
47    steps:
48      - checkout
49      - run: *apt-install
50      - run: *pip-install
51      - run: *build-wheel
52      - run: *install-wheel
53      - run: *test-pytest
54      - run: *uninstall-wheel
55      - store_artifacts:
56          path: dist/
57
58  build-310:
59    docker:
60      - image: cimg/python:3.10
61    steps:
62      - checkout
63      - run: *apt-install
64      - run: *pip-install
65      - run: *build-wheel
66      - run: *install-wheel
67      - run: *test-pytest
68      - run: *uninstall-wheel
69      - store_artifacts:
70          path: dist/
71
72  build-310-nodeps:
73    docker:
74      - image: cimg/python:3.10
75    steps:
76      - checkout
77      - run: *pip-install
78      - run: *build-wheel
79      - run: *install-wheel
80      - run: *test-pytest-nosounds
81      - run: *uninstall-wheel
82      - store_artifacts:
83          path: dist/
84
85  build-312:
86    docker:
87      - image: cimg/python:3.12
88    steps:
89      - checkout
90      - run: *apt-install
91      - run: *pip-install
92      - run: *build-wheel
93      - run: *install-wheel
94      - run: *test-pytest
95      - run: *uninstall-wheel
96      - store_artifacts:
97          path: dist/
98
99  build-312-nodeps:
100    docker:
101      - image: cimg/python:3.12
102    steps:
103      - checkout
104      - run: *pip-install
105      - run: *build-wheel
106      - run: *install-wheel
107      - run: *test-pytest-nosounds
108      - run: *uninstall-wheel
109      - store_artifacts:
110          path: dist/
111
112workflows:
113  version: 2
114
115  test-wheel:
116    jobs:
117      - build-36
118      - build-310
119      - build-310-nodeps
120      - build-312
121      - build-312-nodeps
Note: See TracBrowser for help on using the repository browser.