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

Remove support for ${} syntax 🗑️ #1311

Merged
merged 1 commit into from
Sep 16, 2019

Conversation

bobcatfish
Copy link
Collaborator

Changes

In #850 we decided that to make our syntax more similar to k8s style
syntax, we will use $() for variable substitution instead of ${}. In a
later iteration we may also want to make it so that anything that can be
acesssed as a variable is also available as an env var to the running
container, but that is TBD.

In #1172 we added support for the new syntax, $(), and continued support
for ${}, which was released in 0.6. This commit removes support for
${}.

Fixes #1170

Submitter Checklist

These are the criteria that every PR should meet, please check them off as you
review them:

See the contribution guide for more details.

Double check this list of stuff that's easy to miss:

Reviewer Notes

If API changes
are included, additive changes
must be approved by at least two OWNERS
and backwards incompatible changes
must be approved by more than 50% of the OWNERS,
and they must first be added
in a backwards compatible way.

Release Notes

Backwards incompatible change:
🚨Support for ${} syntax removed in favor of $() 🚨
${} syntax will no longer perform variable replacement, $() must be used instead

In tektoncd#850 we decided that to make our syntax more similar to k8s style
syntax, we will use $() for variable substitution instead of ${}. In a
later iteration we may also want to make it so that anything that can be
acesssed as a variable is also available as an env var to the running
container, but that is TBD.

In tektoncd#1172 we added support for the new syntax, $(), and continued support
for ${}, which was released in 0.6. This commit removes support for
${}.

Fixes tektoncd#1170
@tekton-robot
Copy link
Collaborator

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: bobcatfish

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

@tekton-robot tekton-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Sep 14, 2019
@googlebot googlebot added the cla: yes Trying to make the CLA bot happy with ppl from different companies work on one commit label Sep 14, 2019
@tekton-robot tekton-robot added the size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. label Sep 14, 2019
@tekton-robot
Copy link
Collaborator

The following is the coverage report on pkg/.
Say /test pull-tekton-pipeline-go-coverage to re-run this coverage report

File Old Coverage New Coverage Delta
pkg/apis/pipeline/v1alpha1/substitution.go 98.1% 97.8% -0.3

Copy link
Member

@afrittoli afrittoli left a comment

Choose a reason for hiding this comment

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

Thank you for this!
This is a backward incompatible change, but as per commit message the deprecation has been advertised in 0.6 and we're removing it now for 0.7.
/lgtm

@tekton-robot tekton-robot added the lgtm Indicates that a PR is ready to be merged. label Sep 15, 2019
@afrittoli
Copy link
Member

/test pull-tekton-pipeline-integration-tests

1 similar comment
@vdemeester
Copy link
Member

/test pull-tekton-pipeline-integration-tests

@tekton-robot tekton-robot merged commit 1c4d4b2 into tektoncd:master Sep 16, 2019
richard2006 pushed a commit to knative-sample/tekton-knative that referenced this pull request Sep 24, 2019
bobcatfish added a commit to bobcatfish/pipeline that referenced this pull request Dec 6, 2019
In tektoncd#1311 I removed support for `${}` but instead of removing these tests
I just updated them, making them duplicates of the above test cases.
bobcatfish added a commit to bobcatfish/pipeline that referenced this pull request Dec 6, 2019
Each test case for parameter substitution application was being given a
totally separate test case, with the variables being used being declared
in different places across the file. For tektoncd#1639 I came along and wanted
to start adding more tests for workspace substitution and found it hard
to tell where to start so I:

* Combined most of the test cases for param subsitution into one test
  so you can easily see everything that is being tested (none of the
  test cases conflicted with each other and can easily be applied
  together)
* I kept the array param test cases separate cuz they seemd to be
  testing distinct test cases
* The Volume test cases were a bit odd b/c they were trying to make sure
  substitution was _applied_ to volumes, but there is no volume specific
  function so they were calling an internal function and passing in
  dummy values that are not representative of the actual values you'd
  substitute for volumes so instead I folded these test cases into the
  param application test.

Probably the resource application test case should be made quite similar
to the param test but it seemed like some of the resource stuff was
distinct and had to be tested in isolateion (e.g. just outputs, just
inputs, etc.)

Also removed some depreated (and duplicated!) volume tests:
in tektoncd#1311 I removed support for ${} but instead of removing these tests
I just updated them, making them duplicates of the above test cases.
bobcatfish added a commit to bobcatfish/pipeline that referenced this pull request Dec 10, 2019
Each test case for parameter substitution application was being given a
totally separate test case, with the variables being used being declared
in different places across the file. For tektoncd#1639 I came along and wanted
to start adding more tests for workspace substitution and found it hard
to tell where to start so I:

* Combined most of the test cases for param subsitution into one test
  so you can easily see everything that is being tested (none of the
  test cases conflicted with each other and can easily be applied
  together)
* I kept the array param test cases separate cuz they seemd to be
  testing distinct test cases
* The Volume test cases were a bit odd b/c they were trying to make sure
  substitution was _applied_ to volumes, but there is no volume specific
  function so they were calling an internal function and passing in
  dummy values that are not representative of the actual values you'd
  substitute for volumes so instead I folded these test cases into the
  param application test.

Probably the resource application test case should be made quite similar
to the param test but it seemed like some of the resource stuff was
distinct and had to be tested in isolateion (e.g. just outputs, just
inputs, etc.)

Also removed some depreated (and duplicated!) volume tests:
in tektoncd#1311 I removed support for ${} but instead of removing these tests
I just updated them, making them duplicates of the above test cases.
bobcatfish added a commit to bobcatfish/pipeline that referenced this pull request Dec 10, 2019
Each test case for parameter substitution application was being given a
totally separate test case, with the variables being used being declared
in different places across the file. For tektoncd#1639 I came along and wanted
to start adding more tests for workspace substitution and found it hard
to tell where to start so I:

* Combined most of the test cases for param subsitution into one test
  so you can easily see everything that is being tested (none of the
  test cases conflicted with each other and can easily be applied
  together)
* I kept the array param test cases separate cuz they seemd to be
  testing distinct test cases
* The Volume test cases were a bit odd b/c they were trying to make sure
  substitution was _applied_ to volumes, but there is no volume specific
  function so they were calling an internal function and passing in
  dummy values that are not representative of the actual values you'd
  substitute for volumes so instead I folded these test cases into the
  param application test.

Probably the resource application test case should be made quite similar
to the param test but it seemed like some of the resource stuff was
distinct and had to be tested in isolateion (e.g. just outputs, just
inputs, etc.)

Also removed some depreated (and duplicated!) volume tests:
in tektoncd#1311 I removed support for ${} but instead of removing these tests
I just updated them, making them duplicates of the above test cases.
tekton-robot pushed a commit that referenced this pull request Dec 10, 2019
Each test case for parameter substitution application was being given a
totally separate test case, with the variables being used being declared
in different places across the file. For #1639 I came along and wanted
to start adding more tests for workspace substitution and found it hard
to tell where to start so I:

* Combined most of the test cases for param subsitution into one test
  so you can easily see everything that is being tested (none of the
  test cases conflicted with each other and can easily be applied
  together)
* I kept the array param test cases separate cuz they seemd to be
  testing distinct test cases
* The Volume test cases were a bit odd b/c they were trying to make sure
  substitution was _applied_ to volumes, but there is no volume specific
  function so they were calling an internal function and passing in
  dummy values that are not representative of the actual values you'd
  substitute for volumes so instead I folded these test cases into the
  param application test.

Probably the resource application test case should be made quite similar
to the param test but it seemed like some of the resource stuff was
distinct and had to be tested in isolateion (e.g. just outputs, just
inputs, etc.)

Also removed some depreated (and duplicated!) volume tests:
in #1311 I removed support for ${} but instead of removing these tests
I just updated them, making them duplicates of the above test cases.
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. cla: yes Trying to make the CLA bot happy with ppl from different companies work on one commit lgtm Indicates that a PR is ready to be merged. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Remove ${} in favor of $() syntax
5 participants