source: .circleci/config.yml @ b8e23f8

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

[ci] add python 3.12 to circleci

  • Property mode set to 100644
File size: 2.7 KB
RevLine 
[e8aed04c]1# python circleci 2.1 configuration
2# see https://circleci.com/docs/2.1/language-python/
3version: 2.1
4
[73f02cc]5apt-run: &apt-install
6  name: Install apt packages
7  command: |
[f70e181]8    sudo apt-get update
[7545b56]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
[73f02cc]10
[91ac33f]11pip-install: &pip-install
12  name: Install pip dependencies
13  command: |
[58cc68e]14    pip install --user -r requirements.txt
[91ac33f]15
[73f02cc]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
[a363759]22  name: Install python wheel
[73f02cc]23  command: |
[58cc68e]24    pip install --user dist/aubio*.whl
[73f02cc]25
[548f60d]26test-pytest: &test-pytest
[73f02cc]27  name: Test python wheel
28  command: |
29    make create_test_sounds
[548f60d]30    PATH=/home/circleci/.local/bin:$PATH pytest -v
[73f02cc]31
[548f60d]32test-pytest-nosounds: &test-pytest-nosounds
[ab8bffa]33  name: Test python wheel
34  command: |
[548f60d]35    PATH=/home/circleci/.local/bin:$PATH pytest -v
[ab8bffa]36
37uninstall-wheel: &uninstall-wheel
38  name: Uninstall python wheel
39  command: |
40    pip show -f aubio
41    pip uninstall --verbose --yes aubio
42
[73f02cc]43jobs:
[c9701ff]44  build-36:
45    docker:
[68d4565]46      - image: cimg/python:3.6
[73f02cc]47    steps:
48      - checkout
49      - run: *apt-install
[91ac33f]50      - run: *pip-install
[73f02cc]51      - run: *build-wheel
52      - run: *install-wheel
[548f60d]53      - run: *test-pytest
[ab8bffa]54      - run: *uninstall-wheel
[73f02cc]55      - store_artifacts:
56          path: dist/
57
[ea7f48e]58  build-310:
[500f4c2]59    docker:
[ea7f48e]60      - image: cimg/python:3.10
[500f4c2]61    steps:
62      - checkout
63      - run: *apt-install
64      - run: *pip-install
65      - run: *build-wheel
66      - run: *install-wheel
[548f60d]67      - run: *test-pytest
[ab8bffa]68      - run: *uninstall-wheel
[500f4c2]69      - store_artifacts:
70          path: dist/
71
[ea7f48e]72  build-310-nodeps:
[f1baffd]73    docker:
[ea7f48e]74      - image: cimg/python:3.10
[f1baffd]75    steps:
76      - checkout
77      - run: *pip-install
78      - run: *build-wheel
79      - run: *install-wheel
[548f60d]80      - run: *test-pytest-nosounds
[ab8bffa]81      - run: *uninstall-wheel
[f1baffd]82      - store_artifacts:
83          path: dist/
84
[edf82d8]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
[73f02cc]112workflows:
113  version: 2
114
115  test-wheel:
116    jobs:
[c9701ff]117      - build-36
[ea7f48e]118      - build-310
119      - build-310-nodeps
[edf82d8]120      - build-312
121      - build-312-nodeps
Note: See TracBrowser for help on using the repository browser.