Skip to content

Commit 594ac9d

Browse files
committed
chore: enable Renovate, add nix flake e2e check, refresh lockfiles
1 parent ce50aeb commit 594ac9d

5 files changed

Lines changed: 76 additions & 2 deletions

File tree

.envrc

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
# shellcheck shell=bash
22

3-
strict_env has nix
3+
strict_env
4+
has nix
45
use flake .

.github/workflows/ci.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,10 @@ jobs:
3636
run: |
3737
nix build .#pdf-sign --out-link result
3838
39+
- name: Test (flake checks)
40+
run: |
41+
nix flake check -L
42+
3943
- name: Collect artifact
4044
run: |
4145
mkdir -p dist

Cargo.toml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,8 @@ sequoia-gpg-agent = "0.6"
1919
sequoia-openpgp = { version = "2", default-features = false, features = ["crypto-rust", "allow-experimental-crypto", "allow-variable-time-crypto"] }
2020
tokio = { version = "1", features = ["full"] }
2121

22-
22+
[profile.release]
23+
opt-level = 3
24+
lto = "fat"
25+
codegen-units = 1
26+
strip = true

flake.nix

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,44 @@
5252
});
5353
in
5454
{
55+
checks = {
56+
pdf-sign-e2e = pkgs.runCommand "pdf-sign-e2e" {
57+
nativeBuildInputs = with pkgs; [ gnupg ];
58+
} ''
59+
set -euo pipefail
60+
61+
export GNUPGHOME="$(mktemp -d)"
62+
chmod 700 "$GNUPGHOME"
63+
64+
# Non-interactive agent defaults: sequoia-gpg-agent sends OPTION values,
65+
# keep them non-empty even in CI.
66+
export GPG_TTY=/dev/null
67+
export LANG=C
68+
69+
gpgconf --launch gpg-agent
70+
71+
gpg --batch --pinentry-mode loopback --passphrase "" \
72+
--quick-generate-key "CI Test <ci@example.invalid>" default default never
73+
74+
gpg --batch --armor --export "ci@example.invalid" > cert.asc
75+
76+
cat > input.pdf <<'EOF'
77+
%PDF-1.1
78+
1 0 obj
79+
<<>>
80+
endobj
81+
trailer
82+
<<>>
83+
%%EOF
84+
EOF
85+
86+
signed="$(${pdfSign}/bin/pdf-sign sign input.pdf --key cert.asc)"
87+
${pdfSign}/bin/pdf-sign verify "$signed" --cert cert.asc | grep -x OK >/dev/null
88+
89+
touch "$out"
90+
'';
91+
};
92+
5593
packages =
5694
{
5795
default = pdfSign;

renovate.json

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
{
2+
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
3+
"extends": ["config:recommended"],
4+
"enabledManagers": ["cargo", "nix", "github-actions"],
5+
"nix": {
6+
"enabled": true
7+
},
8+
"labels": ["dependencies"],
9+
"dependencyDashboard": true,
10+
"platformAutomerge": true,
11+
"packageRules": [
12+
{
13+
"matchUpdateTypes": ["minor", "patch", "pin", "digest"],
14+
"automerge": true,
15+
"automergeType": "pr"
16+
},
17+
{
18+
"matchUpdateTypes": ["major"],
19+
"automerge": false
20+
}
21+
],
22+
"lockFileMaintenance": {
23+
"enabled": true,
24+
"automerge": true,
25+
"automergeType": "pr"
26+
}
27+
}

0 commit comments

Comments
 (0)