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

Create Task for building and tagging Tekton Pipelines release images #528

Closed
bobcatfish opened this issue Feb 21, 2019 · 1 comment
Closed
Assignees
Labels
area/yamls This issue involves writing a lot of yaml

Comments

@bobcatfish
Copy link
Collaborator

bobcatfish commented Feb 21, 2019

Expected Behavior

We should be testing and releasing Pipelines with Pipelines.

We should have a Task (and related Resources) defined that we can use to:

  • Build all images
  • Tag the images appropriately

It should be possible to use this for both:

  • Manually creating a versioned release (including updating "latest" tag)
  • Creating nightly releases

The Task

  • Inputs:
    • git repo
  • Outputs:
    • gcr images (for all Tekton images)
  • Parameters:
  • Version to use (maybe absence indicates nightly release?)

Actual Behavior

We currently use prow and knative release scripts for releasing.

Additional Info

  • See 0.1 release.yaml to see all images required
  • Actually triggering this is not in scope for this issue, it's fine to test manually (we'll be linking these together in a later issue)
  • PR should include docs that explain how the Task works
@bobcatfish bobcatfish changed the title Create task for building and tagging Pipelines release images Create Task for building and tagging Tekton Pipelines release images Feb 21, 2019
@bobcatfish bobcatfish added the area/yamls This issue involves writing a lot of yaml label Feb 21, 2019
@bobcatfish bobcatfish added okr This is for some internal Google project tracking and removed okr This is for some internal Google project tracking labels Feb 21, 2019
@bobcatfish bobcatfish self-assigned this Feb 28, 2019
@bobcatfish
Copy link
Collaborator Author

Starting to look at how we use ko for release publishing and it looks like the ko resolve command does both the creation of the images and the creation of the yaml so maybe it would make more sense to have one Task for both of those things.

bobcatfish added a commit to bobcatfish/pipeline that referenced this issue Mar 19, 2019
Add a `Task` which invokes `ko` to build and publish all images and yaml
config required for installing Tekton Pipelines.

This Task will:
* Build and publish the "base image" using Kaniko
* Generate a .ko.yaml
* Invoke ko to build/publish images and generate a release.yaml
* Parse the release.yaml for built images; ensuring that the expected
  images were built (and no more)
* Tag the built images with the correct version and also tag in all
  regions (us, asia, eu)

This should be the same functionality that could previously be seen in
https://github.com/tektoncd/pipeline/blob/master/hack/release.sh
(which used
https://github.com/knative/test-infra/blob/master/scripts/release.sh).
We can remove release.sh once we have completed tektoncd#530 as well.

Some functionality has been implemented in a python script, which has
its own tests. Since it is currently difficult to update the pull
request test logic to do additional things (such as run python unit
tests), I'm hoping we are okay with waiting until tektoncd#532 to add
automatic running of these tests).

Fixes tektoncd#528
Fixes tektoncd#529
bobcatfish added a commit to bobcatfish/pipeline that referenced this issue Mar 19, 2019
Add a `Task` which invokes `ko` to build and publish all images and yaml
config required for installing Tekton Pipelines.

This Task will:
* Build and publish the "base image" using Kaniko
* Generate a .ko.yaml
* Invoke ko to build/publish images and generate a release.yaml
* Parse the release.yaml for built images; ensuring that the expected
  images were built (and no more)
* Tag the built images with the correct version and also tag in all
  regions (us, asia, eu)

This should be the same functionality that could previously be seen in
https://github.com/tektoncd/pipeline/blob/master/hack/release.sh
(which used
https://github.com/knative/test-infra/blob/master/scripts/release.sh).
We can remove release.sh once we have completed tektoncd#530 as well.

Some functionality has been implemented in a python script, which has
its own tests. Since it is currently difficult to update the pull
request test logic to do additional things (such as run python unit
tests), I'm hoping we are okay with waiting until tektoncd#532 to add
automatic running of these tests).

Fixes tektoncd#528
Fixes tektoncd#529
bobcatfish added a commit to bobcatfish/pipeline that referenced this issue Mar 19, 2019
Add a `Task` which invokes `ko` to build and publish all images and yaml
config required for installing Tekton Pipelines.

This Task will:
* Build and publish the "base image" using Kaniko
* Generate a .ko.yaml
* Invoke ko to build/publish images and generate a release.yaml
* Parse the release.yaml for built images; ensuring that the expected
  images were built (and no more)
* Tag the built images with the correct version and also tag in all
  regions (us, asia, eu)

This should be the same functionality that could previously be seen in
https://github.com/tektoncd/pipeline/blob/master/hack/release.sh
(which used
https://github.com/knative/test-infra/blob/master/scripts/release.sh).
We can remove release.sh once we have completed tektoncd#530 as well.

Some functionality has been implemented in a python script, which has
its own tests. Since it is currently difficult to update the pull
request test logic to do additional things (such as run python unit
tests), I'm hoping we are okay with waiting until tektoncd#532 to add
automatic running of these tests).

Fixes tektoncd#528
Fixes tektoncd#529
bobcatfish added a commit to bobcatfish/pipeline that referenced this issue Mar 19, 2019
Add a `Task` which invokes `ko` to build and publish all images and yaml
config required for installing Tekton Pipelines.

This Task will:
* Build and publish the "base image" using Kaniko
* Generate a .ko.yaml
* Invoke ko to build/publish images and generate a release.yaml
* Parse the release.yaml for built images; ensuring that the expected
  images were built (and no more)
* Tag the built images with the correct version and also tag in all
  regions (us, asia, eu)

This should be the same functionality that could previously be seen in
https://github.com/tektoncd/pipeline/blob/master/hack/release.sh
(which used
https://github.com/knative/test-infra/blob/master/scripts/release.sh).
We can remove release.sh once we have completed tektoncd#530 as well.

Some functionality has been implemented in a python script, which has
its own tests. Since it is currently difficult to update the pull
request test logic to do additional things (such as run python unit
tests), I'm hoping we are okay with waiting until tektoncd#532 to add
automatic running of these tests).

Fixes tektoncd#528
Fixes tektoncd#529
bobcatfish added a commit to bobcatfish/pipeline that referenced this issue Mar 20, 2019
Add a `Task` which invokes `ko` to build and publish all images and yaml
config required for installing Tekton Pipelines.

This Task will:
* Build and publish the "base image" using Kaniko
* Generate a .ko.yaml
* Invoke ko to build/publish images and generate a release.yaml
* Parse the release.yaml for built images; ensuring that the expected
  images were built (and no more)
* Tag the built images with the correct version and also tag in all
  regions (us, asia, eu)

This should be the same functionality that could previously be seen in
https://github.com/tektoncd/pipeline/blob/master/hack/release.sh
(which used
https://github.com/knative/test-infra/blob/master/scripts/release.sh).
We can remove release.sh once we have completed tektoncd#530 as well.

Some functionality has been implemented in a python script, which has
its own tests. Since it is currently difficult to update the pull
request test logic to do additional things (such as run python unit
tests), I'm hoping we are okay with waiting until tektoncd#532 to add
automatic running of these tests).

Fixes tektoncd#528
Fixes tektoncd#529
bobcatfish added a commit to bobcatfish/pipeline that referenced this issue Mar 20, 2019
Add a `Task` which invokes `ko` to build and publish all images and yaml
config required for installing Tekton Pipelines.

This Task will:
* Build and publish the "base image" using Kaniko
* Generate a .ko.yaml
* Invoke ko to build/publish images and generate a release.yaml
* Parse the release.yaml for built images; ensuring that the expected
  images were built (and no more)
* Tag the built images with the correct version and also tag in all
  regions (us, asia, eu)

This should be the same functionality that could previously be seen in
https://github.com/tektoncd/pipeline/blob/master/hack/release.sh
(which used
https://github.com/knative/test-infra/blob/master/scripts/release.sh).
We can remove release.sh once we have completed tektoncd#530 as well.

Some functionality has been implemented in a python script, which has
its own tests. Since it is currently difficult to update the pull
request test logic to do additional things (such as run python unit
tests), I'm hoping we are okay with waiting until tektoncd#532 to add
automatic running of these tests).

Use actual production bucket and registry by default (tektoncd#527)

Fixes tektoncd#528
Fixes tektoncd#529
bobcatfish added a commit to bobcatfish/pipeline that referenced this issue Mar 20, 2019
Add a `Task` which invokes `ko` to build and publish all images and yaml
config required for installing Tekton Pipelines.

This Task will:
* Build and publish the "base image" using Kaniko
* Generate a .ko.yaml
* Invoke ko to build/publish images and generate a release.yaml
* Parse the release.yaml for built images; ensuring that the expected
  images were built (and no more)
* Tag the built images with the correct version and also tag in all
  regions (us, asia, eu)

This should be the same functionality that could previously be seen in
https://github.com/tektoncd/pipeline/blob/master/hack/release.sh
(which used
https://github.com/knative/test-infra/blob/master/scripts/release.sh).
We can remove release.sh once we have completed tektoncd#530 as well.

Some functionality has been implemented in a python script, which has
its own tests. Since it is currently difficult to update the pull
request test logic to do additional things (such as run python unit
tests), I'm hoping we are okay with waiting until tektoncd#532 to add
automatic running of these tests).

Use actual production bucket and registry by default (tektoncd#527)

Fixes tektoncd#528
Fixes tektoncd#529
tekton-robot pushed a commit that referenced this issue Mar 22, 2019
Add a `Task` which invokes `ko` to build and publish all images and yaml
config required for installing Tekton Pipelines.

This Task will:
* Build and publish the "base image" using Kaniko
* Generate a .ko.yaml
* Invoke ko to build/publish images and generate a release.yaml
* Parse the release.yaml for built images; ensuring that the expected
  images were built (and no more)
* Tag the built images with the correct version and also tag in all
  regions (us, asia, eu)

This should be the same functionality that could previously be seen in
https://github.com/tektoncd/pipeline/blob/master/hack/release.sh
(which used
https://github.com/knative/test-infra/blob/master/scripts/release.sh).
We can remove release.sh once we have completed #530 as well.

Some functionality has been implemented in a python script, which has
its own tests. Since it is currently difficult to update the pull
request test logic to do additional things (such as run python unit
tests), I'm hoping we are okay with waiting until #532 to add
automatic running of these tests).

Use actual production bucket and registry by default (#527)

Fixes #528
Fixes #529
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/yamls This issue involves writing a lot of yaml
Projects
None yet
Development

No branches or pull requests

1 participant