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

Update eksGoRelease readme guide #1307

Merged
merged 2 commits into from
Jan 10, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 41 additions & 9 deletions tools/eksDistroBuildToolingOpsTools/cmd/eksGoRelease/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,27 +3,59 @@ The EKS Go Release Tool is intended as a home for all automation used to release
It is intended to eventually replace eksGoTool.

### Using the Tool
use `eksGoRelease --help` for up-to-date usage
`make build-eksGoRelease` generates the binary
`eksGoRelease --help` for up-to-date usage
```
Tools for updating and releasing EKS Go

Usage:
eksGoRelease [command]

Available Commands:
completion Generate the autocompletion script for the specified shell
help Help about any command
new Release a new minor version of EKS Go
patch Cherrypick a patch to versions of EKS Go
release Release EKS Go
update Update new patch versions of EKS Go

Flags:
-d, --dryrun run without creating PR
--eksGoReleases strings EKS Go releases to update
-e, --email string github email for git functions
-h, --help help for eksGoRelease
-u, --user string github username for git functions
-v, --verbosity int Set the log level verbosity
```
#### Commands:
`new` Create repo structure for a new minor version of EKS Go

`release` Release EKS Go version(s)

The tool has an `release` command which creates new minor version release structure and files.
The tool has an `update` command which updates upstream supported versions for new patch releases.
`update` Update new patch version(s) of EKS Go

Work In Progress:
`patch` Cherrypick a patch to version(s) of EKS Go

The `release` command accepts a EKS Go release version via the flag `eksGoRelease`.
For example to release a new version of eksGo `1.21.0`
you would run the following:

```shell
eksGoRelease release --eksGoReleases=1.21.0
eksGoRelease new --eksGoReleases=1.21.0
```

The `update` command accepts a comma-seperated list of EKS Go release versions via the flag `eksGoRelease`.
Updates are run for each given release version. For example, to run updaters for the EKS Go release `1.20.2` & `1.19.3`,
you would run the following:

```shell
eksGoRelease update --eksGoReleases=1.20.2,1.19.3
```


The `release` command accepts a comma-seperated list of EKS Go release versions via the flag `eksGoRelease`.
This command is to be run after post-submits and builds pass. This command updates the README and when merged
runs the prowjob triggering the sns message.
```shell
eksGoRelease release --eksGoReleases=1.20.2,1.19.3
```

### Building the Tool
To build the Consumer Updater binary, run the build make target `make build-eksGoRelease`
from the root of the Ops Tool. This will produce a binary in `tools/eksDistroBuildToolingOpsTools/bin/$GOOS/$GOARCH/eksGoRelease`.
Loading