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

Introduce new commands to deploy resources in the Go client #8995

Merged
merged 3 commits into from
Mar 25, 2022

Conversation

npepinpe
Copy link
Member

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

related to #8979

Definition of Done

Not all items need to be done depending on the issue and the pull request.

Code changes:

  • The changes are backwards compatibility with previous versions
  • If it fixes a bug then PRs are created to backport the fix to the last two minor versions. You can trigger a backport by assigning labels (e.g. backport stable/1.3) to the PR, in case that fails you need to create backports manually.

Testing:

  • There are unit/integration tests that verify all acceptance criterias of the issue
  • New tests are written to ensure backwards compatibility with further versions
  • The behavior is tested manually
  • The change has been verified by a QA run
  • The impact of the changes is verified by a benchmark

Documentation:

  • The documentation is updated (e.g. BPMN reference, configuration, examples, get-started guides, etc.)
  • New content is added to the release announcement
  • If the PR changes how BPMN processes are validated (e.g. support new BPMN element) then the Camunda modeling team should be informed to adjust the BPMN linting.

@npepinpe
Copy link
Member Author

The CI stuff highlights some issues, but I think these are non issues: using a deprecated API (no way around it), and some duplicate code (I think that's fair for now, as we will replace the old deploy command eventually).

Introduce a new `DeployResourceCommand` to the Go client API which to
revert the previously committed breaking change.

This means, in order to deploy DMN, users will have to use the new API.
The old API is restored and will work as it previously used to.
Introduces a new sub command to the `deploy` command: `deploy resource`.
This allows deploying resources, including DMN, making use of the new
`DeployResourceCommand` API introduced in the client.

Previous usages of the `deploy` command will work as before. The only
caveat is if your filename was called purely `resource`, in which case
you will get a proper error informing you about the new command.
@npepinpe npepinpe requested a review from korthout March 25, 2022 17:21
Copy link
Member

@korthout korthout left a comment

Choose a reason for hiding this comment

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

LGTM 💯

@npepinpe
Copy link
Member Author

bors merge

@korthout
Copy link
Member

@npepinpe I just noticed that the old API is not deprecated. Can you add this in a follow-up PR?

@zeebe-bors-camunda
Copy link
Contributor

Build succeeded:

@zeebe-bors-camunda zeebe-bors-camunda bot merged commit d325919 into main Mar 25, 2022
@zeebe-bors-camunda zeebe-bors-camunda bot deleted the np-fix-go-backwards-compat branch March 25, 2022 18:35
zeebe-bors-camunda bot added a commit that referenced this pull request Mar 28, 2022
8997: Mark DeployProcessCommand as deprecated for Go client r=npepinpe a=npepinpe

## Description

This PR marks `DeployProcessCommand` as a deprecated method in the Go client, and also the `zbctl deploy <processPath>...` usage (to be replaced by `zbctl deploy resource <resourcePath>...`).

Using the deprecated API in Go will trigger a warning (as you can see by our need to add `//nolint` in places 😄)

## Related issues

related to #8995



Co-authored-by: Nicolas Pepin-Perreault <nicolas.pepin-perreault@camunda.com>
zeebe-bors-camunda bot added a commit that referenced this pull request Mar 28, 2022
9002: [Backport release-8.0.0] Mark DeployProcessCommand as deprecated for Go client r=npepinpe a=github-actions[bot]

# Description
Backport of #8997 to `release-8.0.0`.

relates to #8995

Co-authored-by: Nicolas Pepin-Perreault <nicolas.pepin-perreault@camunda.com>
zeebe-bors-camunda bot added a commit that referenced this pull request Mar 28, 2022
9002: [Backport release-8.0.0] Mark DeployProcessCommand as deprecated for Go client r=npepinpe a=github-actions[bot]

# Description
Backport of #8997 to `release-8.0.0`.

relates to #8995

Co-authored-by: Nicolas Pepin-Perreault <nicolas.pepin-perreault@camunda.com>
zeebe-bors-camunda bot added a commit that referenced this pull request Mar 28, 2022
9002: [Backport release-8.0.0] Mark DeployProcessCommand as deprecated for Go client r=npepinpe a=github-actions[bot]

# Description
Backport of #8997 to `release-8.0.0`.

relates to #8995

9007: [Backport release-8.0.0] Fix notification of snapshot replication listeners about missed events r=oleschoenburg a=oleschoenburg

## Description

Manual backport of #8994 for the `8.0`release branch

Co-authored-by: Nicolas Pepin-Perreault <nicolas.pepin-perreault@camunda.com>
Co-authored-by: Ole Schönburg <ole.schoenburg@gmail.com>
@deepthidevaki deepthidevaki added the version:8.1.0-alpha1 Marks an issue as being completely or in parts released in 8.1.0-alpha1 label May 3, 2022
@Zelldon Zelldon added the version:8.1.0 Marks an issue as being completely or in parts released in 8.1.0 label Oct 4, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
version:8.1.0-alpha1 Marks an issue as being completely or in parts released in 8.1.0-alpha1 version:8.1.0 Marks an issue as being completely or in parts released in 8.1.0
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants