Skip to content

Add signature verification in monitoring mode#77

Merged
eed3si9n merged 4 commits into
sbt:mainfrom
puerco:signature-policy
Apr 7, 2026
Merged

Add signature verification in monitoring mode#77
eed3si9n merged 4 commits into
sbt:mainfrom
puerco:signature-policy

Conversation

@puerco
Copy link
Copy Markdown
Contributor

@puerco puerco commented Apr 7, 2026

This is the first PR on the plan to make the installer artifacts verifiable.

This PR adds another curl call to download the signature along with the sbt distribution and injects another step in the installer that verifies the signature with an off the shelf policy. We also temporarily embed the public key in the workflow to verify the binary, ideally we'll write a policy for the installer and keep it in another location.

To monitor things, the verification step is in monitoring mode for now, it will not fail the installation if the signature fails. We will enforce it once we observe it for a few days.

puerco added 3 commits April 5, 2026 22:32
Signed-off-by: Adolfo Garcia Veytia (puerco) <puerco@carabiner.dev>
Signed-off-by: Adolfo Garcia Veytia (puerco) <puerco@carabiner.dev>
Signed-off-by: Adolfo Garcia Veytia (puerco) <puerco@carabiner.dev>
@puerco
Copy link
Copy Markdown
Contributor Author

puerco commented Apr 7, 2026

You can see a sample verified run here: https://github.com/puerco/lab/actions/runs/24020125360/job/70047252388

Comment thread action.yml Outdated

- name: "Verify the sbt distribution signature"
id: "ampel-verify"
if: steps.cache-tool-dir.outputs.cache-hit != 'true' && steps.cache-dir.outputs.cache-hit != 'true'
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Thanks for the contribution! Would it be ok if we only ran this on Linux?

Copy link
Copy Markdown
Contributor Author

@puerco puerco Apr 7, 2026

Choose a reason for hiding this comment

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

Yes of course. I actually just pushed a commit to skip it on windows as it unearthed a windows bug upstream on billyfs: go-git/go-billy#194

Let me change the last commit to also skip MacOS

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

OK, I've modified the workflow exception to only run on linux
(not that macos is not affected by the upstream bug )

This commit adds a skip verifying signatures on windows as we found a
bug upstream handling paths on windows:

go-git/go-billy#194

This will be removed once the patch flows down to AMPEL.

We also skip MacOS for now.

Signed-off-by: Adolfo García Veytia (Puerco) <adolfo.garcia@uservers.net>
@puerco puerco force-pushed the signature-policy branch from 2a57a92 to 94c8ae9 Compare April 7, 2026 05:50
@eed3si9n eed3si9n merged commit ff8af92 into sbt:main Apr 7, 2026
4 checks passed
@puerco puerco deleted the signature-policy branch April 7, 2026 06:01
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