New quarterly builds out for the following branches:
1. hardened/current/master (aka, 16-CURRENT)
2. hardened/15-stable/main (aka, 15-STABLE)
I plan to let my body recover for a bit this weekend. I'll work on the
following feature branches early next week:
1. hardened/current/cross-dso-cfi (aka, 16-CURRENT with Cross-DSO CFI)
2. hardened/current/pledge (aka, 16-CURRENT Pledge port feature
branch)
I'll make sure their relevant quarterly branch is up-to-date related
to the quarterly/hardened/current/master-2026q3 branch I created.
Prior to the switch to Radicle, I would create signed git tags for the
quarterly branches. I need to update the "Radicle Repository Identity
Document" and add our tags as explicit "canonical references." I think
I want to formalize a strategy around the delegation list for the
quarterly branches and tags.
Radicle's way of doing canonical branches and delegates provides some
very cool security aspects that I would like to take advantage of.
Previously, I could do the release engineering work on any system on
which my ssh key material was uploaded to our self-hosted GitLab.
Now, with Radicle, I can limit which nodes are able to advance the
HEAD of a canonical reference. This means that I can have my
development VMs be able to advance the HEAD of the main development
branches and the quarterly branches. I could have a whole separate set
of nodes that can advance the HEAD (or even initially create) the
`refs/tags/quarterly/*` globbing pattern (or similar).
You can see that for the quarterly branches, the threshold is 2. That
means that at least two delegate nodes must explicitly accept the same
HEAD state in order for the wider Radicle network to accept the
advancement of HEAD.
I really like this "permissions model" so-to-speak. It provides an
immense level of both flexibility and power in an intuitive
manner--even if my explanation of what's in my brain might not be
sufficient. They have great documentation. Their user guide can be
found here[1].
For a reference of what that identity document looks like for ports
and src, take a look at our documentation[2] on the matter. I will, of
course, update that document when I do make the change to support git
tags.
[1]:
https://radicle.dev/guides/user
[2]:
https://radicle.network/nodes/rad.hardenedbsd.org/rad:z4Aucnb2nozutuek6o8PC9YfaBeTm/tree/Delegates.md