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

Actually integrate tests into a continous integration #16

Open
rugk opened this issue Jun 2, 2021 · 0 comments
Open

Actually integrate tests into a continous integration #16

rugk opened this issue Jun 2, 2021 · 0 comments
Labels
enhancement New feature or request help wanted Extra attention is needed

Comments

@rugk
Copy link
Member

rugk commented Jun 2, 2021

from TinyWebEx/AutomaticSettings#19 (comment):

Well, we could always setup CI to run them automatically in Firefox and Chrome, although that would probably be for a separate PR.

Oh yes, and for these tests you'd need to dynamically load the add-on into the browser etc.
Maybe it's possible with some libs and so on, but in the past it either was not possible or I did not tackle it, so well… this is unfortunately the state we have.

See https://github.com/TinyWebEx/common/blob/master/CONTRIBUTING.md#tests on how to run these tests.

Currently it's a lot of manual work and thus I – "naturally" (i.e. I should have seen it) – forgot to run them…
They rotted…

And now a lot of tests do not even work anymore… 😢

As such:

  • a first big step would be to actually run these on GitHub Actions. Remember the steps above, there some problems you may have to tackle such as:
    • many libraries depend on each other and most depend on the TestHelper
    • you need to open specific URLs with the extension ID in the browser to run these tests
    • you may need special permission for each lib. As such, you need to load the manifest.json? from each lib's directory. (But – due to dependencies – first copy/symblink it in the upper directory, i.e. .., as otherwise the dependencies won't load in the browser. You'll see that if you encounter it.)
    • tests should run on Firefox… and if the libs are (already) compatible with Chromium (or Chrome, whatever) with this polyfill, which you likely need to add
    • as said, the tests may be outdated and fail, but…
  • I guess making all tests work again and potentially improving them is another huge work

Best way to tackle

As said, I think we should tackle it in this order: 1. integrate the tests in a proper CI 2. then fix them.

Also, likely one needs to be iterate. Use one (smaller/less complicated) lib first, then others etc.
Etc.

So any help is clearly appreciated.
I honestly just did not had the time to keep these up-to-date etc. There is clearly a lot of technical dept here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

1 participant