Skip to content

Publish SP releases with Brussels#2387

Merged
emilyalbini merged 8 commits intomasterfrom
ea-brussels-next
Feb 18, 2026
Merged

Publish SP releases with Brussels#2387
emilyalbini merged 8 commits intomasterfrom
ea-brussels-next

Conversation

@emilyalbini
Copy link
Copy Markdown
Member

This PR changes the Hubris release process to rely on Brussels to create the GitHub release. Using the sprot-release tool is still needed for now, as I haven't integrated Brussels with the Omicron releng tooling (that's my next task). We can still start using the Brussels logic for creating the release.

Most of the changes are actually in oxidecomputer/brussels#8, this just hooks things up in Hubris. I tested the release workflow on my test repo yesterday and it seemed to work, so hopefully this won't cause much breakage.

@emilyalbini emilyalbini requested a review from labbott February 12, 2026 18:27
Copy link
Copy Markdown
Collaborator

@labbott labbott left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

very minor comments questions but LGTM


- name: Publish the release
uses: softprops/action-gh-release@v1
uses: softprops/action-gh-release@v2
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What's the difference from v1 to v2?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It makes it work with immutable releases.

In v1, the action would create the release in a published state and then add artifacts to it, which breaks once immutable releases are enabled. v2 uses the correct behavior of creating the release in a draft state, adding artifacts to it, and then marking the release as published (turning it immutable).


#[derive(Debug, Deserialize)]
#[serde(rename_all = "camelCase")]
struct Bundle {
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Guessing none of these are in a crate we can easily use?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All of the crates defining the types I'm aware of (including my sigstore-verify crate) also bring in a bunch of crypto dependencies to do the actual sigstore validation, which would needlessly slow down xtask ☹️

@emilyalbini emilyalbini merged commit 91ccfa4 into master Feb 18, 2026
174 checks passed
@emilyalbini emilyalbini deleted the ea-brussels-next branch February 18, 2026 22:07
brittonr pushed a commit to brittonr/hubris that referenced this pull request Feb 25, 2026
This PR changes the Hubris release process to rely on Brussels to create
the GitHub release. **Using the sprot-release tool is still needed for
now**, as I haven't integrated Brussels with the Omicron releng tooling
(that's my next task). We can still start using the Brussels logic for
creating the release.

Most of the changes are actually in oxidecomputer/brussels#8, this just
hooks things up in Hubris. I tested the release workflow on my test repo
yesterday and it seemed to work, so hopefully this won't cause much
breakage.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants