source: .circleci/config.yml @ e8aed04c

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

[ci] bump circleci config version to 2.1

  • Property mode set to 100644
File size: 2.4 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-27:
45    docker:
46      - image: cimg/python:2.7
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-36:
59    docker:
60      - image: cimg/python:3.6
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:
73    docker:
74      - image: cimg/python:3.10
75    steps:
76      - checkout
77      - run: *apt-install
78      - run: *pip-install
79      - run: *build-wheel
80      - run: *install-wheel
81      - run: *test-pytest
82      - run: *uninstall-wheel
83      - store_artifacts:
84          path: dist/
85
86  build-310-nodeps:
87    docker:
88      - image: cimg/python:3.10
89    steps:
90      - checkout
91      - run: *pip-install
92      - run: *build-wheel
93      - run: *install-wheel
94      - run: *test-pytest-nosounds
95      - run: *uninstall-wheel
96      - store_artifacts:
97          path: dist/
98
99workflows:
100  version: 2
101
102  test-wheel:
103    jobs:
104      - build-27
105      - build-36
106      - build-310
107      - build-310-nodeps
Note: See TracBrowser for help on using the repository browser.