cloud-trace-nodejs icon indicating copy to clipboard operation
cloud-trace-nodejs copied to clipboard

make test requirements closer to other Node.js repos

Open bcoe opened this issue 4 years ago • 5 comments

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.

bcoe avatar Feb 28 '20 19:02 bcoe

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 avatar Mar 02 '20 19:03 kjin

@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.

bcoe avatar Mar 02 '20 22:03 bcoe

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.

kjin avatar Mar 03 '20 19:03 kjin

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 avatar Mar 06 '20 19:03 kjin

@kjin c8 manages this by setting an environment variable that carries to subprocesses, so this totally works :smile:

bcoe avatar Mar 06 '20 20:03 bcoe

This repo no longer uses CircleCI.

punya avatar Aug 29 '22 16:08 punya