@@ -10,6 +10,7 @@ global_job_config:
10
10
prologue :
11
11
commands :
12
12
- checkout
13
+ - mkdir artifacts
13
14
blocks :
14
15
- name : " Wheels: OSX x64"
15
16
run :
@@ -29,7 +30,7 @@ blocks:
29
30
commands :
30
31
- PIP_INSTALL_OPTIONS="--user" tools/wheels/build-wheels.sh "${LIBRDKAFKA_VERSION#v}" wheelhouse
31
32
- tar -czf wheelhouse-macOS-${ARCH}.tgz wheelhouse
32
- - artifact push workflow wheelhouse-macOS-${ARCH}.tgz
33
+ - artifact push workflow wheelhouse-macOS-${ARCH}.tgz --destination artifacts/wheels-${OS_NAME}-${ARCH}.tgz/
33
34
- name : " Wheels: OSX arm64"
34
35
run :
35
36
when : " tag =~ '.*'"
@@ -50,40 +51,100 @@ blocks:
50
51
commands :
51
52
- PIP_INSTALL_OPTIONS="--user" tools/wheels/build-wheels.sh "${LIBRDKAFKA_VERSION#v}" wheelhouse
52
53
- tar -czf wheelhouse-macOS-${ARCH}.tgz wheelhouse
53
- - artifact push workflow wheelhouse-macOS-${ARCH}.tgz
54
-
55
- - name : Source package verification with Python 3 (OSX x64) +docs
54
+ - artifact push workflow wheelhouse-macOS-${ARCH}.tgz --destination artifacts/wheels-${OS_NAME}-${ARCH}.tgz/
55
+ - name : " Wheels: Linux arm64"
56
+ run :
57
+ when : " tag =~ '.*'"
56
58
dependencies : []
57
59
task :
58
60
agent :
59
61
machine :
60
- type : s1-prod-macos
62
+ type : s1-prod-ubuntu20-04-arm64-1
61
63
env_vars :
62
64
- name : OS_NAME
63
- value : osx
65
+ value : linux
64
66
- name : ARCH
65
67
value : arm64
66
68
jobs :
67
69
- name : Build
68
70
commands :
69
- # use a virtualenv
70
- - python3 -m venv _venv && source _venv/bin/activate
71
- - pip install -r docs/requirements.txt
72
- - pip install -U protobuf
73
- # install librdkafka
74
- - lib_dir=dest/runtimes/$OS_NAME-$ARCH/native
75
- - tools/wheels/install-librdkafka.sh "${LIBRDKAFKA_VERSION#v}" dest
76
- - export CFLAGS="$CFLAGS -I${PWD}/dest/build/native/include"
77
- - export LDFLAGS="$LDFLAGS -L${PWD}/${lib_dir}"
78
- - export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$PWD/$lib_dir"
79
- - export DYLD_LIBRARY_PATH="$DYLD_LIBRARY_PATH:$PWD/$lib_dir"
80
- # install confluent-kafka
81
- - python setup.py build && python setup.py install
82
- - make docs
83
- - name : " Wheels: Linux arm64"
71
+ - ./tools/build-manylinux.sh "${LIBRDKAFKA_VERSION#v}"
72
+ - tar -czf wheelhouse-linux-${ARCH}.tgz wheelhouse
73
+ - artifact push workflow wheelhouse-linux-${ARCH}.tgz --destination artifacts/wheels-${OS_NAME}-${ARCH}.tgz/
74
+ - name : " Wheels: Linux x64"
75
+ run :
76
+ when : " tag =~ '.*'"
77
+ dependencies : []
78
+ task :
79
+ agent :
80
+ machine :
81
+ type : s1-prod-ubuntu20-04-amd64-3
82
+ env_vars :
83
+ - name : OS_NAME
84
+ value : linux
85
+ - name : ARCH
86
+ value : x64
87
+ jobs :
88
+ - name : Build
89
+ commands :
90
+ - ./tools/wheels/build-wheels.sh "${LIBRDKAFKA_VERSION#v}" wheelhouse
91
+ - tar -czf wheelhouse-linux-${ARCH}.tgz wheelhouse
92
+ - artifact push workflow wheelhouse-linux-${ARCH}.tgz --destination artifacts/wheels-${OS_NAME}-${ARCH}.tgz/
93
+ - name : " Wheels: Windows"
84
94
run :
85
95
when : " tag =~ '.*'"
86
96
dependencies : []
97
+ task :
98
+ agent :
99
+ machine :
100
+ type : s1-prod-windows
101
+ env_vars :
102
+ - name : OS_NAME
103
+ value : windows
104
+ - name : ARCH
105
+ value : x64
106
+ prologue :
107
+ commands :
108
+ - cache restore msys2-x64
109
+ - " .\\ tools\\ mingw-w64\\ setup-msys2.ps1"
110
+ - $env:PATH = 'C:\msys64\usr\bin;' + $env:PATH
111
+ - bash -lc './tools/mingw-w64/msys2-dependencies.sh'
112
+ - cache delete msys2-x64
113
+ - cache store msys2-x64 c:/msys64
114
+ jobs :
115
+ - name : Build
116
+ env_vars :
117
+ - name : CHERE_INVOKING
118
+ value : ' yes'
119
+ - name : MSYSTEM
120
+ value : UCRT64
121
+ commands :
122
+ - bash tools/mingw-w64/semaphore_commands.sh
123
+ - bash tools/wheels/install-librdkafka.sh $env:LIBRDKAFKA_VERSION.TrimStart("v") dest
124
+ - tools/wheels/build-wheels.bat x64 win_amd64 dest wheelhouse
125
+ - tar -czf wheelhouse-windows-${Env:ARCH}.tgz wheelhouse
126
+ - artifact push workflow wheelhouse-windows-${Env:ARCH}.tgz --destination artifacts/wheels-${Env:OS_NAME}-${Env:ARCH}.tgz/
127
+ - name : " Source package verification and Integration tests with Python 3 (Linux x64)"
128
+ dependencies : []
129
+ task :
130
+ agent :
131
+ machine :
132
+ type : s1-prod-ubuntu20-04-amd64-2
133
+ env_vars :
134
+ - name : OS_NAME
135
+ value : linux
136
+ - name : ARCH
137
+ value : x64
138
+ jobs :
139
+ - name : Build
140
+ commands :
141
+ - sem-version python 3.8
142
+ # use a virtualenv
143
+ - python3 -m venv _venv && source _venv/bin/activate
144
+ - chmod u+r+x tools/source-package-verification.sh
145
+ - tools/source-package-verification.sh
146
+ - name : " Source package verification with Python 3 (Linux arm64)"
147
+ dependencies : []
87
148
task :
88
149
agent :
89
150
machine :
@@ -96,6 +157,71 @@ blocks:
96
157
jobs :
97
158
- name : Build
98
159
commands :
99
- - ./tools/build-manylinux.sh "${LIBRDKAFKA_VERSION#v}"
100
- - tar -czf wheelhouse-linux-${ARCH}.tgz wheelhouse
101
- - artifact push workflow wheelhouse-linux-${ARCH}.tgz
160
+ - sem-version python 3.8
161
+ # use a virtualenv
162
+ - python3 -m venv _venv && source _venv/bin/activate
163
+ - chmod u+r+x tools/source-package-verification.sh
164
+ - tools/source-package-verification.sh
165
+ - name : " Source package verification with Python 3 (OSX x64) +docs"
166
+ dependencies : []
167
+ task :
168
+ agent :
169
+ machine :
170
+ type : s1-prod-macos
171
+ env_vars :
172
+ - name : OS_NAME
173
+ value : osx
174
+ - name : ARCH
175
+ value : x64
176
+ jobs :
177
+ - name : Build
178
+ commands :
179
+ - sem-version python 3.8
180
+ # use a virtualenv
181
+ - python3 -m venv _venv && source _venv/bin/activate
182
+ - chmod u+r+x tools/source-package-verification.sh
183
+ - tools/source-package-verification.sh
184
+ - name : " Source package verification with Python 3 (OSX arm64) +docs"
185
+ dependencies : []
186
+ task :
187
+ agent :
188
+ machine :
189
+ type : s1-prod-macos-arm64
190
+ env_vars :
191
+ - name : OS_NAME
192
+ value : osx
193
+ - name : ARCH
194
+ value : arm64
195
+ jobs :
196
+ - name : Build
197
+ commands :
198
+ - sem-version python 3.8
199
+ # use a virtualenv
200
+ - python3 -m venv _venv && source _venv/bin/activate
201
+ - chmod u+r+x tools/source-package-verification.sh
202
+ - tools/source-package-verification.sh
203
+ - name : " Packaging"
204
+ run :
205
+ when : " tag =~ '.*'"
206
+ dependencies :
207
+ - " Wheels: OSX x64"
208
+ - " Wheels: OSX arm64"
209
+ - " Wheels: Linux arm64"
210
+ - " Wheels: Linux x64"
211
+ - " Wheels: Windows"
212
+ task :
213
+ agent :
214
+ machine :
215
+ type : s1-prod-ubuntu20-04-amd64-3
216
+ jobs :
217
+ - name : " Packaging all artifacts"
218
+ commands :
219
+ - artifact pull workflow artifacts
220
+ - cd artifacts
221
+ - ls *.tgz |xargs -n1 tar -xvf
222
+ - tar cvf confluent-kafka-python-wheels-${SEMAPHORE_GIT_TAG_NAME}-${SEMAPHORE_WORKFLOW_ID}.tgz wheelhouse/
223
+ - ls -la
224
+ - sha256sum confluent-kafka-python-wheels-${SEMAPHORE_GIT_TAG_NAME}-${SEMAPHORE_WORKFLOW_ID}.tgz
225
+ - cd ..
226
+ - artifact push project artifacts/confluent-kafka-python-wheels-${SEMAPHORE_GIT_TAG_NAME}-${SEMAPHORE_WORKFLOW_ID}.tgz --destination confluent-kafka-python-wheels-${SEMAPHORE_GIT_TAG_NAME}-${SEMAPHORE_WORKFLOW_ID}.tgz
227
+ - echo Thank you
0 commit comments