Skip to content

Contract CI flakes when productized mount E2E rewrites TempDir during cleanup #480

Description

@khaliqgant

What happened

Relayfile PR #479's Contract workflow attempt 1 completed the productized cloud mount E2E assertions, then failed during Go's automatic TempDir cleanup:

--- FAIL: TestProductizedCloudMountE2EProof
testing.go:1231: TempDir RemoveAll cleanup: unlinkat .../relayfile-mount: directory not empty

Hosted evidence: https://github.com/AgentWorkforce/relayfile/actions/runs/34275836317/job/102228491691

Why this matters

A filesystem writer is still able to recreate content after the test believes the mount loop has stopped. Besides making required CI nondeterministic, this weakens the E2E test's proof that mount teardown releases all writers before returning.

Reproduction status

A local isolated stress run passed 20/20:

go test ./cmd/relayfile-cli -run '^TestProductizedCloudMountE2EProof$' -count=20

That makes this a hosted-load race, not a deterministic assertion failure.

Done when

  • Identify the writer/lifecycle that can outlive the test.
  • Make teardown await all filesystem-writing work before TempDir cleanup.
  • Add a deterministic regression that fails on the old ordering.
  • Prove the test repeatedly under load and keep the full Contract workflow green.

Activity

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

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions