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

Testbeds #319

Open
2 of 5 tasks
danth opened this issue Apr 1, 2024 · 0 comments
Open
2 of 5 tasks

Testbeds #319

danth opened this issue Apr 1, 2024 · 0 comments
Labels
C-tracking-issue Category: A tracking issue

Comments

@danth
Copy link
Owner

danth commented Apr 1, 2024

In lieu of #50, which was never finished, it would be useful to provide utilities to test and preview changes without modifying your real configuration. This makes things easier when testing a different desktop environment, or something like a login screen which requires logging out to see what changed.

The following are some ideas I've had and a rough order in which to attempt them. Any suggestions are welcome.

  • NixOS configurations as virtual machines for manual testing. Each configuration should run either:

    • A desktop environment with only its default applications
    • An application in a minimal environment such as cage
  • Build the above on GitHub Actions.

    This won't test that the theme appears or looks good, but it should pick up on more build errors than the current CI does.

  • Use the NixOS testing framework or another method to automatically screenshot each virtual machine.

    Benefits could include:

    • Before and after screenshots generated by GitHub Actions
    • Mass producing showcases for the documentation

    I don't think this one is worth implementing right now, because:

    • Many targets will require specific code to detect when they are ready for a screenshot
    • Creating a system to generate relevant screenshots and post them to GitHub would be a significant amount of work
    • Without such a system, the screenshots would have to be built locally, in which case you can just use the virtual machine interactively
  • Specially crafted color schemes to make edge cases more noticeable.

    For example, a scheme with certain colors equal to each other would highlight cases where we expect two colors to contrast, but the specification doesn't require them to be that way.

    Similarly, a scheme with vastly different colors would catch cases where two similar colors were mistaken as being the same.

Current tasks:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-tracking-issue Category: A tracking issue
Projects
None yet
Development

No branches or pull requests

1 participant