Commit b942bd5
authored
Tag releases with Brussels (#2270)
The first phase of the SP and RoT release process is to determine the
version number, tag the latest commit with that version number, and push
it to kick off the build. To start fully automating the SP release
process, this PR replaces this phase with a single GitHub Actions
workflow that can be started through the UI:
<img width="933" height="477" alt="image"
src="https://github.com/user-attachments/assets/2fb0b680-b4ac-41d7-a37a-6455bafd4735"
/>
<br/><br/>
This uses [Brussels](https://github.com/oxidecomputer/brussels), the new
SP and RoT release tooling I'm working on, and in particular the changes
I introduced in oxidecomputer/brussels#3. Brussels is fetched as a
pre-built binary from its GitHub Release to ensure it doesn't delay the
release process by trying to compile it.
The `brussels init` command will be executed in its own job as the first
build step. It will look at all the existing tags to determine what is
the next version number, calculate the tag name, and expose all of that
information into `GITHUB_OUTPUT` to let the rest of the workflow know
the version to use. It will also write all the metadata it gathered in a
`brussels-manifest.json` file, so that future Brussels steps can
reference that metadata.
The tag will not be created and pushed by `brussels init`. Instead, we
will let the "create GitHub Release" step at the end of the workflow
create the tag on its own, as GitHub will do so when creating a release
without an underlying tag.
While I was there, I also changed the build process to inject the
version number directly during the build, instead of waiting for
permslip to add it as part of the signature process.
This is just the first improvement to the SP release process that I'm
going to do. The end goal is for SP releases to be fully automated
(either by requiring a single button click or by putting the whole
release process in a cronjob).
Note that by default the workflow will use the latest release of
Brussels. An optional field when starting the workflow run lets you
download Brussels from a CI job in the Brussels repository. This mostly
exists to help me test changes without publishing endless releases.1 parent 2a73694 commit b942bd5
3 files changed
Lines changed: 83 additions & 106 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
24 | 29 | | |
25 | 30 | | |
26 | 31 | | |
| |||
43 | 48 | | |
44 | 49 | | |
45 | 50 | | |
46 | | - | |
| 51 | + | |
47 | 52 | | |
48 | 53 | | |
49 | 54 | | |
| |||
88 | 93 | | |
89 | 94 | | |
90 | 95 | | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
91 | 103 | | |
| 104 | + | |
| 105 | + | |
92 | 106 | | |
93 | | - | |
94 | 107 | | |
95 | 108 | | |
96 | 109 | | |
| |||
This file was deleted.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | | - | |
6 | | - | |
7 | | - | |
8 | | - | |
9 | | - | |
10 | | - | |
| 5 | + | |
| 6 | + | |
11 | 7 | | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
12 | 14 | | |
13 | 15 | | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
14 | 20 | | |
15 | | - | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
16 | 61 | | |
17 | 62 | | |
18 | 63 | | |
19 | | - | |
| 64 | + | |
20 | 65 | | |
| 66 | + | |
21 | 67 | | |
22 | 68 | | |
23 | | - | |
24 | | - | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
25 | 74 | | |
26 | 75 | | |
27 | | - | |
| 76 | + | |
28 | 77 | | |
29 | 78 | | |
30 | 79 | | |
31 | 80 | | |
32 | | - | |
33 | | - | |
34 | | - | |
35 | | - | |
36 | | - | |
37 | | - | |
38 | | - | |
39 | | - | |
| 81 | + | |
40 | 82 | | |
41 | | - | |
| 83 | + | |
42 | 84 | | |
43 | 85 | | |
44 | | - | |
| 86 | + | |
| 87 | + | |
45 | 88 | | |
46 | | - | |
| 89 | + | |
47 | 90 | | |
48 | 91 | | |
| 92 | + | |
0 commit comments