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

Stability issue of nightly tests #912

Closed
hohwille opened this issue Sep 29, 2022 · 4 comments · Fixed by #937
Closed

Stability issue of nightly tests #912

hohwille opened this issue Sep 29, 2022 · 4 comments · Fixed by #937
Assignees
Labels
enhancement New feature or request

Comments

@hohwille
Copy link
Member

hohwille commented Sep 29, 2022

As PO of devonfw-ide, I want automated integration tests so that we can deliver quality and get feedback if some PR merge breaks our product by causing a bug.
Therefore we have implemented #691 and related stories.
The problem now is that we have added all available commands and that takes too long.
Github gives a lot of resources for free to support open-source projects.
Obviously there are limits and Microsoft can not give every project unlimited computing time (otherwise people would also mine bitcoins with GHA, etc.).
As it turns out, our tests run slow and after 6:00 hours github simply cancels the action what seems fair.

Questions:

  1. Why does it take more than 6:00 h to run our tests? Are also the resources (CPU/bandwith/...) throttled so hard? I did not notice this so far. Maybe there is a problem on our side or one special commandlet is taking too long and test should be removed.
  2. Should we focus on the most important commandlets if we have limits?
  3. Could we find a way to run selected commandlets (e.g. by day of the week) so every commandlet is covered but not all in the same nightly-build?
  4. Can we improve our logging so we can see easier how long the test took per command and what the status is? My initial idea was already that we have a final summary with all the tests we have run including their status (OK/NOK, duration). If we get cancelled by github should we print out this summary after each test so we spam the log more but also can see intermediate status?
@hohwille hohwille added the enhancement New feature or request label Sep 29, 2022
@ahmedagdmoun ahmedagdmoun self-assigned this Sep 29, 2022
ahmedagdmoun added a commit to ahmedagdmoun/devonfw-ide that referenced this issue Oct 4, 2022
@maybeec
Copy link
Member

maybeec commented Oct 5, 2022

I would strongly recommend to run every install in a separate job using the dynamic matrix feature of github actions

https://github.com/devonfw-tutorials/tutorials/blob/main/.github/workflows/buildMain.yml#L24

@alfeilex alfeilex self-assigned this Oct 6, 2022
@ahmedagdmoun ahmedagdmoun removed their assignment Oct 6, 2022
@alfeilex
Copy link
Member

I would strongly recommend to run every install in a separate job using the dynamic matrix feature of github actions

https://github.com/devonfw-tutorials/tutorials/blob/main/.github/workflows/buildMain.yml#L24

That's great suggestion. I see some difficulties with parallel execution of some commands. Currently the installation of each command runs in the ide that is build in test-setup. Some commands depend on other command... so there might be a conflict if e.g. azure (depends on python) and python command itself are run in parallel.

If we decide to use the dynamic matrix function, we should probably change our complete test structure.

@maybeec
Copy link
Member

maybeec commented Oct 11, 2022

There are two questions here for me:

  1. The question for me is here, whether the devonfw IDE would automatically install python in case you install azure client.
    If so, you can do both in parallel as every execution would run in a newly setup machine.
  2. If the dependencies are not automatically installed, do you really need the dependencies for testing proper installation? Or is the installation crashing otherwise? It's about the question of installation verification which might look a little different depending on the capabilities of devonfw ide. But both is possible

@hohwille hohwille linked a pull request Oct 11, 2022 that will close this issue
@hohwille
Copy link
Member Author

hohwille commented Oct 11, 2022

@maybeec 1. applies.
Besides waste (carbon footprint) there is nothing speaking against your suggestion to use dynamic matrix feature.

For the moment we have resolved the fundamental problems with PR #937.
Now some real bugs are revealed that we also fix.
Then we hope to see green nightly tests :)

To improve the stability the dynamic matrix feature is also promising to me.

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

Successfully merging a pull request may close this issue.

5 participants