-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Verifies signatures in CI #4
Conversation
af92b36
to
d974449
Compare
Looking good. Haven't done an in-depth functional review, since I'd prefer to shake out RPM nightly implications such as freedomofpress/securedrop-workstation#406 (comment) before deciding what the sig verification story needs to look like.
On a full copy of this repo, I'm seeing |
Thanks @conorsch , updated with shallow clone and rebased on latest master. I've also opened freedomofpress/securedrop-builder#135 to reduce lfs usage for nightlies as well. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good. Left some comments throughout targeting some cleanups, mostly to make the verification more resilient in the face of user error, as well as solidify our approach to using git-lfs in CircleCI.
Most of these approaches are optional; however, wanted you to review the comments before clicking merge, in case the changes apply to other repos, such as packaging.
.circleci/config.yml
Outdated
docker: | ||
- image: circleci/python:3.7-buster | ||
steps: | ||
- checkout |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
From CircleCI docs:
If you require doing git over HTTPS you should not use this step as it configures git to checkout over ssh.
Since there's a git clone --depth=1
in the subsequent tasks, I believe we want to remove the "checkout" step entirely—we could probably remove the "workaround for git-lfs" task, as well.
Small scripts that iterates through files in the workstation repo and verifies their signature. Specifies `--test` in this repo as this is the dev repo signed with the test key.
@conorsch thanks for the review, all great points. All comments have been addressed, commit squashed, ready for re-review |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fantastic, much obliged!
Local review of script functionality checks out, confirmed test/prod pubkeys are what we expect.
very simple scripts that iterates through files in the workstation repo and verifies their signature. Specifies
--test
in this repo as this is the dev repo signed with the test key.Note that the repo as initially cloned does not have git lfs hooks enabled due to circle re-writing the git urls per the gitconfig. We reclone via HTTPS inside the checked out repo to avoid having to deal with rewriting remote urls in the repo git config in the circle container.
Test plan