cloud-trace-nodejs
cloud-trace-nodejs copied to clipboard
make test requirements closer to other Node.js repos
we have been finding that GitHub actions work quite well for most other Node.js repos, currently cloud-trace-nodejs is one of our few repos using CircleCI. Ideally I would like us to consolidate on using GitHub actions and kokoro, as it will make managing a large number of repositories easier.
Let me know if there's anything I can do to help.
Does Kokoro support running VMs alongside to test DBs? I think that's the only reason we have been unable to move off of CircleCI.
@kjin what databases do we need to run, the answer is it depends :smile:
There might be the option of running some long lived databases in our CI/CD environment.
MongoDB, Postgres, MySQL, and Redis. The exact details are here.
Long-lived might be OK if we make sure every run creates a different table (they currently don't). I think ephemeral, containerized DBs is still a more robust option, but if that takes a lot of work it's probably not worth bothering.
I just remembered that another difference (that complicates coverage in particular) between this library and others is that many of our tests run in different processes because the Trace Agent is global state. In the past I started an effort to convert tests so they could be run together in the same process but never finished this. This meant that every test process had its own coverage file and we had to merge them (can't remember if we send them independently anyway, or if we merge them ourselves, though in either case some extra config was needed).
@kjin c8 manages this by setting an environment variable that carries to subprocesses, so this totally works :smile:
This repo no longer uses CircleCI.