Sig-release: Move `release-notes` tool under a k-sigs org repo

Created on 26 Jan 2019  路  9Comments  路  Source: kubernetes/sig-release

Currently, the release-notes utility used to collate all the release notes for a given release is under a personal repo (https://github.com/marpaia/release-notes)

As it's now been used for multiple releases, and is the primary utility moving forward, it should probably live under an official k8s repo.

I propose we

  • [ ] Copy code to _existing repo_ (k/release ?)
  • [ ] Update release-notes/README.md with new location
  • [ ] Update release notes handbook with new location
  • [ ] Thank @marpaia for the awesome tool ;)
sirelease

Most helpful comment

OK, cool, the PR is up here: https://github.com/kubernetes/release/pull/661

With regards to those other tools, toolbox/relnotes was an attempted re-write of the bash relnotes tool in Go that hasn't really worked out IMO. I tried to extend it when I was working on my tool, but it's not organized in any library package structure that makes it re-usable. I think we should delete it.

As far as the relnotes bash script, this is exec'd by the anago shell script when cutting releases. It generates a really minimal, uncontextualized version of release notes and puts it in the CHANGELOG files in k/k. I would love for this to be using the better, contextualized release-notes tool, but really with all this tooling being untestable 1,000+ bash scripts, there is a lot of work to do before these pieces of software can be extended in meaningful ways.

I'll note that I don't want to put down any of the work that people have done, I just don't think that Bash is a good general purpose programming language for objectives which are complicated and require componentization or testing.

So short term, I'd love it if anago was shelling out to the release-notes Go tool instead of the relnotes bash script, but long term, I'd prefer if anago was a set of well-tested, well-isolated library code written in Go that was tied together in purpose-built binaries.

All 9 comments

If @marpaia agrees, we could migrate the repo by filing an issue against k/org for step one.

I can file the issue to create the repo and move it over, update the imports, etc.

I wonder however if this is the kind of thing we should move to k/sig-release/release-engineering? Perhaps @tpepper or @aleksandra-malinowska have thoughts on this.

I had a PR for that up for quite a while but I wasn't able to get any eyes on it: https://github.com/kubernetes/release/pull/575. I can copy it back over there though.

@marpaia That sounds like the best place, I say re-PR it and we'll make sure there's traction.

cc

@marpaia -- Oof. Sorry about that. I'll get this pushed through. PR it again and tag me.

How does this compare to:

Let's make sure we resolve the differences between the two tools as well (at some point).

OK, cool, the PR is up here: https://github.com/kubernetes/release/pull/661

With regards to those other tools, toolbox/relnotes was an attempted re-write of the bash relnotes tool in Go that hasn't really worked out IMO. I tried to extend it when I was working on my tool, but it's not organized in any library package structure that makes it re-usable. I think we should delete it.

As far as the relnotes bash script, this is exec'd by the anago shell script when cutting releases. It generates a really minimal, uncontextualized version of release notes and puts it in the CHANGELOG files in k/k. I would love for this to be using the better, contextualized release-notes tool, but really with all this tooling being untestable 1,000+ bash scripts, there is a lot of work to do before these pieces of software can be extended in meaningful ways.

I'll note that I don't want to put down any of the work that people have done, I just don't think that Bash is a good general purpose programming language for objectives which are complicated and require componentization or testing.

So short term, I'd love it if anago was shelling out to the release-notes Go tool instead of the relnotes bash script, but long term, I'd prefer if anago was a set of well-tested, well-isolated library code written in Go that was tied together in purpose-built binaries.

This got resolved by https://github.com/kubernetes/release/pull/661 :)

Was this page helpful?
0 / 5 - 0 ratings