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
chore: convert to push-button release workflow (#471)
This updates the existing release workflow so that it is run by pushing
a button in the GitHub UI rather than creating a tag locally and pushing
that tag up to GitHub.
The push-button workflow looks up the previous release and uses
Conventional Commit tags to determine the correct next version for the
new release. As before, it uses GoReleaser to build the CLI and upload
the binaries to the GitHub release.
I have confirmed on my fork that this works up through the GoReleaser
step.
Closes#364
Copy file name to clipboardexpand all lines: RELEASE.md
+9-14
Original file line number
Diff line number
Diff line change
@@ -4,26 +4,21 @@ These build and release instructions are intended for the maintainers and future
4
4
5
5
## Preparing a new version
6
6
7
-
There are no preperation steps.
7
+
There are no preparation steps.
8
8
9
-
* the version is computed from git tags
10
-
* The changelog is generated from git and lives outside of git
11
-
12
-
## Tagging
13
-
14
-
Pull the latest `master` branch and locally `git tag -s 0.0.9`.
15
-
16
-
When breaking changes are introduced bump the minor or major accordingly, restting the patch version.
9
+
* the version is computed from [Conventional Commit](https://www.conventionalcommits.org/en/v1.0.0/) tags
10
+
* There is no changelog; the GitHub release notes are generated based on [Conventional Commit](https://www.conventionalcommits.org/en/v1.0.0/) tags
17
11
18
12
## Releasing
19
13
20
-
Push the tag to GitHub and [GitHub Workflows](.github/workflows/release.yml)and [GoReleaser](.goreleaser.yml) will do the rest.
14
+
Run the GitHub Actions [Release Workflow](.github/workflows/release.yml)on the `main` branch.
21
15
22
-
```sh
23
-
git push origin --tags 0.0.9
24
-
```
16
+
The release workflow:
17
+
- Uses [Semantic Release](.releaserc.json) to determine the next version number and create the GitHub release
18
+
- Uses [GoReleaser](.goreleaser.yml) to build the CLI binaries and attach them to the GitHub release
19
+
- Updates the Homebrew tap
25
20
26
21
This will build and release binaries for several different OS and Architecture combinations.
27
22
28
-
Any special instructions or notes should be added by editing the release notes that goreleaser publishes. These notes can be found at https://github.com/equinix/metal-cli/releases
23
+
Any special instructions or notes should be added by editing the release notes that the workflow publishes. These notes can be found at https://github.com/equinix/metal-cli/releases
0 commit comments