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

Improve the release process for Knative projects #1782

Closed
chizhg opened this issue Mar 4, 2020 · 11 comments
Closed

Improve the release process for Knative projects #1782

chizhg opened this issue Mar 4, 2020 · 11 comments
Labels
kind/enhancement lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. priority/important-soon Must be staffed and worked on either currently, or very soon, ideally in time for the next release.

Comments

@chizhg
Copy link
Member

chizhg commented Mar 4, 2020

Currently, Knative test-infra provides infrastructure for Knative projects to do auto-release, dot-release and nightly-release, see the difference between them in https://github.com/knative/test-infra/blob/master/guides/release_setup.md.

To support these releases, the Knative project needs to vendor test-infra scripts, source release.sh in ./hack/release.sh, and overwrite the callback functions to generate the release for this project. And they also need to add corresponding Prow jobs. Based on the schedules, the Prow jobs will run ./hack/release.sh to generate the artifacts and publish them to GCS and GCR.

So far, we have met multiple issues for using the script and process:

  1. Since all the logics are written in bash scripts, it has the same issue as the testing process, as described in Rewrite test script to Golang #1587
  2. We need to vendor the scripts in each repo, and make sure it's up-to-date in every repo, which is another issue for this "vendor and reference" model.
  3. The release process is not part of the presubmit tests, which means if there is an issue, it can only be discovered on the release day.
  4. If there are errors in auto-release and dot-release jobs (specially in the process of adding tag on Github and uploading artifacts), rerunning them will always get an error because the changes made by the last job were not cleaned up properly.

We need a better story for release in Knative that can fix all the above issues.

/kind enhancement

@chizhg
Copy link
Member Author

chizhg commented Mar 4, 2020

Related:
#1262
#1778
#214

@nachocano
Copy link

BTW, would it be possible to publish knative-gcp nightly artifacts to the google org bucket instead of knative? Otherwise the pre-release knative.dev links don't work...

https://storage.googleapis.com/google-nightly/knative-gcp/latest/cloud-run-events.yaml

but it actually is here:

https://storage.googleapis.com/knative-nightly/knative-gcp/latest/cloud-run-events.yaml

@chizhg
Copy link
Member Author

chizhg commented Mar 4, 2020

The bucket has always been knative-nightly, and I'm not sure how the decision was made.
Could you direct me to the pre-release knative.dev link? I didn't know there was a google-nightly bucket.

@nachocano
Copy link

nachocano commented Mar 4, 2020 via email

@chizhg
Copy link
Member Author

chizhg commented Mar 5, 2020

no, there's not... see knative/docs#2220 we might have to change the artifacts.html then, see Matt's comment

On Tue, Mar 3, 2020 at 9:42 PM Chi Zhang @.***> wrote: The bucket has always been knative-nightly, and I'm not sure how the decision was made. Could you point me to the pre-release knative.dev link? I didn't know there was a google-nightly bucket. — You are receiving this because you commented. Reply to this email directly, view it on GitHub <#1782?email_source=notifications&email_token=ABD65DFBGJPJJEH5NK5XK2TRFXS3VA5CNFSM4LA3JEH2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOENWOC7Y#issuecomment-594338175>, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABD65DC7ZJEU4COUZA44NXLRFXS3VANCNFSM4LA3JEHQ .

I think it makes sense to hardcode the org as knative.

@knative-housekeeping-robot

Issues go stale after 90 days of inactivity.
Mark the issue as fresh by adding the comment /remove-lifecycle stale.
Stale issues rot after an additional 30 days of inactivity and eventually close.
If this issue is safe to close now please do so by adding the comment /close.

Send feedback to Knative Productivity Slack channel or file an issue in knative/test-infra.

/lifecycle stale

@knative-prow-robot knative-prow-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Jun 4, 2020
@chizhg
Copy link
Member Author

chizhg commented Jun 4, 2020

/remove-lifecycle stale

@knative-prow-robot knative-prow-robot removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Jun 4, 2020
@github-actions
Copy link

github-actions bot commented Sep 2, 2020

This issue is stale because it has been open for 90 days with no
activity. It will automatically close after 30 more days of
inactivity. Reopen the issue with /reopen.Mark the issue as
fresh by adding the comment /remove-lifecycle stale.

@github-actions github-actions bot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Sep 2, 2020
@chizhg
Copy link
Member Author

chizhg commented Sep 3, 2020

/lifecycle frozen

@knative-prow-robot knative-prow-robot added lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. and removed lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. labels Sep 3, 2020
@n3wscott
Copy link
Contributor

n3wscott commented Dec 1, 2020

We should start looking at RC builds of releases.

@upodroid upodroid added the priority/important-soon Must be staffed and worked on either currently, or very soon, ideally in time for the next release. label Jun 15, 2022
@krsna-m
Copy link
Contributor

krsna-m commented Jun 15, 2022

Closing in favor of knative/infra#99

@krsna-m krsna-m closed this as completed Jun 15, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/enhancement lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. priority/important-soon Must be staffed and worked on either currently, or very soon, ideally in time for the next release.
Projects
None yet
Development

No branches or pull requests

7 participants