fix(ci): configure gpg loopback pinentry for reprepro signing

reprepro uses gpgme which bypasses the preset passphrase cache and
tries to launch a pinentry dialog, failing in CI with
"Inappropriate ioctl for device". Adding loopback pinentry mode
allows gpgme to obtain the passphrase without a dialog.
This commit is contained in:
kolaente 2026-04-12 16:49:36 +02:00
parent 010be28249
commit e8d12186d1
No known key found for this signature in database
GPG Key ID: F40E70337AB24C9B
1 changed files with 7 additions and 0 deletions

View File

@ -259,6 +259,13 @@ jobs:
gpg-passphrase: "${{ secrets.RELEASE_GPG_PASSPHRASE }}"
gpg-sign-key: "${{ secrets.RELEASE_GPG_SIGN_KEY }}"
- name: Configure GPG for non-interactive signing
run: |
echo "pinentry-mode loopback" >> ~/.gnupg/gpg.conf
echo "allow-loopback-pinentry" >> ~/.gnupg/gpg-agent.conf
gpgconf --kill gpg-agent
gpg-connect-agent reloadagent /bye
- name: Export GPG public key
run: |
mkdir -p dist/repo-output