freedomofpress / securedrop-workstation

Qubes-based SecureDrop Journalist Workstation environment for submission handling
GNU Affero General Public License v3.0
137 stars 41 forks source link

Set up continuous integration for dom0 tests #16

Closed redshiftzero closed 1 year ago

redshiftzero commented 7 years ago

Description

The tests we have are executed from dom0 in Qubes, so we should consider how to rig something up in CI. We should check out what Qubes does for CI across their repos and see if we can adopt a similar approach: https://github.com/QubesOS/qubes-core-admin/blob/master/.travis.yml https://github.com/QubesOS/qubes-core-admin/blob/master/run-tests

Relevant upstream Qubes issue: https://github.com/QubesOS/qubes-issues/issues/482

Requirements

redshiftzero commented 6 years ago

I talked with Marek today at FOSDEM about how this is done over at Qubes and he described that they have:

  1. Travis CI running unit tests and qubes-builder tests (that's what you see in the links in the original issue ^)
  2. All integration testing (that's what we'd want for this repo) done via manually kicking off a test run on physical hardware.
  3. Qubes install testing done via OpenQA - OpenQA interacts with the installer (clicks buttons, etc.), takes screenshots at each stage of the install, and then uses fuzzy image matching to compare the observed screenshots with the expectation. For Qubes, this is used by running the installer using KVM. Check this thread out for more details.
eloquence commented 2 years ago

2022-08-10 review: Issue title updated for clarity (we have limited CI for other tests, but not for the dom0 tests).

sssoleileraaa commented 1 year ago

Here's a quick update after day one of looking into this issue:

sssoleileraaa commented 1 year ago

We're making progress towards our goal to automate dom0 unit tests (we deviated a bit from our original plan and did a lot of side-by-side troubleshooting, repro'ing of issues, and comparing results). Here's an update before our extended holiday break.

What we accomplished:

What's left towards our first milestone?

sssoleileraaa commented 1 year ago

Current state is that https://github.com/freedomofpress/securedrop-workstation-ci/issues/2 and https://github.com/freedomofpress/securedrop-workstation-ci/issues/3 need to be resolved before we can hand this over to the SecureDrop team and close this issue.

sssoleileraaa commented 1 year ago

Per Infra Sync discussion, this is in a waiting status due to waiting on hardware location migration

sssoleileraaa commented 1 year ago

The hardware handoff is happening end of month

sssoleileraaa commented 1 year ago

This is done! Any improvements such as adding redundancy can be added as issues to the securedrop-workstation-ci repo.