Skip to content

The required CI check runs close to its 30-minute limit #837

Closed

Description

@ecv

Summary

ci / Build and test (added in #836, datum-cloud/infra#8399) builds the operator and runs its envtest suite in about 23 minutes. The shared ci-basic workflow it calls stops a job at 30 minutes. Once the check is required, a slow runner or a slightly bigger suite times it out, and every pull request here is blocked from merging until someone re-runs it.

Done when

  • The required check finishes well inside its limit (under 15 minutes on a normal run). Options: run only the unit packages in the required check and keep the long envtest packages in the existing Tests workflow, or split the suite across parallel non-matrix jobs behind one required roll-up.
  • Or the check's timeout is raised in datum-cloud/actions with a recorded reason, if the suite can't get faster

Related to datum-cloud/infra#8399

Activity

  1. added
    tech-debtWorkarounds/pins/shortcuts to revisit
    on Nov 2, 2026
  2. vvoytovych commented on Nov 3, 2026

    @vvoytovych
    Contributor

    The nearer limit is the test binary's own: ci.yaml runs go test -timeout 20m, which stops internal/controller at 1200 s. On main that package took 1131–1170 s in this check (for example run 41550441598) and 1036–1160 s in Tests. #844 hit it: its job stopped with test timed out after 20m0s, while Tests passed the same package in 1132 s. So the split or a longer limit is needed for that package as well as for the job.

  3. vvoytovych commented on Nov 5, 2026

    @vvoytovych
    Contributor

    The required check now finishes well inside its limit, so this is done. The end-to-end workflows continue in #867.

    Each criterion, read against every green run on main from #848's merge to #863's (2026-11-04 15:03Z to 2026-11-05 10:02Z):

    criterion result
    The required check finishes well inside its limit (under 15 minutes on a normal run) ✅ 6 min 16 s to 7 min 16 s, for example run 42007412951
    Or the check's timeout is raised in datum-cloud/actions not needed: the 30-minute limit stays

    These changes did it:

    change what it changed
    #845 the test run got 25 minutes while the suite was slow
    #848 the controller package starts its API servers once, not once per test
    #849 the suite runs once per pull request, in this check
    #863 the check runs make test-suite, with envtest's versions from go.mod
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    tech-debtWorkarounds/pins/shortcuts to revisit

    Type

    No type

    Fields

    Priority

    None yet

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions