concourse-ci's dput-ppa-resource
It only supports the put step.
resource_types:
- name: resource-dput-ppa
type: registry-image
source:
repository: fourdollars/dput-ppa-resource
tag: latest
or
resource_types:
- name: resource-dput-ppa
type: registry-image
source:
repository: ghcr.io/fourdollars/dput-ppa-resource
tag: latest
- fingerprint: Required
- passphrase: Required
- private_key: Required
- ppa: Optional. You can provide it later in the put step.
resources:
- name: dput
icon: package-up
type: resource-dput-ppa
source:
ppa: ppa:username/ppa-name
fingerprint: FingerprintOfGPGKey
passphrase: PassphraseOfGPGPrivateKey
private_key: |
-----BEGIN PGP PRIVATE KEY BLOCK-----
...
...
...
-----END PGP PRIVATE KEY BLOCK-----
- path: Required. Specify a path and all *_source.changes under that path will be signed and dput into the PPA.
- ppa: Optional. You can provide it earlier in the resources.
- put: dput
params:
ppa: ppa:username/ppa-name
path: SomeFolderInTask
# It acts like the following commands.
$ echo "$private_key" > private.key
$ echo "$passphrase" | gpg --passphrase-fd 0 --pinentry-mode loopback --import private.key
$ rm private.key
$ find "$path" -name '*_source.changes' | while read -r package; do
> echo "$passphrase" | debsign -p'gpg --passphrase-fd 0 --pinentry-mode loopback' -S -k"$fingerprint" "$package"
> dput "$ppa" "$package"
> done