Skip to content

Commit 6f08ea5

Browse files
committed
Merge branch 'ci-verify-lockfiles-signed'
2 parents f150ec3 + a6b73f3 commit 6f08ea5

10 files changed

+753
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
name: Verify lockfile signatures
2+
on:
3+
pull_request:
4+
paths:
5+
- .github/workflows/verify-locked-down-signatures.yml
6+
- Cargo.lock
7+
- gui/package-lock.json
8+
- ci/keys/
9+
- ci/verify-locked-down-signatures.sh
10+
workflow_dispatch:
11+
jobs:
12+
verify-signatures:
13+
runs-on: ubuntu-latest
14+
steps:
15+
- uses: actions/checkout@v3
16+
with:
17+
ref: ${{ github.event.pull_request.head.sha }}
18+
- name: Verify signatures
19+
run: |
20+
commits=${{ github.event.pull_request.commits }}
21+
if [[ -n "$commits" ]]; then
22+
# Prepare enough depth for diffs with master, currently hard-coded but should probably be
23+
# whatever branch is merged into
24+
git fetch --depth="$(( commits + 1 ))" origin ${{ github.head_ref }} master
25+
fi
26+
ci/verify-locked-down-signatures.sh --import-gpg-keys --whitelist origin/master

ci/keys/1.mullvad_signing.pub

+84
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
-----BEGIN PGP PUBLIC KEY BLOCK-----
2+
3+
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
83+
=kwTD
84+
-----END PGP PUBLIC KEY BLOCK-----

ci/keys/albin.pub

+120
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
-----BEGIN PGP PUBLIC KEY BLOCK-----
2+
3+
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
119+
=rA/d
120+
-----END PGP PUBLIC KEY BLOCK-----

0 commit comments

Comments
 (0)