Skip to content

Nightly CI runs, needs clarity #17

@redpanda-f

Description

@redpanda-f

Background

We've been talking about setting up nightly CI to keep things healthy. The idea is that foc-localnet could help with the first leg of tests—basically sanity checks to make sure the local network can at least start cold. That part makes sense and we can extend it later.

But before we commit to an approach, there are some fundamental questions we need to answer as a team.

Key Questions

1. What Does "Healthy" Actually Mean?

Here's the issue: foc-localnet pulls together multiple repos (curio, lotus, synapse-sdk, filecoin-services, etc.). For any test run, we need to explicitly say which commit/branch/tag of each repo we're testing.

So what commits should nightly pick?

  • Do we always test the latest main of everything?
  • Do we pin to specific "known good" versions?
  • Something else?

2. Cross-Repo Health is Complicated

This is the trickier part: a commit that's healthy in isolation might break when combined with other repos.

For example:

  • Commit 5bd112ef... might be perfectly fine for lotus standalone
  • But could break the entire setup when combined with a specific curio version

When cross-repo changes are needed, how do we handle that? Most significant changes need coordinated PRs across multiple repos to be stable. How does our nightly strategy account for this?

3. Where Should Test Scenarios Live?

I've shared my thoughts before that foc-localnet should just be a utility for starting/stopping clusters, not a full testing framework.

If we're building test scenarios for nightly, where do they belong?

  • In synapse-sdk?
  • A separate testing repo?
  • Somewhere else?

What We Need

Before we design the nightly CI, we need alignment on:

  1. How we define the "healthy point" to test across multiple repos
  2. How we handle cross-repo dependencies
  3. Where testing scenarios should live

Thoughts?

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

Status

🎉 Done

Relationships

None yet

Development

No branches or pull requests

Issue actions