Skip to content

Backport to release/1.95#2246

Open
ferrocene-automations[bot] wants to merge 15 commits intorelease/1.95from
automation/backport/cemjapb7
Open

Backport to release/1.95#2246
ferrocene-automations[bot] wants to merge 15 commits intorelease/1.95from
automation/backport/cemjapb7

Conversation

@ferrocene-automations
Copy link
Copy Markdown

This PR backports the following PRs to the release/1.95 branch:

Note that the automation failed to backport some PRs automatically. Check out the backport:manual for a list of them.

jyn514 added 15 commits March 27, 2026 05:35
Before, build failures in the `document-signatures` tool wouldn't appear
until bootstrap had done all the work of building the docs.
Examples:

```
$ x sign --dry-run internal-procedures
Signing stage1 internal-procedures
```

```
$ x sign --dry-run
Signing stage1 document-list
Signing stage1 evaluation-plan
Signing stage1 evaluation-report
Signing stage1 plan
Signing stage1 report
Signing stage1 safety-manual
Signing stage1 internal-procedures
```
When the new `ferrocene.allow_dev_signing` is enabled, signatures will
not be required to match against `signature.toml` in the document repo.

`allow_dev_signing` is disabled by default.
Previously it tried to parse the body of the bors commit, not just the
first line; didn't understand the syntax; and then discarded all its
progress even though it understood the first line.

This also adds a bit more error handling to make future similar issues
easier to debug.
This doesn't use the existing `DelayFail` variant because `fail_fast` is
on by default for `x test` commands and there's no way to override it
per-Step.
Example diff:
```
running: "gtar" "--sort=name" "--mtime=2020-01-01T00:00:00Z" "--owner=0" "--group=0" "--numeric-owner" "--mode=u+rw,go+r,go-w" "--format=gnu" "--anchored" "--exclude=./signature" "-C" "/Users/jyn/work/ferrocene3/build/aarch6
4-apple-darwin/doc/qualification/internal-procedures" "-c" "." "-f" "/var/folders/t3/46yqwwp56vg2jp1604qr5wd00000gn/T/.tmpxhsBVS"
Signature incorrect: /Users/jyn/work/ferrocene3/build/aarch64-apple-darwin/doc/qualification/internal-procedures
existing document id: IP-e3d6f6af48b7631163516fa2c6cb7b8bc2b76be0
expected document id: IP-fb9e843580c0a88900c6d950009cbfb42818d878
existing tarball sha256: 75f4f89049985b5ff97a7e8661e3e829163d7a9f9593464e6403159976df06ff
expected tarball sha256: 496e2fbf9ab4931de93de2001aeced470afd9074f45978f9c26baed1ccb6c596
comparing build/host/signature-diffs/internal-procedures to build/host/doc/qualification/internal-procedures
diff --unified --recursive --ex build/host/signature-diffs/internal-procedures/_sources/docs/signatures.rst.txt build/host/doc/qualification/internal-procedures/_sources/docs/signatures.rst.txt
--- build/host/signature-diffs/internal-procedures/_sources/docs/signatures.rst.txt     2020-01-01 01:00:00
+++ build/host/doc/qualification/internal-procedures/_sources/docs/signatures.rst.txt   2026-03-16 17:43:52
@@ -26,7 +26,7 @@

    While everyone can invoke the command to begin signing, after a signature is
    made, the tooling will error out if you are not listed as an authorized
-   signer.
+   ner.

 .. caution::
```

I discovered while writing this that anything in
`doc/qualification/internal-procedures/signature` gets overwritten by `x
test signatures`. I don't love that, ideally it would use a different
temporary directory, but it wasn't too hard to put my
`stable-archive.tar` in a different directory instead.

The `saved-archive` return value from `generate` can't be part of
`Pinned` because it can't (and shouldn't) be serialized into
`pinned.toml`.
Feels bad to touch the network and leave permanent records if we don't
have to.

I verified that `x test document-signatures` still works if and only if
`allow_dev_signing` is disabled. Otherwise cosign will complain that
it's missing the proper role:
```
Signature correct: /Users/jyn/work/ferrocene3/build/aarch64-apple-darwin/doc/qualification/internal-procedures
Error: missing signature file for role safety-manager
```

Ferrocene-backport-of: #2227
@ferrocene-automations ferrocene-automations bot added automation Issue or PR created by an automation backport:never PR that should never be backported labels Mar 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

automation Issue or PR created by an automation backport:never PR that should never be backported

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant