-
Notifications
You must be signed in to change notification settings - Fork 4.2k
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
connectors-ci: auto retry on DaggerError
#29081
Conversation
Before Merging a Connector Pull RequestWow! What a great pull request you have here! 🎉 To merge this PR, ensure the following has been done/considered for each connector added or updated:
If the checklist is complete, but the CI check is failing,
|
source-openweather test report (commit
|
Step | Result |
---|---|
Validate airbyte-integrations/connectors/source-openweather/metadata.yaml | ✅ |
Connector version semver check | ✅ |
QA checks | ✅ |
Code format checks | ✅ |
Connector package install | ✅ |
Build source-openweather docker image for platform linux/x86_64 | ✅ |
Unit tests | ✅ |
Acceptance tests | ✅ |
☁️ View runs for commit in Dagger Cloud
Please note that tests are only run on PR ready for review. Please set your PR to draft mode to not flood the CI engine and upstream service on following commits.
You can run the same pipeline locally on this branch with the airbyte-ci tool with the following command
airbyte-ci connectors --name=source-openweather test
Manual testing:
|
This reverts commit daec730.
@@ -91,13 +91,16 @@ class Step(ABC): | |||
|
|||
title: ClassVar[str] | |||
max_retries: ClassVar[int] = 0 | |||
max_dagger_error_retries: ClassVar[int] = 3 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
3 retries - the classic starting place
should_log: ClassVar[bool] = True | ||
success_exit_code: ClassVar[int] = 0 | ||
skipped_exit_code: ClassVar[int] = None | ||
# The max duration of a step run. If the step run for more than this duration it will be considered as timed out. | ||
# The default of 5 hours is arbitrary and can be changed if needed. | ||
max_duration: ClassVar[timedelta] = timedelta(hours=5) | ||
|
||
retry_delay = timedelta(seconds=10) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I like how we can configure this as needed
What
Closes #28796
Our pipeline might occasionally face transient DaggerError (eg failure reaching out to DockerHub).
To avoid pipeline flakyness we can retry a step run on this type of failure
How
max_dagger_error_retries
attribute onStep
which defaults to 3