Skip to content
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

Release SecureDrop 2.0.1 #6034

Closed
21 of 22 tasks
zenmonkeykstop opened this issue Jul 6, 2021 · 3 comments · Fixed by #6040
Closed
21 of 22 tasks

Release SecureDrop 2.0.1 #6034

zenmonkeykstop opened this issue Jul 6, 2021 · 3 comments · Fixed by #6040

Comments

@zenmonkeykstop
Copy link
Contributor

zenmonkeykstop commented Jul 6, 2021

This is a tracking issue for the release of SecureDrop 2.0.1. This point release is purely for the purpose of creating a new release tag signed with the updated signing key. No application or server provisioning changes will be included, though recent admin and
development dependencies will be backported. There are no string changes in this release, so localization/translation is not required.

Tentatively scheduled as follows:

Pre-release announcement: 2021-07-07
Release date: ~2021-07-08

Release manager: @zenmonkeykstop
Deputy release manager: TBD
Communications manager:: @rocodes

SecureDrop maintainers and testers: As you QA 2.0.1, please report back your testing results as comments on this ticket. File GitHub issues for any problems found, tag them "QA: Release", and associate them with the 2.0.1 milestone for tracking (or ask a maintainer to do so).

Test debian packages will be posted on https://apt-test.freedom.press signed with the test key. An Ansible playbook testing the upgrade path is here.

QA Matrix for 2.0.1

Test Plan for 2.0.1

Prepare release candidate (2.0.1~rc1)

  • Link to latest version of Tails, including release candidates, to test against during QA
  • Prepare 2.0.1~rc1 release changelog
  • Branch off release/2.0.1 from release/2.0.0
  • Prepare 2.0.1~rc1
  • Build debs, preserving build log, and put up 2.0.1~rc1 on test apt server
  • Commit build log.

After each test, please update the QA matrix and post details for Basic Server Testing, Application Acceptance Testing and release-specific testing below in comments to this ticket.

Final release

  • Ensure builder in release branch is updated and/or update builder image
  • Push signed tag
  • Pre-Flight: Test updater logic in Tails (apt-qa tracks the release branch in the LFS repo)
  • Build final Debian packages for 2.0.1 (and preserve build log)
  • Commit package build log to https://github.com/freedomofpress/build-logs
  • Upload Debian packages to apt-qa server
  • Pre-Flight: Test that install and upgrade from 2.0.0 to 2.0.1 works w/ prod repo debs (apt-qa.freedom.press polls the release branch in the LFS repo for the debs)
  • Flip apt QA server to prod status (merge to main in the LFS repo)
  • Merge Docs branch changes to main and verify new docs build in securedrop-docs repo
  • Prepare release messaging

Post release

@eloquence eloquence added this to Next sprint candidates in SecureDrop Team Board Jul 7, 2021
@eloquence eloquence moved this from Next sprint candidates to SecureDrop Sprint #73 in SecureDrop Team Board Jul 7, 2021
@rmol
Copy link
Contributor

rmol commented Jul 7, 2021

Environment

  • Install target: NUC7i5BNH
  • Tails version: 4.19
  • Test Scenario: upgrade
  • SSH over Tor: yes
  • Release candidate: rc1
  • General notes:

Basic Server Testing

  • After installing the testinfra dependencies, all tests in ./securedrop-admin verify are passing:
    • Install dependencies on Admin Workstation with cd ~/Persistent/securedrop && ./securedrop-admin setup -t
    • Run tests with ./securedrop-admin verify (this will take a while)
    • Remove test dependencies: rm -rf admin/.venv3/ && ./securedrop-admin setup
  • QA Matrix checks pass

Command Line User Generation

  • Can successfully add admin user and login

Administration

  • I have backed up and successfully restored the app server following the backup documentation
  • If doing upgrade testing, make a backup on 2.0.0 and restore this backup on this release candidate
  • "Send Test OSSEC Alert" button in the journalist triggers an OSSEC alert and an email is sent
  • Can successfully add journalist account with HOTP authentication

Application Acceptance Testing

Source Interface

Landing page base cases
  • JS warning bar does not appear when using Security Slider high
  • JS warning bar does appear when using Security Slider Low
First submission base cases
  • On generate page, refreshing codename produces a new 7-word codename
  • On submit page, empty submissions produce flashed message
  • On submit page, short message submitted successfully
  • On submit page, file greater than 500 MB produces "The connection was reset" in Tor Browser quickly before the entire file is uploaded
  • On submit page, file less than 500 MB submitted successfully
Returning source base cases
  • Nonexistent codename cannot log in
  • Empty codename cannot log in
  • Legitimate codename can log in
  • Returning user can view journalist replies - need to log into journalist interface to test

Journalist Interface

Login base cases
  • Can log in with 2FA tokens
  • incorrect password cannot log in
  • invalid 2fa token cannot log in
  • 2fa immediate reuse cannot log in
  • Journalist account with HOTP can log in
Index base cases
  • Filter by codename works
  • Starring and unstarring works
  • Click select all selects all sources
  • Selecting all and clicking "Download" works
Individual source page
  • You can submit a reply and a flashed message and new row appears
  • You cannot submit an empty reply
  • Clicking "Delete Source Account" and the source and docs are deleted
  • You can click on a document and successfully decrypt using application private key

Basic Tails Testing

After updating to this release candidate and running securedrop-admin tailsconfig

  • The Updater GUI appears on boot
  • Updating to 2.0.0 fails with a signature validation error

2.0.1 release-specific changes

  • Cryptography and cffi dependencies have been updated #6030

    • if performing a fresh install, after running ./securedrop-admin setup, activate the admin virtualenv with source admin/.venv3/bin/activate and check dependencies witth pip list
      • cryptography is updated to version 3.4.7, cffi to 1.14.5
    • Deactivate the virtualenv with deactivate and proceed with the rest of the installation
      • All securedrop-admin commands complete successfully
    • move the existing tor_v3_keys.json file out of the way and generate a fresh one with ./securedrop-admin generate_v3_keys
      • a new valid tor_v3_keys.json file is generated
    • restore the previous tor_v3_keys.json file (to restore access to the JI and ssh services)
  • Testinfra has been updated to pass all tests in production #6032

    • During the basic testing phase, ./securedrop-admin --force verify completed successfully

@rmol
Copy link
Contributor

rmol commented Jul 7, 2021

Environment

  • Install target: NUC7i5BNH
  • Tails version: 4.19
  • Test Scenario: clean install
  • SSH over Tor: yes
  • Release candidate: rc1
  • General notes: skipped anything not release-specific, tested earlier

Basic Server Testing

  • After installing the testinfra dependencies, all tests in ./securedrop-admin verify are passing:
    • Install dependencies on Admin Workstation with cd ~/Persistent/securedrop && ./securedrop-admin setup -t
    • Run tests with ./securedrop-admin verify (this will take a while)
    • Remove test dependencies: rm -rf admin/.venv3/ && ./securedrop-admin setup
  • QA Matrix checks pass

2.0.1 release-specific changes

  • Cryptography and cffi dependencies have been updated #6030

    • if performing a fresh install, after running ./securedrop-admin setup, activate the admin virtualenv with source admin/.venv3/bin/activate and check dependencies witth pip list
      • cryptography is updated to version 3.4.7, cffi to 1.14.5
    • Deactivate the virtualenv with deactivate and proceed with the rest of the installation
      • All securedrop-admin commands complete successfully
    • move the existing tor_v3_keys.json file out of the way and generate a fresh one with ./securedrop-admin generate_v3_keys
      • a new valid tor_v3_keys.json file is generated
    • restore the previous tor_v3_keys.json file (to restore access to the JI and ssh services)
  • Testinfra has been updated to pass all tests in production #6032

    • During the basic testing phase, ./securedrop-admin --force verify completed successfully

@zenmonkeykstop zenmonkeykstop mentioned this issue Jul 8, 2021
3 tasks
@eloquence
Copy link
Member

Graphical updater run from 2.0.0->2.0.1 on Tails 4.19 completed without issues. cryptography and cffi updated to expected versions. Graphical updater output sans playbook portion: https://gist.github.com/eloquence/24f519df7e149f7a39969403a6810aed

SecureDrop Team Board automation moved this from SecureDrop Sprint #73 to Done Jul 12, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
No open projects
Development

Successfully merging a pull request may close this issue.

3 participants