-
Notifications
You must be signed in to change notification settings - Fork 109
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
ci: Tame the doge #632
ci: Tame the doge #632
Conversation
5f75801
to
6f8444b
Compare
.github/workflows/ci.yml
Outdated
# These cannot run in parallel, obviously | ||
- name: Run restarting smoketests | ||
run: test/run-smoke-tests.sh zz_docker-restart-module zz_docker-restart-repeating-reducer zz_docker-restart-sql |
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.
Were parallel restarts the main issue?
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.
No, I just fixed that as a drive-by
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.
Turns out the runner script already handles this
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.
Well, turns out turns out we need to run them as a separate task, for whatever reason.
# The health probe runs inside the container, but that doesn't mean we can | ||
# reach it from outside. Ping until we get through. |
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.
How useful is the health check then?
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.
Because sometimes, potentially related to the phase of the moon, it will be reachable immediately. I should move the sleep
to the end of the loop.
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.
Maybe also useful for folks using docker for local development? I think you get slightly more helpful output from docker commands when you lost the log stream f.ex.
# | ||
# The health probe runs inside the container, but that doesn't mean we can | ||
# reach it from outside. Ping until we get through. | ||
ping |
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.
Am I correct in asserting that the minimal set of changes needed to remove the flakiness from those tests were
- Not running them in parallel
- This ping utility
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.
Also restart
. stop
followed by start
works only some of the time.
9dc3a4c
to
8ac2f18
Compare
One does not simply restart a docker container. But when you do, SpacetimeDB also restarts.
Description of Changes
Incantation to restart containers in a controlled way.
API and ABI breaking changes
If you use
docker-compose
, you shouldn't. Usedocker compose
.Expected complexity level and risk
1
Fixes #630