You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -17,11 +17,13 @@ It uses Go modules as the vendoring mechanism.
17
17
The only build requirement is Docker.
18
18
19
19
To build `ignite`, `ignited` and `ignite-spawn` for all supported architectures, run:
20
+
20
21
```console
21
22
make build-all
22
23
```
23
24
24
25
To only build for a specific architecture, append the architecture to the command:
26
+
25
27
```console
26
28
make build-all-amd64
27
29
make build-all-arm64
@@ -42,3 +44,46 @@ make autogen tidy
42
44
make -C images WHAT=ubuntu
43
45
make -C images WHAT=centos
44
46
```
47
+
48
+
## Generic instructions on releasing a version
49
+
50
+
- Fix all issues in the `v0.X.Y` milestone
51
+
- Create a `v0.X.Y` tracking issue (like https://github.com/weaveworks/ignite/issues/379)
52
+
- Update documentation for the latest version (like https://github.com/weaveworks/ignite/pull/378)
53
+
- Make sure your git remote `upstream` points to `[email protected]:weaveworks/ignite.git`, and `origin` to `[email protected]:<user>/ignite.git`
54
+
- Get a Github API token with `repo` access, and put it in `bin/gren_token` for automatic release note generation
55
+
- Make sure you have access to push to the `weaveworks/ignite*` repositories to Docker Hub
56
+
57
+
## Releasing a minor version
58
+
59
+
- A minor version is done based off the `master` branch
60
+
- Set the environment variable to tell what minor version to release: `export MINOR=X`
61
+
- If this is a prerelease, set e.g. `export EXTRA=-alpha.1`, `export EXTRA=-beta.1`, or `export EXTRA=-rc.1`
62
+
- The script to run is `hack/minor-release.sh all`. It will:
63
+
- Tidy your environment by running `make tidy autogen graph` and doing a commit
64
+
- Autogenerate the changelog, provisionally using [GREN](https://github.com/github-tools/github-release-notes). The script will wait for you to open an editor and manually fixup `docs/releases/v0.X.0.md`. Then proceed with `Y`, which will create the commit to be tagged `v0.X.0`
65
+
- Create the `v0.X.0` tag using `git tag`
66
+
- Build the release binaries to `bin/releases/v0.X.0` and push the `weaveworks/ignite:v0.X.0` images and manifest list to Docker Hub
67
+
- Push the tag, and latest commits to the `master` and newly-created `release-0.X` branch
68
+
69
+
## Releasing a patch version
70
+
71
+
- A patch version is done based off the `release-0.X` branch
72
+
-**Note:** Before running the release, `git cherrypick` relevant commits into the release branch
73
+
- Set the environment variables to tell what patch version to release: `export MINOR=X` and `export PATCH=Y`
74
+
- If this is a prerelease, set e.g. `export EXTRA=-alpha.1`, `export EXTRA=-beta.1`, or `export EXTRA=-rc.1`
75
+
- The script to run is `hack/patch-release.sh all`
76
+
- Tidy your environment by running `make tidy autogen graph` and doing a commit
77
+
- Autogenerate the changelog, provisionally using [GREN](https://github.com/github-tools/github-release-notes). The script will wait for you to open an editor and manually fixup `docs/releases/v0.X.Y.md`. Then proceed with `Y`, which will create the commit to be tagged `v0.X.Y`
78
+
- Create the `v0.X.Y` tag using `git tag`
79
+
- Build the release binaries to `bin/releases/v0.X.Y` and push the `weaveworks/ignite:v0.X.Y` images and manifest list to Docker Hub
80
+
- Push the tag, and latest commits to the `release-0.X` branch
81
+
82
+
## Publishing a release
83
+
84
+
- Go to `Project Releases` in the Github UI, and select `Draft a new release`
85
+
- Select the tag you've just created `v0.X.Y` from either the `master` (minor releases) or `release-0.X` branch
86
+
- Let the release title be `v0.X.Y`
87
+
- Paste the content in `docs/releases/v0.X.Y.md` in the release description, and add installing guidelines as per the earlier releases
88
+
- Upload the binaries in `bin/releases/v0.X.Y` named as `{ignite,ignited}-{amd64,arm64}`
89
+
- Click `Publish Release` and announce to everyone you know!
0 commit comments