We’ve been moving our applications from CircleCI to GitHub Actions in our company and we got stuck with a strange situation.
There has been no change to the project’s code, but our kafka integration tests started to fail in GH Actions machines. Everything works fine in CircleCI and locally (MacOS and Fedora linux machines).
Both CircleCI and GH Actions machines are running Ubuntu (tested versions were 18.04 and 20.04). MacOS was not tested in GH Actions as it doesn’t have Docker in it.
Here are the docker-compose and workflow files used by the build and integration tests:
Condition not satisfied after 50.00 seconds and 496 attempts
at spock.util.concurrent.PollingConditions.within(PollingConditions.java:185)
at com.company.listings.KafkaAwareBaseSpec.compareRecordSend(KafkaAwareBaseSpec.groovy:31)
at com.company.listings.application.worker.listener.notifier.ListingNotifierITSpec.should notify listings(ListingNotifierITSpec.groovy:44)
We’ve debugged the GH Actions machine (SSH into it) and run things manually. The error still happens, but if the integration tests are run a second time (as well as subsequent runs), everything works perfectly.
We’ve also tried to initialize all the necessary topics and send some messages to them preemptively, but the behavior was the same.
The questions we have are:
Is there any issue when running Kafka dockerized in an Ubuntu machine (the error also occurred in a co-worker Ubuntu machine)?
We identified some test sequence dependency between the Kafka tests.
We updated our Gradle version to 7.3-rc-3 which has a more deterministic approach to test scanning. This update “solved” our problem while we prepare to fix the tests’ dependencies.
We identified some test sequence dependency between the Kafka tests.
We updated our Gradle version to 7.3-rc-3 which has a more deterministic approach to test scanning. This update “solved” our problem while we prepare to fix the tests’ dependencies.
Add a bulleted list, <Ctrl+Shift+8>Add a numbered list, <Ctrl+Shift+7>Add a task list, <Ctrl+Shift+l>
Directly mention a user or teamReference an issue or pull request
Add heading textAdd bold text, <Ctrl+b>Add italic text, <Ctrl+i>Add a bulleted list, <Ctrl+Shift+8>Add a numbered list, <Ctrl+Shift+7>Add a task list, <Ctrl+Shift+l>
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.
-
We’ve been moving our applications from CircleCI to GitHub Actions in our company and we got stuck with a strange situation.
There has been no change to the project’s code, but our kafka integration tests started to fail in GH Actions machines. Everything works fine in CircleCI and locally (MacOS and Fedora linux machines).
Both CircleCI and GH Actions machines are running Ubuntu (tested versions were 18.04 and 20.04). MacOS was not tested in GH Actions as it doesn’t have Docker in it.
Here are the
docker-compose
andworkflow
files used by the build and integration tests:The integration tests are written using the Spock framework and the part where the errors occur are these:
The error we’re getting is:
We’ve debugged the GH Actions machine (SSH into it) and run things manually. The error still happens, but if the integration tests are run a second time (as well as subsequent runs), everything works perfectly.
We’ve also tried to initialize all the necessary topics and send some messages to them preemptively, but the behavior was the same.
The questions we have are:
Beta Was this translation helpful? Give feedback.
We identified some test sequence dependency between the Kafka tests.
We updated our Gradle version to 7.3-rc-3 which has a more deterministic approach to test scanning. This update “solved” our problem while we prepare to fix the tests’ dependencies.