Skip to content

Draft Statement of Work - Test reliability lead #1629

Open

Description

@mhdawson

The test flakiness lead will be expected to:

  • lead a test reliability strategic initiative, rallying and supporting contributors who work to reduce flaky tests. This might include running regular test team meetings, documentation, tools, or whatever strategy works to achieve more than they can do on their own
  • build tools and improve automation that allows the project to effectively manage flaky tests to reduce their impact on the CI
  • Investigate and fix existing tests being marked as flaky in the status files

Duration

  • 6 months

Success looks like

  • maintain good test coverage
  • reduced number of tests marked as flaky in the status files
  • Running node-test-commit on the main branch will pass more often (hopefully always).
  • critical mass of contributors/collaborators dedicating time to addressing flaky tests that persists beyond the strategic initiative

Activity

  1. mhdawson commented on Oct 2, 2024

    @mhdawson
    MemberAuthor

    @nodejs/tsc as discussed in the TSC meeting today a first cut at what a statement of work for a test flakiness lead might look like.

  2. mhdawson commented on Oct 7, 2024

    @mhdawson
    MemberAuthor

    Adding to agenda so that we review/get feedback in a future meeting.

  3. joyeecheung commented on Oct 7, 2024

    @joyeecheung
    Member

    I think we should explicitly add:

    Investigate and fix existing tests being marked as flaky in the status files

    Success looks like
    ...reduced number of tests marked as flaky in the status files

    Otherwise this might just optimize towards marking all the tests as flaky and let them rot in the status files, which isn't ideal.

  4. mhdawson commented on Oct 8, 2024

    @mhdawson
    MemberAuthor

    @joyeecheung updated, thanks for the suggestion.

  5. mcollina commented on Oct 24, 2024

    @mcollina
    SponsorMember

    I think we should have a more measurable success criteria, such as:

    • a list of tests that should be fixed by the individual (mandatory list)
    • number of flaky tests fixed (they can decide)

    I would structure the agreement as:

    • xxx amount at start
    • yyy amount at 50% completion
    • zzz amount at finish

    Alternatively, if the person is a member of the TSC, I would put at:

    daily rate of XXX * number of days worked, capped at zzz.

  6. joyeecheung commented on Oct 24, 2024

    @joyeecheung
    Member

    That would be assuming the list of tests doesn't change while this is happening, which is unlikely to be true. Other contributors can always alter the tests as necessary or mark tests as flaky as they see fit, or add more tests while all these are happening, and could use some eyes watching the status of the new tests or otherwise new flakes still come up and we won't be much better off. What we care about is whether the overall situation improves, while the situation isn't always static without the hired individual doing anything.

    Also, identifying this list is also non-trivial work, especially when it could be challenging to triage and identify a correct list. It wouldn't be too meaningful if the list contains a lot of false positives, yet eliminating false positives can already be difficult enough.

    If we want a quantitative measurement, then I think the rate of a passing node-test-commit CI on the main branch is already enough (which has been around 0% for some time).

  7. mhdawson commented on Oct 28, 2024

    @mhdawson
    MemberAuthor

    That would be assuming the list of tests doesn't change while this is happening, which is unlikely to be true.
    I agree with that.

    I also think we want somebody who will do more than just fix specific tests, helping to improve how we manage and resolve flaky tests though automation and tools is just as important as fixing specific flaky tests.

  8. Trott commented on Nov 12, 2024

    @Trott
    Member

    I've not been privy to this conversation so I might be missing the mark with this comment, but I think it will be more understandable and more professional-sounding if you call it a "test reliability lead" rather than a "test flakiness lead". In a formal/professional document, I wouldn't refer to "flakiness" but instead refer to "reliability" (or "unreliability").

  9. changed the title [-]Draft Statement of Work - Test flakiness lead[/-] [+]Draft Statement of Work - Test reliability lead[/+] on Nov 12, 2024
  10. mhdawson commented on Nov 12, 2024

    @mhdawson
    MemberAuthor

    @Trott like that suggestion, incorporated.

  11. mhdawson commented on Nov 18, 2024

    @mhdawson
    MemberAuthor

    Sent email today to the Foundation executive directory with @mcollina as our CPC rep on CC to ask what might be possible in terms of funding from the OpenJS foundation.

  12. bnoordhuis commented on Apr 16, 2025

    @bnoordhuis
    Member

    @mhdawson (or @mcollina) seeing how half a year has passed I'm guessing the answer is 'no' but did you guys ever receive a reply?

  13. mcollina commented on Apr 16, 2025

    @mcollina
    SponsorMember

    The answer is that there is no money for this right now. We are trying to assess if we can find the funding to make it happen. Specifically, the amount of money that we will receive from HeroDevs. Having said that, most of the funds are spent on keeping the lights up of the Jenkins CI.

  14. 3 remaining items

  15. mcollina commented on May 4, 2025

    @mcollina
    SponsorMember

    That's revenue, not profit. That'd be fantastic if sustainable, but it's not.
    Almost all that projected revenue is tied into:

    1. events
    2. grants with specific focus (Node.js got 150k in 2025)

    The Foundation is also doing its best to help with build/infra (specifically Macs).

  16. jasnell commented on Jun 24, 2025

    @jasnell
    Member

    ... Can these expenses be adjusted to allow more money for Node.js?

    We have no oversight or say in what funds the Foundation may or may not make available to the project. We can ask if they are able to help with something and if they say they can't then they can't. Any feedback back to the foundation on that is correctly directed through the CPC.

    ... the biggest part of the revenue should be spent on the development of Node.js

    Node.js is not the foundations only project. That said, we already get the majority of focus and an overwhelming majority of the available resources. The foundation is doing what it can. What would be most helpful in this conversation, for those of you wishing there was more money available for Node.js to use to fund various efforts, would be to encourage new member organizations to join the foundation (bringing in new member revenue), existing members to increase their investment (e.g. silvers change to gold), or by helping to promote services such as the extended support program.

  17. joyeecheung commented on Jun 24, 2025

    @joyeecheung
    Member

    What would be most helpful in this conversation, for those of you wishing there was more money available for Node.js to use to fund various efforts, would be to encourage new member organizations to join the foundation (bringing in new member revenue), existing members to increase their investment (e.g. silvers change to gold), or by helping to promote services such as the extended support program.

    I think this request is targeting a very ineffective audience - the same group of people who are capable of doing that work if they have the time. For example, if it takes more than 2 hour per week to reach out to companies to send money to the foundation in the hope that a fraction of it may be spent on fixing CI flakes in maybe a year (which is not guaranteed), it would be way more effective for us to just spend that 2 hour per week to actually work on CI flakes ourselves (which is immediate and guaranteed work). The efficiency in this model would be in negative correlation to how capable the audience is in doing that work themselves.

    (I have a vague impression that the collective hours in the back and forth of trying to get money to work on this so far already exceeded what would be needed to bring the CI green rate up significantly if we just used those hours to fix CI flakes ourselves instead.)

  18. RaisinTen commented on Jun 25, 2025

    @RaisinTen
    Member

    There was already an attempt to document a way to allow for more funds for Node.js in nodejs/admin#955 but the Foundation said no with unclear reasoning, so it's been blocked with no observable progress for nearly 4 months.

  19. jasnell commented on Jun 25, 2025

    @jasnell
    Member

    (I have a vague impression that the collective hours in the back and forth of trying to get money to work on this so far already exceeded what would be needed to bring the CI green rate up significantly if we just used those hours to fix CI flakes ourselves instead.)

    Then let's just close this and not worry about asking the Foundation to pay for anything here. I see no reason to keep this issue open.

  20. gireeshpunathil commented on Aug 14, 2025

    @gireeshpunathil
    Member

    reopening this per TSC discussion on 13th Aug to revisit the draft

  21. joyeecheung commented on Oct 22, 2025

    @joyeecheung
    Member

    Swapping the TSC agenda label of #1614 with this one because this one is more actionable

  22. self-assigned this
    on Oct 29, 2025
  23. mcollina commented on May 1, 2026

    @mcollina
    SponsorMember

    After over 1 and a half years, I think we have the budget to start this.

  24. mcollina commented on May 27, 2026

    @mcollina
    SponsorMember

    At the last TSC meeting it didn't seem we had a strong consensus on this. @nodejs/tsc please chime in if you strongly believe this should be done.

  25. panva commented on May 27, 2026

    @panva
    Member

    At the last TSC meeting it didn't seem we had a strong consensus on this. @nodejs/tsc please chime in if you strongly believe this should be done.

    Absolutely.

  26. marco-ippolito commented on May 27, 2026

    @marco-ippolito
    Member

    From the collaborator survey CI flakiness was one of the top cause of frustration, so +1

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

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions