Skip to content

pr.yaml: GPG-verified focal-security install via signed-by=#148

Merged
Chris-Wolfgang merged 2 commits into
mainfrom
chore/fix-libssl1-apt-source
May 5, 2026
Merged

pr.yaml: GPG-verified focal-security install via signed-by=#148
Chris-Wolfgang merged 2 commits into
mainfrom
chore/fix-libssl1-apt-source

Conversation

@Chris-Wolfgang

@Chris-Wolfgang Chris-Wolfgang commented May 5, 2026

Copy link
Copy Markdown
Owner

Summary

Adds the focal-security apt source with [signed-by=/usr/share/keyrings/ubuntu-archive-keyring.gpg], allowing apt to install libssl1.1 for the .NET 5.0 test stage on newer Ubuntu runners while keeping GPG signature verification enabled.

Why

This step was previously failing on newer GitHub-hosted Ubuntu runners with E: Package 'libssl1.1' has no installation candidate. apt was silently Ign-ing the source because no signed-by= directive pointed it at a keyring containing the focal signing key. The Canonical archive keyring at /usr/share/keyrings/ubuntu-archive-keyring.gpg is present on every GitHub-hosted Ubuntu runner and contains the same signing key Canonical uses across releases (focal, jammy, noble), so it can verify focal-security packages from a non-focal runner without disabling signature checking.

An earlier iteration of this rollout used [trusted=yes] (skipping verification) as a quick unblock; this PR brings in the keyring-based replacement that restores end-to-end signature verification.

Validation

Tested end-to-end against the actual ubuntu-latest (noble 24.04) runner image — see the run linked in repo-template#336. This PR is part of the rollout to the 18 affected repos.

Note for reviewers

This PR edits .github/workflows/pr.yaml, which the v3 PR-Checks workflow treats as a protected configuration file. The "Detect protected configuration file changes" step will fail CI by design — that is the explicit guard against PRs disabling analyzers/scans by modifying workflows. The change here is the canonical pr.yaml sync from repo-template, so maintainer-bypass merge (or local validation against canonical) is appropriate.

The 'Install OpenSSL 1.1 for .NET 5.0' step was failing on newer
GitHub-hosted Ubuntu runners. [trusted=yes] skips GPG verification
so the source isn't silently ignored. Validated by
IComparable-Extensions#69; canonical equivalent in repo-template#336.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings May 5, 2026 02:12

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This PR updates the CI workflow to make the “Install OpenSSL 1.1 for .NET 5.0” step succeed on newer GitHub-hosted Ubuntu runners by altering the focal-security APT source configuration.

Changes:

  • Adds [trusted=yes] to the focal-security APT source line so apt-get update no longer depends on the focal archive signing key being present.

Comment thread .github/workflows/pr.yaml Outdated
Comment thread .github/workflows/pr.yaml Outdated
Addresses Copilot's review on repo-template#336: [trusted=yes] disables
GPG verification entirely. signed-by=/usr/share/keyrings/ubuntu-archive-keyring.gpg
pins the source to the Ubuntu archive keyring shipped in every runner
image, so libssl1.1 is still signature-verified.

Matches repo-template main after #336 merged.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@Chris-Wolfgang Chris-Wolfgang changed the title pr.yaml: add [trusted=yes] to focal-security apt source pr.yaml: GPG-verified focal-security install via signed-by= May 5, 2026
@Chris-Wolfgang Chris-Wolfgang merged commit 38e1500 into main May 5, 2026
8 of 9 checks passed
@Chris-Wolfgang Chris-Wolfgang deleted the chore/fix-libssl1-apt-source branch May 5, 2026 15:18
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