Skip to content

Github CI is not useful for external contributors #16212

Closed

Description

@PhilLab

As I am not an expert with Github CI (I am more familiar with Gitlab), parts of these might be Github's fault, but nonetheless - the CI is not doing any favor to external contributors. IMHO, it should support them better, to motivate more outside contributions

  1. Email flood

    • After a lot of quiet on the PR, I am suddenly bombarded with ~13 emails about failing jobs. Especially if I have multiple PRs open, it is quite hard to keep track of what is affected
    • Any chance of having one email per PR instead, reporting the CI failure once, per PR?
    • Image
  2. It is unclear when the CI runs and where

    • We should explain in the CONTRIBUTING.md that most jobs (but not all, I think?) run only when a maintainer starts them
    • There is also a Drone CI running somewhere?
    • It is unclear where I see my newly added tests actually running
    • I tried to get to the bottom of this here, but didn't get far: Minor improvements for automated testing #15424 (comment)
  3. Some jobs simply fail by design, when it is on a fork

  4. It is unclear what checks should be run locally, to ensure a smooth CI experience

  5. Details of a CI failure are hard to understand

  6. Said linter job just always fails, unrelated to the changes in the PR

  7. The detectWrongSettings job is destined to fail

    • Because the maintainer triggering of the CI job is happening weeks later than the original PR, at time of triggering the PR is almost always out-of-date, so it doesn't use one of the latest 10 android-library commits.
    • This issue is fixable by the contributor, by rebasing, but it does cause additional friction as well (yet another failure, yet another alert, ...)

cc @AndyScherzinger

Activity

  1. changed the title [-]Github CI is not useful for contributors[/-] [+]Github CI is not useful for external contributors[/+] on Dec 28, 2025
  2. AndyScherzinger commented on Dec 28, 2025

    @AndyScherzinger
    Member
  3. AndyScherzinger commented on Dec 28, 2025

    @AndyScherzinger
    Member

    Added the devs and teamlead.

    As a quick fix for you, since you already contributed, sent you an invite for the Nextcloud org on Github, so you can don't need to work on a fork.

    I agree that docs can be improve. Several CI checks terminate early when executing on a fork for security reasons to protect the original repo.

  4. PhilLab commented on Jun 6, 2026

    @PhilLab
    ContributorAuthor

    @tobiasKaminsky @alperozturk96 next to the initially stated problems, the test pipeline is always red for many many months now. So the CI is not useful for both external and internal contributors:

    1. Screenshot tests always fail
    2. Drone tests always fail. They are only successful when they are actually skipped (due to no changes)
      • Note that the drone tests were green in the past but only because they didn't actually run anything. Once this was fixed in Many test failures are not catched in the CI #16350, they finally were able to detect bugs again
      • But ever since then, because finally the tests run again, a timeout is reached and every test run runs into it

    Is there any plan on addressing those now useless tests?

    cc @AndyScherzinger

  5. hannesa2 commented on Jun 6, 2026

    @hannesa2
    Contributor

    I agree to @PhilLab that always failing jobs makes no sense at all and just makes every pull request faulty.
    If nobody takes care about it, then it makes even no sense at all ! --> just pointless overhead

    What's about to get rid of them complete and (maybe at the same time) make a new pull request to re-introduce that again.
    There the CI can be fixed separately.

  6. AndyScherzinger commented on Jun 6, 2026

    @AndyScherzinger
    Member

    As mentioned in #16212 (comment)

    @tobiasKaminsky @alperozturk96 would need to comment / look into it. I personally don't have the time at the moment.

  7. PhilLab commented on Jun 26, 2026

    @PhilLab
    ContributorAuthor

    @tobiasKaminsky can you take a look at this? This repository effectively has no kind of instrumented test anymore. Neither screenshot tests nor drone tests do what they are supposed to do.

    1. This will amass more and more regressions in the app.
    2. Contributors will draw the conclusion that they shall never again waste time on writing automated tests in this repository 😬
  8. tobiasKaminsky commented on Jun 29, 2026

    @tobiasKaminsky
    Member

    We are in transition to github action runners (#17038), that is why I did not spent that much love into Drone recently.

    I will make this working again within this week.

    Screenshot tests are a bit harder.
    For me it seems that shot (https://github.com/pedrovgs/Shot) is a bit abandonded.
    I tested it at some point in past any only got it working again with downgrading junit:

    #16578

  9. tobiasKaminsky commented on Jul 1, 2026

    @tobiasKaminsky
    Member

    GARM is now merged and works "reliable", as in: we have 14 failing tests.
    But I already merged it, so that we can work on fixing the tests, while knowing that we do not add more regressions.

  10. tobiasKaminsky commented on Jul 1, 2026

    @tobiasKaminsky
    Member
    Image
  11. PhilLab commented on Jul 5, 2026

    @PhilLab
    ContributorAuthor

    @tobiasKaminsky oh, this is great news! Good to know that Drone is phased out and the pipeline is now more unified!

  12. tobiasKaminsky commented on Jul 6, 2026

    @tobiasKaminsky
    Member

    We have now also this PR #17268, where we try to get a green CI.
    Then we need to check/discuss screenshots.

  13. PhilLab commented on Sep 23, 2026

    @PhilLab
    ContributorAuthor

    With the tests now being in a stable state, the remaining issues here are actually rooted in Github's UX itself. Closing the ticket, as the leftovers are not actionable for the team.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions