Open
Description
There have been several bugs over the lifetime of GCM that have occurred around installation or platform integration that were not caught in unit or manual testing. To avoid such issues going forward we propose creating a CI workflow, for all supported platforms, that runs a basic suite of integration or end-to-end tests including installation, basic authentication flows, and uninstallation.
We should be able to achieve this using GitHub hosted runners and a matrix workflow that runs the appropriate installer and performs simple authentication actions.
There are two options (not mutually exclusive) for handling UI prompts:
- Replace the UI components with a 'test' UI helper that is drivable by the test harness.
- Use a tool like AutoHotkey (Windows only) on platforms that have a free and easy to use UI automation tool.