atlassian / smith

Smith is a Kubernetes workflow engine / resource manager
Apache License 2.0
285 stars 24 forks source link

Build race binaries instead of pure ones by default #398

Closed ash2k closed 5 years ago

ash2k commented 5 years ago

Tests are built in race mode. If binaries are built in pure mode then all libraries are built twice.

Look at number of actions and elapsed time. Both runs were executed after bazel clean. Before:

bazel test \
                --test_env=KUBE_PATCH_CONVERSION_DETECTOR=true \
                --test_env=KUBE_CACHE_MUTATION_DETECTOR=true \
                -- //... -//vendor/...

INFO: Elapsed time: 140.476s, Critical Path: 109.03s
INFO: 1415 processes: 1415 darwin-sandbox.
INFO: Build completed successfully, 1443 total actions
//examples/sleeper/pkg/apis/sleeper/v1:go_default_test                   PASSED in 1.2s
//pkg/apis/smith/v1:go_default_test                                      PASSED in 1.2s
//pkg/client/smart:go_default_test                                       PASSED in 1.2s
//pkg/controller/bundlec:go_default_test                                 PASSED in 1.1s
//pkg/controller/bundlec_test:go_default_test                            PASSED in 5.3s
//pkg/resources:go_default_test                                          PASSED in 1.2s
//pkg/specchecker:go_default_test                                        PASSED in 1.3s
//pkg/specchecker/builtin:go_default_test                                PASSED in 1.3s
//pkg/util/graph:go_default_test                                         PASSED in 1.3s

INFO: Build completed successfully, 1443 total actions

After:

bazel test \
                --test_env=KUBE_PATCH_CONVERSION_DETECTOR=true \
                --test_env=KUBE_CACHE_MUTATION_DETECTOR=true \
                -- //... -//vendor/...

INFO: Elapsed time: 100.531s, Critical Path: 74.59s
INFO: 1109 processes: 1109 darwin-sandbox.
INFO: Build completed successfully, 1135 total actions
//examples/sleeper/pkg/apis/sleeper/v1:go_default_test                   PASSED in 1.2s
//pkg/apis/smith/v1:go_default_test                                      PASSED in 1.1s
//pkg/client/smart:go_default_test                                       PASSED in 1.2s
//pkg/controller/bundlec:go_default_test                                 PASSED in 1.2s
//pkg/controller/bundlec_test:go_default_test                            PASSED in 4.9s
//pkg/resources:go_default_test                                          PASSED in 1.2s
//pkg/specchecker:go_default_test                                        PASSED in 1.3s
//pkg/specchecker/builtin:go_default_test                                PASSED in 1.3s
//pkg/util/graph:go_default_test                                         PASSED in 1.2s

INFO: Build completed successfully, 1135 total actions