Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Alias variables block in the Target struct #1748

Merged
merged 70 commits into from
Sep 10, 2024
Merged

Conversation

shreyas-goenka
Copy link
Contributor

@shreyas-goenka shreyas-goenka commented Sep 4, 2024

Changes

This PR aliases and overrides the schema associated with the variables block in target to allow for directly specifying a variable value in the JSON schema (without an levels of nesting). This is needed because this direct value is resolved by dynamically parsing the configuration tree.

return dyn.Map(target, "variables", dyn.Foreach(func(p dyn.Path, variable dyn.Value) (dyn.Value, error) {

Tests

Existing unit tests.

Base automatically changed from improve/json-schema to main September 10, 2024 14:02
@shreyas-goenka shreyas-goenka added this pull request to the merge queue Sep 10, 2024
Merged via the queue into main with commit 5d2c0e3 Sep 10, 2024
5 checks passed
@shreyas-goenka shreyas-goenka deleted the schema-overrides branch September 10, 2024 14:56
// All values are valid for a variable value, be it primitive types
// like string/bool or complex ones like objects/arrays. Thus we override
// the schema to allow all valid JSON values.
{},
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@shreyas-goenka Could we have an integration test for this as well?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We do, see: bundle/internal/schema/testdata/pass/direct_value_in_target.yml in #1726. Do you mean more coverage?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the pointer. I was under the assumption the integration tests were merged before this one, which would imply there is no coverage for this case, but it's the other way around, so all good.

andrewnester added a commit that referenced this pull request Sep 18, 2024
CLI:
 * Added listing cluster filtering for cluster lookups ([#1754](#1754)).

Bundles:
 * Expand library globs relative to the sync root ([#1756](#1756)).
 * Fixed generated YAML missing 'default' for empty values ([#1765](#1765)).
 * Use periodic triggers in all templates ([#1739](#1739)).
 * Use the friendly name of service principals when shortening their name ([#1770](#1770)).
 * Fixed detecting full syntax variable override which includes type field ([#1775](#1775)).

Internal:
 * Pass copy of `dyn.Path` to callback function ([#1747](#1747)).
 * Make bundle JSON schema modular with `$defs` ([#1700](#1700)).
 * Alias variables block in the `Target` struct ([#1748](#1748)).
 * Add end to end integration tests for bundle JSON schema ([#1726](#1726)).
 * Fix artifact upload integration tests ([#1767](#1767)).

API Changes:
 * Added `databricks quality-monitors regenerate-dashboard` command.

OpenAPI commit d05898328669a3f8ab0c2ecee37db2673d3ea3f7 (2024-09-04)
Dependency updates:
 * Bump golang.org/x/term from 0.23.0 to 0.24.0 ([#1757](#1757)).
 * Bump golang.org/x/oauth2 from 0.22.0 to 0.23.0 ([#1761](#1761)).
 * Bump golang.org/x/text from 0.17.0 to 0.18.0 ([#1759](#1759)).
 * Bump github.com/databricks/databricks-sdk-go from 0.45.0 to 0.46.0 ([#1760](#1760)).
github-merge-queue bot pushed a commit that referenced this pull request Sep 18, 2024
Bundles:
* Added listing cluster filtering for cluster lookups
([#1754](#1754)).
* Expand library globs relative to the sync root
([#1756](#1756)).
* Fixed generated YAML missing 'default' for empty values
([#1765](#1765)).
* Use periodic triggers in all templates
([#1739](#1739)).
* Use the friendly name of service principals when shortening their name
([#1770](#1770)).
* Fixed detecting full syntax variable override which includes type
field ([#1775](#1775)).

Internal:
* Pass copy of `dyn.Path` to callback function
([#1747](#1747)).
* Make bundle JSON schema modular with `$defs`
([#1700](#1700)).
* Alias variables block in the `Target` struct
([#1748](#1748)).
* Add end to end integration tests for bundle JSON schema
([#1726](#1726)).
* Fix artifact upload integration tests
([#1767](#1767)).

API Changes:
 * Added `databricks quality-monitors regenerate-dashboard` command.

OpenAPI commit d05898328669a3f8ab0c2ecee37db2673d3ea3f7 (2024-09-04)
Dependency updates:
* Bump golang.org/x/term from 0.23.0 to 0.24.0
([#1757](#1757)).
* Bump golang.org/x/oauth2 from 0.22.0 to 0.23.0
([#1761](#1761)).
* Bump golang.org/x/text from 0.17.0 to 0.18.0
([#1759](#1759)).
* Bump github.com/databricks/databricks-sdk-go from 0.45.0 to 0.46.0
([#1760](#1760)).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants