@@ -148,7 +148,7 @@ jobs:
148
148
# ##########################################
149
149
# Copy release binaries to GitHub release #
150
150
# ##########################################
151
- release :
151
+ draft- release :
152
152
153
153
docker :
154
154
- image : circleci/python:3.7.1-stretch
@@ -305,44 +305,110 @@ jobs:
305
305
paths :
306
306
- ' *'
307
307
308
+ # ###############################################################
309
+ # Create homebrew formula for the mac binary and commit to tap #
310
+ # ###############################################################
311
+ update-homebrew :
312
+ macos :
313
+ xcode : " 10.1.0"
314
+ environment :
315
+ HOMEBREW_NO_INSTALL_CLEANUP : 1
316
+ steps :
317
+ - add_ssh_keys :
318
+ fingerprints :
319
+ - " 2d:94:c7:5f:ed:59:aa:61:e0:9c:60:64:45:b0:bc:86"
320
+ - attach_workspace :
321
+ at : /tmp/workspace
322
+ - run :
323
+ name : install the binary as /tmp/eu
324
+ command : |
325
+ cp /tmp/workspace/binaries/eucalypt-x86_64-osx.tgz /tmp
326
+ cd /tmp
327
+ tar xvzf /tmp/eucalypt-x86_64-osx.tgz
328
+ chmod +x /tmp/eu
329
+ /tmp/eu -e eu.build
330
+ - checkout
331
+ - run : |
332
+ cd ci
333
+ cp /tmp/workspace/package.yaml .
334
+ shasum -a 256 /tmp/workspace/binaries/eucalypt-x86_64-osx.tgz > eucalypt-x86_64-osx.tgz.sha
335
+ /tmp/eu eucalypt.rb.eu > eucalypt.rb
336
+ cat eucalypt.rb
337
+ cp eucalypt.rb /tmp/workspace/
338
+ - run :
339
+ name : Checkout homebrew-tap
340
+ command : |
341
+ cd /tmp
342
+ git clone [email protected] :curvelogic/homebrew-tap.git
343
+ cp /tmp/workspace/eucalypt.rb homebrew-tap/Formula/eucalypt.rb
344
+ cd homebrew-tap
345
+ git status
346
+ git add Formula/eucalypt.rb
347
+ /tmp/eu --version | git commit -F -
348
+ - run :
349
+ name : Test formula
350
+ command : |
351
+ brew install /tmp/homebrew-tap/Formula/eucalypt.rb
352
+ eu -e eu.build
353
+ eu -e eu.build > a.txt
354
+ /tmp/eu -e eu.build > b.txt
355
+ diff -q a.txt b.txt
356
+ - run :
357
+ name : git push
358
+ command : |
359
+ cd /tmp
360
+ git push
361
+
308
362
309
363
workflows :
310
364
version : 2
311
365
build-workflow :
312
366
jobs :
313
367
- build-test-harness :
314
368
context : curvelogic-docker-hub
369
+ filters : { branches: { ignore: [ "gh-pages" ]}}
315
370
- build :
316
371
context : curvelogic-docker-hub
372
+ filters : { branches: { ignore: [ "gh-pages" ]}}
317
373
- acceptance :
318
374
context : curvelogic-docker-hub
319
375
requires :
320
376
- build
321
377
- build-test-harness
378
+ filters : { branches: { ignore: [ "gh-pages" ]}}
322
379
- benchmark :
323
380
context : curvelogic-docker-hub
324
381
requires :
325
382
- build
326
383
- build-test-harness
384
+ filters : { branches: { ignore: [ "gh-pages" ]}}
327
385
- profile :
328
386
context : curvelogic-docker-hub
329
387
requires :
330
388
- build
389
+ filters : { branches: { ignore: [ "gh-pages" ]}}
331
390
- build-mac-binary :
332
391
requires :
333
392
- build
334
- - release :
393
+ filters : { branches: { ignore: [ "gh-pages" ]}}
394
+ - draft-release :
335
395
context : curvelogic-github-api
336
396
requires :
337
397
- acceptance
338
398
- build-mac-binary
339
- filters :
340
- branches :
341
- only : master
399
+ filters : { branches: { only: [ "master" ]}}
342
400
- deploy-docs :
343
401
context : curvelogic-github-api
344
402
requires :
345
403
- acceptance
346
- filters :
347
- branches :
348
- only : master
404
+ filters : { branches: { only: [ "master" ]}}
405
+ - publish-release :
406
+ type : approval
407
+ requires :
408
+ - draft-release
409
+ filters : { branches: { ignore: [ "gh-pages" ]}}
410
+ - update-homebrew :
411
+ requires :
412
+ - build-mac-binary
413
+ - publish-release
414
+ filters : { branches: { only: [ "master" ]}}
0 commit comments