It looks to me like Phantom is not shutting down when the tests finish. Can you try to run the tests manually via SSH to see if you can get any additional information or logging on why this process is hanging?
Even though this may not be a CircleCI specific problem, I think that its still worth documenting here because I am certain that tomorrow someone will have the same exact issue
Would love to take a look, my GH username is levlaz
@Ben88 and I worked together to get to the bottom of this. It turns out that Karma has a special “Continuous Integration” mode that can be enabled by setting singleRun: true in your karma.conf.js file.
This will cause the browser to cleanly shut down at the end of the tests. By default it will keep running and wait for changes which can be super useful in local development but not so much in a CI system.