Skip to content

Commit df4f200

Browse files
committed
[FIX] Fix gpg import
1 parent 61a50b8 commit df4f200

1 file changed

Lines changed: 18 additions & 7 deletions

File tree

.github/workflows/auto-release.yml

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -136,15 +136,28 @@ jobs:
136136
- name: Vendor Go dependencies
137137
run: go mod vendor
138138
139+
- name: Create GPG signing wrapper
140+
env:
141+
GPG_KEY_ID: ${{ secrets.GPG_KEY_ID }}
142+
run: |
143+
# dpkg-buildpackage/debsign -p takes a path to an executable,
144+
# not a command string with arguments. Create a wrapper script.
145+
echo '#!/bin/sh' > /tmp/gpg-sign.sh
146+
echo 'exec gpg --batch --pinentry-mode loopback --passphrase "" "$@"' >> /tmp/gpg-sign.sh
147+
chmod +x /tmp/gpg-sign.sh
148+
cat /tmp/gpg-sign.sh
149+
# Sanity check: can the wrapper sign?
150+
echo "test" | /tmp/gpg-sign.sh --clearsign -u "${GPG_KEY_ID}" > /dev/null 2>&1 \
151+
&& echo "GPG signing wrapper: OK" \
152+
|| { echo "ERROR: GPG signing wrapper failed"; exit 1; }
153+
139154
- name: Build signed source package
140155
env:
141156
GPG_KEY_ID: ${{ secrets.GPG_KEY_ID }}
142157
run: |
143-
# Build source-only package, signed with our GPG key.
144-
# --pinentry-mode loopback + --passphrase '' handles keys with no passphrase.
145158
dpkg-buildpackage -S -sa \
146159
-k"${GPG_KEY_ID}" \
147-
-p"gpg --batch --pinentry-mode loopback --passphrase ''"
160+
-p/tmp/gpg-sign.sh
148161
149162
mkdir -p dist
150163
cp ../*.dsc ../*.tar.* ../*_source.changes ../*_source.buildinfo dist/ 2>/dev/null || true
@@ -160,10 +173,8 @@ jobs:
160173
161174
CHANGES_FILE=$(ls dist/*_source.changes | head -1)
162175
163-
# debsign the .changes file
164-
debsign -k"${GPG_KEY_ID}" \
165-
-p"gpg --batch --pinentry-mode loopback --passphrase ''" \
166-
"$CHANGES_FILE"
176+
# debsign also takes -p as a path to a sign command
177+
debsign -k"${GPG_KEY_ID}" -p/tmp/gpg-sign.sh "$CHANGES_FILE"
167178
168179
echo "Uploading to PPA..."
169180
dput odooctl-ppa "$CHANGES_FILE"

0 commit comments

Comments
 (0)