Skip to content

Commit e0f4bad

Browse files
authored
Update to Brussels 0.2.0 (#2300)
This PR updates Brussels to 0.2.0 (oxidecomputer/brussels#7) and makes the necessary changes to be compatible with it. This release of Brussels doesn't change the manual steps needed to publish a release (it still only does the tagging and initial build), and instead contains these changes: * Records the commit we are releasing in the manifest, so that the rest of the (future) release process will be able to rely on it. * Rather than hardcoding the release groups in the Brussels source code, there is now a file in the Hubris repository, `brussels.toml`. The fine defines both how to create the tag and the list of boards to release. Along with the update I changed the GitHub release creation code to use the commit we are actually releasing, instead of releasing the latest commit on `main` unconditionally. This will prevent cases like the all-sp-v1.0.49 tag pointing to the wrong commit.
1 parent ed21360 commit e0f4bad

File tree

2 files changed

+53
-2
lines changed

2 files changed

+53
-2
lines changed

.github/workflows/release.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ jobs:
3030
name: Download Brussels
3131
run: |
3232
if [[ "${BRUSSELS_RUN_ID}" == "" ]]; then
33-
gh release download -R oxidecomputer/brussels -p brussels v0.1.1
33+
gh release download -R oxidecomputer/brussels -p brussels v0.2.0
3434
else
3535
gh run download "${BRUSSELS_RUN_ID}" -R oxidecomputer/brussels -n prebuilt-binary
3636
fi
@@ -42,7 +42,7 @@ jobs:
4242

4343
- id: init
4444
name: Initialize the release
45-
run: brussels init $group >> brussels-manifest.json
45+
run: brussels init "$group" HEAD >brussels-manifest.json
4646
env:
4747
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
4848
group: ${{ github.event.inputs.group }}
@@ -83,6 +83,7 @@ jobs:
8383
- name: Publish the release
8484
uses: softprops/action-gh-release@v1
8585
with:
86+
target_commitish: ${{ needs.init.outputs.commit_sha1 }}
8687
tag_name: ${{ needs.init.outputs.tag_name }}
8788
name: "${{ github.event.inputs.group }} release"
8889
fail_on_unmatched_files: true

brussels.toml

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
# Configuration for oxidecomputer/brussels, the SP and Rot release tool.
2+
#
3+
# Each group will publish all boards within it as part of a single tag and GitHub release, creating
4+
# the tag according to the defined rules. The hubris-app-dirs key defines the list of directores
5+
# containing the Hubris apps CI will build as part of the release.
6+
7+
version = 1 # Schema version of this file.
8+
9+
[groups.all-sp]
10+
tag-bump = "patch"
11+
tag-prefix = "all-sp-v"
12+
hubris-app-dirs = [
13+
"app/sidecar/",
14+
"app/gimlet/",
15+
"app/psc/",
16+
"app/cosmo/",
17+
]
18+
19+
[groups.all-sp.boards]
20+
gimlet-b = {}
21+
gimlet-b-lab = {}
22+
gimlet-c = {}
23+
gimlet-c-lab = {}
24+
gimlet-d = {}
25+
gimlet-d-lab = {}
26+
gimlet-e = {}
27+
gimlet-e-lab = {}
28+
gimlet-f = {}
29+
gimlet-f-lab = {}
30+
psc-b = {}
31+
psc-c = {}
32+
sidecar-b = {}
33+
sidecar-b-lab = {}
34+
sidecar-c = {}
35+
sidecar-c-lab = {}
36+
sidecar-d = {}
37+
sidecar-d-lab = {}
38+
cosmo-a = {}
39+
cosmo-a-lab = {}
40+
cosmo-b = {}
41+
cosmo-b-lab = {}
42+
43+
[groups.rot]
44+
tag-bump = "patch"
45+
tag-prefix = "oxide-rot-1-v"
46+
hubris-app-dirs = ["app/oxide-rot-1/"]
47+
48+
[groups.rot.boards]
49+
oxide-rot-1 = { images = ["a", "b"] }
50+
oxide-rot-1-selfsigned = { images = ["a", "b"] }

0 commit comments

Comments
 (0)