Skip to content

Conversation

@pohly
Copy link
Contributor

@pohly pohly commented Apr 1, 2020

The controller.test binary and the example still imported without the
/v5 suffix. This resulted in spurious
"sigs.k8s.io/sig-storage-lib-external-provisioner v4.1.0+incompatible
// indirect" go.mod entries in projects using the
lib (kubernetes-csi/external-provisioner#405 (comment)).

The example needs to use the sources that it was checked out
with. Otherwise it is impossible to change the API and the example in
a single commit and/or there is a risk that breaking changes go
undetected because the example continues to build with the unmodified
lib.

The controller.test binary and the example still imported without the
/v5 suffix. This resulted in spurious
"sigs.k8s.io/sig-storage-lib-external-provisioner v4.1.0+incompatible
// indirect" go.mod entries in projects using the
lib (kubernetes-csi/external-provisioner#405 (comment)).

The example needs to use the sources that it was checked out
with. Otherwise it is impossible to change the API and the example in
a single commit and/or there is a risk that breaking changes go
undetected because the example continues to build with the unmodified
lib.
@k8s-ci-robot k8s-ci-robot added the cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. label Apr 1, 2020
@k8s-ci-robot k8s-ci-robot requested review from jsafrane and wongma7 April 1, 2020 07:22
@k8s-ci-robot k8s-ci-robot added the size/S Denotes a PR that changes 10-29 lines, ignoring generated files. label Apr 1, 2020
sigs.k8s.io/sig-storage-lib-external-provisioner/v5 v5.0.0
)

replace sigs.k8s.io/sig-storage-lib-external-provisioner/v5 => ../..

Choose a reason for hiding this comment

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

Is this needed?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Without it, "make" in examples/hostpath-provisioner will use the latest published release of sigs.k8s.io/sig-storage-lib-external-provisioner/v5 instead of the current source code.

Now consider what happens when a breaking API change is made:

  • first the current implementation of the lib gets updated
  • a new release must be tagged which contains an example that still uses the old API
  • only now can the example be updated

@wongma7
Copy link

wongma7 commented Apr 1, 2020

/lgtm
/approve
thanks

@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: pohly, wongma7

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added lgtm "Looks good to me", indicates that a PR is ready to be merged. approved Indicates a PR has been approved by an approver from all required OWNERS files. labels Apr 1, 2020
@k8s-ci-robot k8s-ci-robot merged commit 987d4fb into kubernetes-sigs:master Apr 1, 2020
humblec pushed a commit to humblec/sig-storage-lib-external-provisioner that referenced this pull request Jun 18, 2020
Change 'make test-vet' back to call 'go vet'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. lgtm "Looks good to me", indicates that a PR is ready to be merged. size/S Denotes a PR that changes 10-29 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants