@@ -48,7 +48,7 @@ executors:
4848
4949workflows :
5050 version : 2
51- build_pr :
51+ " circleci_build_and_test " :
5252 jobs :
5353 - codegen_verification
5454
@@ -275,6 +275,8 @@ commands:
275275 generic_test :
276276 description : Run build tests from build workspace, for re-use by diferent architectures
277277 parameters :
278+ platform :
279+ type : string
278280 build_dir :
279281 type : string
280282 default : << pipeline.parameters.build_dir >>
@@ -335,6 +337,9 @@ commands:
335337 key : ' go-cache-v2-{{ .Environment.CIRCLE_STAGE }}-{{ .Environment.CIRCLE_BUILD_NUM }}'
336338 paths :
337339 - tmp/go-cache
340+ - upload_to_buildpulse :
341+ platform : << parameters.platform >>
342+ path : << parameters.result_path >>/<< parameters.result_subdir>>
338343
339344 upload_coverage :
340345 description : Collect coverage reports and upload them
@@ -345,9 +350,45 @@ commands:
345350 command : |
346351 scripts/travis/upload_coverage.sh || true
347352
353+ upload_to_buildpulse :
354+ description : Collect build reports and upload them
355+ parameters :
356+ platform :
357+ type : string
358+ path :
359+ type : string
360+ steps :
361+ - run :
362+ name : Send test results to BuildPulse
363+ when : always
364+ command : |
365+ set -e
366+ if ! ls << parameters.path >>/*/*.xml &> /dev/null; then exit 0; fi
367+ sed -i"" -e 's/classname="/classname="<< parameters.platform >>-/' << parameters.path >>/*/*.xml
368+ case "<< parameters.platform >>" in
369+ arm64)
370+ URL=https://github.com/buildpulse/test-reporter/releases/download/v0.21.0-pre/test-reporter-linux-arm64
371+ SUM=53f94c29ad162c2b9ebb1f4a2f967f5262c0459ee4a0c34332977d8c89aafc18
372+ ;;
373+ amd64)
374+ URL=https://github.com/buildpulse/test-reporter/releases/download/v0.21.0-pre/test-reporter-linux-amd64
375+ SUM=4655e54d756580c0de0112cab488e6e08d0af75e9fc8caea2d63f9e13be8beb5
376+ ;;
377+ mac_amd64)
378+ URL=https://github.com/buildpulse/test-reporter/releases/download/v0.21.0-pre/test-reporter-darwin-amd64
379+ SUM=2f9e20a6f683c80f35d04e36bc57ecfe605bb48fee5a1b8d8f7c45094028eea3
380+ ;;
381+ esac
382+ curl -fsSL --retry 3 --retry-connrefused $URL > ./buildpulse-test-reporter
383+ echo "$SUM *buildpulse-test-reporter" | shasum -a 256 -c --status
384+ chmod +x ./buildpulse-test-reporter
385+ ./buildpulse-test-reporter submit << parameters.path >> --account-id 23182699 --repository-id 191266671 || true
386+
348387 generic_integration :
349388 description : Run integration tests from build workspace, for re-use by diferent architectures
350389 parameters :
390+ platform :
391+ type : string
351392 build_dir :
352393 type : string
353394 default : << pipeline.parameters.build_dir >>
@@ -401,6 +442,9 @@ commands:
401442 root : << parameters.result_path >>
402443 paths :
403444 - << parameters.result_subdir >>
445+ - upload_to_buildpulse :
446+ platform : << parameters.platform >>
447+ path : << parameters.result_path >>/<< parameters.result_subdir>>
404448
405449 tests_verification_command :
406450 description : Check if all tests were run at least once and only once across all parallel runs
@@ -431,9 +475,14 @@ commands:
431475 type : string
432476 default : << pipeline.parameters.build_dir >>
433477 steps :
478+ - attach_workspace :
479+ at : << parameters.build_dir >>
434480 - run :
435481 name : Upload binaries << parameters.platform >>
436482 command : |
483+ export PATH=$(echo "$PATH" | sed -e "s|:${HOME}/\.go_workspace/bin||g" | sed -e 's|:/usr/local/go/bin||g')
484+ export GOPATH="<< parameters.build_dir >>/go"
485+ export NO_BUILD=true
437486 export TRAVIS_BRANCH=${CIRCLE_BRANCH}
438487 scripts/travis/deploy_packages.sh
439488 - when :
@@ -473,13 +522,14 @@ jobs:
473522 parameters :
474523 platform :
475524 type : string
476- executor : << parameters.platform >>_large
525+ executor : << parameters.platform >>_medium
477526 working_directory : << pipeline.parameters.build_dir >>/project
478527 parallelism : 4
479528 steps :
480529 - prepare_build_dir
481530 - prepare_go
482531 - generic_test :
532+ platform : << parameters.platform >>
483533 result_subdir : << parameters.platform >>_test
484534 short_test_flag : " -short"
485535 - upload_coverage
@@ -488,13 +538,14 @@ jobs:
488538 parameters :
489539 platform :
490540 type : string
491- executor : << parameters.platform >>_large
541+ executor : << parameters.platform >>_medium
492542 working_directory : << pipeline.parameters.build_dir >>/project
493543 parallelism : 4
494544 steps :
495545 - prepare_build_dir
496546 - prepare_go
497547 - generic_test :
548+ platform : << parameters.platform >>
498549 result_subdir : << parameters.platform >>_test_nightly
499550 no_output_timeout : 45m
500551 - upload_coverage
@@ -508,13 +559,14 @@ jobs:
508559 type : string
509560 executor : << parameters.platform >>_large
510561 working_directory : << pipeline.parameters.build_dir >>/project
511- parallelism : 4
562+ parallelism : 2
512563 environment :
513564 E2E_TEST_FILTER : " GO"
514565 steps :
515566 - prepare_build_dir
516567 - prepare_go
517568 - generic_integration :
569+ platform : << parameters.platform >>
518570 result_subdir : << parameters.platform >>_integration
519571 short_test_flag : " -short"
520572
@@ -531,6 +583,7 @@ jobs:
531583 - prepare_build_dir
532584 - prepare_go
533585 - generic_integration :
586+ platform : << parameters.platform >>
534587 result_subdir : << parameters.platform >>_integration_nightly
535588 no_output_timeout : 45m
536589 - slack/notify :
@@ -540,31 +593,33 @@ jobs:
540593 parameters :
541594 platform :
542595 type : string
543- executor : << parameters.platform >>_large
596+ executor : << parameters.platform >>_medium
544597 working_directory : << pipeline.parameters.build_dir >>/project
545- parallelism : 4
598+ parallelism : 2
546599 environment :
547600 E2E_TEST_FILTER : " EXPECT"
548601 steps :
549602 - prepare_build_dir
550603 - prepare_go
551604 - generic_integration :
605+ platform : << parameters.platform >>
552606 result_subdir : << parameters.platform >>_e2e_expect
553607 short_test_flag : " -short"
554608
555609 e2e_expect_nightly :
556610 parameters :
557611 platform :
558612 type : string
559- executor : << parameters.platform >>_large
613+ executor : << parameters.platform >>_medium
560614 working_directory : << pipeline.parameters.build_dir >>/project
561- parallelism : 4
615+ parallelism : 2
562616 environment :
563617 E2E_TEST_FILTER : " EXPECT"
564618 steps :
565619 - prepare_build_dir
566620 - prepare_go
567621 - generic_integration :
622+ platform : << parameters.platform >>
568623 result_subdir : << parameters.platform>>_e2e_expect_nightly
569624 no_output_timeout : 45m
570625 - slack/notify :
@@ -576,13 +631,13 @@ jobs:
576631 type : string
577632 executor : << parameters.platform >>_large
578633 working_directory : << pipeline.parameters.build_dir >>/project
579- parallelism : 4
580634 environment :
581635 E2E_TEST_FILTER : " SCRIPTS"
582636 steps :
583637 - prepare_build_dir
584638 - prepare_go
585639 - generic_integration :
640+ platform : << parameters.platform >>
586641 result_subdir : << parameters.platform >>_e2e_subs
587642 short_test_flag : " -short"
588643
@@ -592,13 +647,13 @@ jobs:
592647 type : string
593648 executor : << parameters.platform >>_large
594649 working_directory : << pipeline.parameters.build_dir >>/project
595- parallelism : 4
596650 environment :
597651 E2E_TEST_FILTER : " SCRIPTS"
598652 steps :
599653 - prepare_build_dir
600654 - prepare_go
601655 - generic_integration :
656+ platform : << parameters.platform >>
602657 result_subdir : << parameters.platform >>_e2e_subs_nightly
603658 no_output_timeout : 45m
604659 - slack/notify :
@@ -646,10 +701,8 @@ jobs:
646701 executor : << parameters.platform >>_medium
647702 steps :
648703 - prepare_build_dir
649- - checkout
650704 - prepare_go
651705 - upload_binaries_command :
652706 platform : << parameters.platform >>
653- - slack/notify : &slack-fail-event
654- event : fail
655- template : basic_fail_1
707+ - slack/notify :
708+ << : *slack-fail-event
0 commit comments