Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add ControlFlow tests to Prefect CI/CD Lifecycle #15284

Open
aaazzam opened this issue Sep 9, 2024 · 4 comments
Open

Add ControlFlow tests to Prefect CI/CD Lifecycle #15284

aaazzam opened this issue Sep 9, 2024 · 4 comments
Labels
development Tech debt, refactors, CI, tests, and other related work. enhancement An improvement of an existing feature

Comments

@aaazzam
Copy link
Collaborator

aaazzam commented Sep 9, 2024

Describe the current behavior

A handful of changes from 3.0 release candidates to GA caused downstream errors in ControlFlow, built on Prefect.

I'd like to propose adding its test suite to somewhere in Prefect's CI/CD lifecycle. Selfishly, so ControlFlow users don't experience errors. More importantly, having a derivative framework in Prefect's CI/CD lifecycle could help Prefect contributors more quickly identify implicit behavior changes that are harder to catch in it's existing test suite.

Describe the proposed behavior

Perhaps on release, ControlFlow's test suite is run.

Example Use

No response

Additional context

No response

@aaazzam aaazzam added the enhancement An improvement of an existing feature label Sep 9, 2024
@cicdw
Copy link
Member

cicdw commented Sep 9, 2024

two thoughts on this:

  • I think it would be more extensible for ControlFlow to create a job that is triggered by Prefect 3.0 releases and runs its test suite in the controlflow repo; having Prefect action failures in this repo is a signal for the maintainers here to act, which test failures won't always represent
  • I think it could be interesting to post issues in any repositories that rely on Prefect (especially if unbounded) about breaking changes / important changes that we have reason to believe will affect their project (I'm not sure how to accomplish this efficiently though tbh, but I feel like it's possible)

@aaazzam
Copy link
Collaborator Author

aaazzam commented Sep 9, 2024

Yeah, dependabot-style stuff feels more extensible but would require us to pin Prefect which is doable but not ideal.

There's a precedent for OSS libraries to offer ecosystem tests for downstream libraries that enjoy a nontrivial relationship. See, e.g.

I think it comes down to whether you'd ever hold off a release of Prefect to investigate if you knew ex-ante that it would break ControlFlow? Totally get the argument of "we won't know if we were the ones that caused the breaking".

@cicdw
Copy link
Member

cicdw commented Sep 9, 2024

The uv example there makes sense because they aren't running our test suite but just confirming that dev installations are healthy; the pydantic/fastapi one though is pretty interesting. And at the end of the day, these repos are both prefecthq properties so we can obviously share some responsibility, just trying to use this as a playground to explore options anyone else could use.

Copy link
Collaborator Author

aaazzam commented Sep 9, 2024

💯

@cicdw cicdw added the development Tech debt, refactors, CI, tests, and other related work. label Sep 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
development Tech debt, refactors, CI, tests, and other related work. enhancement An improvement of an existing feature
Projects
None yet
Development

No branches or pull requests

2 participants