ecamp / ecamp3

eCamp v3 is a web-based app for camp and course planning. The application is specialized for camps and courses of youth associations and for Y+S offers in the sport of camp sports/trekking.
https://ecamp3.ch
GNU Affero General Public License v3.0
110 stars 48 forks source link

Tests on CI run slow, too often and flaky #5284

Open usu opened 1 month ago

usu commented 1 month ago

This is a collection of issues I see with our current CI setup that make development slow and makes the life of renovate hard.

Problem description

Potential solutions (to be discussed)

manuelmeister commented 1 month ago

Challenge benefit of merge queue (does it bring the benefits we hoped?)

I quite like it. Especially when many people are actively pushing/merging

Making e2e tests non-mandatory tests? Or at least for renovate? Yes, this means we could potentially break dev. I don't think though that I remember a dependency upgrade only breaking e2e and no other tests.

I think we should try to make the e2e test less flakey. I don't like not testing them, as before we upgrade to vue3 I'd like add more tests. We could try to use https://docs.cypress.io/guides/continuous-integration/github-actions#Testing-with-Cypress-Docker-Images instead of pulling the latest one.

Somehow making API tests faster

The question is, are we testing the right way?

When pushing to a pull request, the CI runs twice (1x for push, 1x for pull request). Do we really need both?

That was once the plan.

Find a way to avoid running the same CI for a commit hash where CI has already run successfully before

We could try to run e.g. the api test on PR push only if certain conditions match?

manuelmeister commented 1 month ago

Core Meeting Decision

Things we want to tackle:

Maybe/explore: