-
Notifications
You must be signed in to change notification settings - Fork 562
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
Deploy decision requirements and decisions via the Go client and zbctl #8979
Conversation
Updates the generated stubs for the protocol in Go, as well as the mock implementations of the gRPC code.
NOTE: it looks like a lot of changes, but most of these are just generated code. You can mostly skip these, assuming we trust our tooling 😄 |
Removes usage of old `DeployProcessRequest`/`DeployProcessResponse` types, and instead use the new `DeployResourceRequest` and `DeployResourceResponse`. BREAKING CHANGE: this is a breaking change in the Go world, as there was interface abstracting these types.
9df481d
to
382eead
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
❌ The changes look good, but I think there are some parts missing in zbctl.
Ah, yes, I renamed a file which caused it to add/remove, and I forgot to git add the missing file 🙈 |
7c65051
to
9b5fbe8
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice work @npepinpe and thanks for taking over this one 🙇
LGTM
clients/go/cmd/zbctl/main_test.go
Outdated
@@ -243,6 +243,7 @@ func (s *integrationTestSuite) TestCommonCommands() { | |||
goldenOut = fmtGolden | |||
} | |||
|
|||
fmt.Println(string(cmdOut)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
❓ Is this a development leftover? If so, 🔧 please remove it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, my bad, that's what I get for doing too many things at once
@npepinpe Please update the PR description to highlight the decision and decision requirements usage. |
9b5fbe8
to
2525873
Compare
bors merge |
8945: Introduce new immutable protocol r=npepinpe a=npepinpe ## Description Introduces a new immutable protocol directly under `protocol`, which annotates the types directly. This has several advantages: - We can now easily recursively copy the types (except for `Record`, which is a special case due to its generic typing) - It's less error prone thanks to an ArchUnit test guaranteeing we don't forget to annotate the types - It's less overhead for developers when adding new types - It allows us to easily collect metadata about the types via reflection using annotations This is the first step for #8837 - the next step will remove the immutable variants in `protocol-jackson` and replace them with this. ## Related issues related to #8837 8995: Introduce new commands to deploy resources in the Go client r=npepinpe a=npepinpe ## Description This PR reverts the previous breaking changes and instead introduces new commands to deploy decisions and decision requirements. The client must now use `client.NewDeployResourceCommand()`, and the old `client.NewDeployProcessCommand()` has been restored. Similarly, `zbctl` now supports its old `zbctl deploy <path> <path>` behavior, but also supports `zbctl deploy resource mySuper.dmn` as well, which behaves the same as the old deploy command but can deploy DMN files. ## Related issues <!-- Which issues are closed by this PR or are related --> related to #8979 Co-authored-by: Nicolas Pepin-Perreault <nicolas.pepin-perreault@camunda.com>
Description
This change enables the Go client and zbctl to deploy decisions and decision requirements. This is a breaking change, as it will replace client's
DeployProcessCommand
method withDeployCommand
method, and theDeployProcessResponse
returned from theDeployCommand
toDeployResourceResponse
. On thezbctl
side, however, everything remains the same.The upgrade path is that instead of accessing the process directly via
pb.DeployProcessResponse.GetProcesses()
, you will now do:Related issues
closes #8076
Definition of Done
Not all items need to be done depending on the issue and the pull request.
Code changes:
backport stable/1.3
) to the PR, in case that fails you need to create backports manually.Testing:
Documentation: