Dynatrace / dynatrace-configuration-as-code

This tool automates deployment of Dynatrace Configuration to one or multiple Dynatrace environments.
https://docs.dynatrace.com/docs/manage/configuration-as-code/monaco
Apache License 2.0
164 stars 94 forks source link

feat: Fill classic and settings caches early #1559

Closed arthurpitman closed 2 months ago

arthurpitman commented 2 months ago

This PR prevents go routines racing to fill the caches during deployment by ensuring that they are filled exactly once prior to deployment. As caches are only used for classic APIs and settings configs, only these types are considered, however it would be trivial to extend this if need be.

github-actions[bot] commented 2 months ago

Unit Test Results

1 867 tests  +7   1 866 :white_check_mark: +7   3m 9s :stopwatch: + 2m 9s   133 suites ±0       1 :zzz: ±0      1 files   ±0       0 :x: ±0 

Results for commit 8ae32270. ± Comparison against base commit 0f996bb8.

:recycle: This comment has been updated with latest results.

github-actions[bot] commented 2 months ago

E2E Test Results

    4 files  ±0    268 suites  ±0   41m 20s :stopwatch: - 5m 1s 1 969 tests  - 4  1 964 :white_check_mark:  - 7  2 :zzz: ±0  3 :x: +3  2 082 runs  +2  2 077 :white_check_mark:  - 1  2 :zzz: ±0  3 :x: +3 

For more details on these failures, see this check.

Results for commit c9b543c9. ± Comparison against base commit d9aad7bd.

This pull request removes 12 and adds 8 tests. Note that renamed tests count towards both. ``` github.com/dynatrace/dynatrace-configuration-as-code/v2/cmd/monaco/integrationtest/v2 ‑ TestMonacoVersionLogging github.com/dynatrace/dynatrace-configuration-as-code/v2/cmd/monaco/integrationtest/v2 ‑ TestMonacoVersionLogging/Account_deploy_should_log_version github.com/dynatrace/dynatrace-configuration-as-code/v2/cmd/monaco/integrationtest/v2 ‑ TestMonacoVersionLogging/Account_download_should_log_version github.com/dynatrace/dynatrace-configuration-as-code/v2/cmd/monaco/integrationtest/v2 ‑ TestMonacoVersionLogging/Deploy_should_log_version github.com/dynatrace/dynatrace-configuration-as-code/v2/cmd/monaco/integrationtest/v2 ‑ TestMonacoVersionLogging/Download_should_log_version github.com/dynatrace/dynatrace-configuration-as-code/v2/cmd/monaco/integrationtest/v2 ‑ TestMonacoVersionLogging/Help_should_not_log_version github.com/dynatrace/dynatrace-configuration-as-code/v2/cmd/monaco/integrationtest/v2 ‑ TestMonacoVersionLogging/Incomplete_account_should_not_log_version github.com/dynatrace/dynatrace-configuration-as-code/v2/cmd/monaco/integrationtest/v2 ‑ TestMonacoVersionLogging/Incomplete_deploy_should_not_log_version github.com/dynatrace/dynatrace-configuration-as-code/v2/cmd/monaco/integrationtest/v2 ‑ TestMonacoVersionLogging/Version_should_not_log_version github.com/dynatrace/dynatrace-configuration-as-code/v2/cmd/monaco/integrationtest/v2 ‑ TestMonacoVersionLogging/With_no_args_no_version_should_be_logged … ``` ``` TestMain github.com/dynatrace/dynatrace-configuration-as-code/v2/pkg/deploy ‑ Test_gatherPreloadConfigTypeEntries_EntriesOnlyForSupportedConfigTypes github.com/dynatrace/dynatrace-configuration-as-code/v2/pkg/deploy ‑ Test_gatherPreloadConfigTypeEntries_NoEntryIfEnvironmentMissingClient github.com/dynatrace/dynatrace-configuration-as-code/v2/pkg/deploy ‑ Test_gatherPreloadConfigTypeEntries_OneEntryForEachConfigType github.com/dynatrace/dynatrace-configuration-as-code/v2/pkg/deploy ‑ Test_gatherPreloadConfigTypeEntries_OneEntryForEachEnvironmentInDifferentProjects github.com/dynatrace/dynatrace-configuration-as-code/v2/pkg/deploy ‑ Test_gatherPreloadConfigTypeEntries_OneEntryForEachEnvironmentInSameProject github.com/dynatrace/dynatrace-configuration-as-code/v2/pkg/deploy ‑ Test_gatherPreloadConfigTypeEntries_OneEntryForSameEnvironmentInDifferentProjects github.com/dynatrace/dynatrace-configuration-as-code/v2/pkg/deploy ‑ Test_gatherPreloadConfigTypeEntries_OneEntryPerConfigType ```

:recycle: This comment has been updated with latest results.

sonarcloud[bot] commented 2 months ago

Quality Gate Passed Quality Gate passed

Issues
0 New issues
0 Accepted issues

Measures
0 Security Hotspots
0.0% Coverage on New Code
0.0% Duplication on New Code

See analysis details on SonarCloud