1
- # Use the latest 2.1 version of CircleCI pipeline process engine.
2
- # See: https://circleci.com/docs/2.0/configuration-reference
3
1
version : 2.1
4
2
5
- # Orbs are reusable packages of CircleCI configuration that you may share across projects, enabling you to create encapsulated, parameterized commands, jobs, and executors that can be used across multiple projects.
6
- # See: https://circleci.com/docs/2.0/orb-intro/
7
3
orbs :
8
- # The python orb contains a set of prepackaged CircleCI configuration you can use repeatedly in your configuration files
9
- # Orb commands and jobs help you with common scripting around a language/tool
10
- # so you dont have to copy and paste it everywhere.
11
- # See the orb documentation here: https://circleci.com/developer/orbs/orb/circleci/python
12
4
python : circleci/python@1.2
13
5
win : circleci/windows@2.2.0
14
6
7
+ common_params : &COMMON_PARAMS
8
+ parameters :
9
+ librdkafka_version :
10
+ type : string
11
+ default : v1.8.2
12
+
15
13
commands :
16
14
install-librdkafka :
17
- parameters :
18
- librdkafka_version :
19
- type : string
20
- default : v1.8.2
15
+ << : *COMMON_PARAMS
21
16
steps :
22
17
- restore_cache :
23
18
keys :
@@ -37,10 +32,7 @@ commands:
37
32
command : tools/install-interceptors.sh
38
33
39
34
build-wheels :
40
- parameters :
41
- librdkafka_version :
42
- type : string
43
- default : v1.8.2
35
+ << : *COMMON_PARAMS
44
36
steps :
45
37
- run :
46
38
name : Build wheels
@@ -50,22 +42,10 @@ commands:
50
42
path : wheelhouse
51
43
52
44
53
- # Define a job to be invoked later in a workflow.
54
- # See: https://circleci.com/docs/2.0/configuration-reference/#jobs
55
45
jobs :
56
- build-and-test : # This is the name of the job, feel free to change it to better match what you're trying to do!
57
- # These next lines defines a Docker executors: https://circleci.com/docs/2.0/executor-types/
58
- # You can specify an image from Dockerhub or use one of the convenience images from CircleCI's Developer Hub
59
- # A list of available CircleCI Docker convenience images are available here: https://circleci.com/developer/images/image/cimg/python
60
- # The executor is the environment in which the steps below will be executed - below will use a python 3.8 container
61
- # Change the version below to your required version of python
46
+ build-and-test :
62
47
docker :
63
48
- image : cimg/python:3.8
64
- # Checkout the code as the first step. This is a dedicated CircleCI step.
65
- # The python orb's install-packages step will install the dependencies from a Pipfile via Pipenv by default.
66
- # Here we're making sure we use just use the system-wide pip. By default it uses the project root's requirements.txt.
67
- # Then run your tests!
68
- # CircleCI will report the results back to your VCS provider.
69
49
environment :
70
50
LD_LIBRARY_PATH : ~/destdir/lib
71
51
steps :
@@ -110,10 +90,7 @@ jobs:
110
90
- build-wheels
111
91
112
92
build-wheels-windows :
113
- parameters :
114
- librdkafka_version :
115
- type : string
116
- default : v1.8.2
93
+ << : *COMMON_PARAMS
117
94
executor : win/default
118
95
steps :
119
96
- checkout
@@ -143,15 +120,14 @@ jobs:
143
120
- checkout
144
121
- build-wheels
145
122
146
- # Invoke jobs via workflows
147
- # See: https://circleci.com/docs/2.0/configuration-reference/#workflows
148
123
workflows :
149
- build : # This is the name of the workflow, feel free to change it to better match your workflow.
150
- # Inside the workflow, you define the jobs you want to run.
124
+ build :
151
125
jobs :
152
126
- build-and-test
153
127
build-wheels-all :
128
+ when :
129
+ <<pipeline.git.tag>>
154
130
jobs :
155
- # - build-wheels-linux
131
+ - build-wheels-linux
156
132
- build-wheels-windows
157
- # - build-wheels-osx
133
+ - build-wheels-osx
0 commit comments