typedb-driver icon indicating copy to clipboard operation
typedb-driver copied to clipboard

Cluster tests (which are run in CI) cannot be run by community contributors

Open alexjpwalker opened this issue 4 years ago • 8 comments

Problem to Solve

Our Bazel workspace contains a private Grakn Cluster artifact for use when running Cluster tests, but it requires internal credentials, which community contributors don't have.

Current Workaround

Don't run these tests (or CI jobs)

Proposed Solution

N/A, see comments and linked issue

alexjpwalker avatar Feb 11 '21 17:02 alexjpwalker

Doesn't this means that the CI jobs for grakn-cluster should simply be filtered out by setting owner: graknlabs, @alexjpwalker ? Right @lolski ?

haikalpribadi avatar Feb 13 '21 12:02 haikalpribadi

Doesn't this means that the CI jobs for grakn-cluster should simply be filtered out by setting owner: graknlabs, @alexjpwalker ? Right @lolski ?

@haikalpribadi @lolski , It would be non-trivial to do so. The structure of the test targets is:

test/behaviour/connection/transaction:test-core test/behaviour/connection/transaction:test-cluster test/behaviour/connection/session:test-core test/behaviour/connection/session:test-cluster

(and about 20 more of each)

In other words, the Cluster targets live next to the Core targets, and we aren't aware of any Bazel command that would allow us to run only the Core targets.

The solution might be to restructure the test package, somehow.

alexjpwalker avatar Feb 13 '21 14:02 alexjpwalker

@vmax do you know of any trick from Bazel that would allow us to overcome this challenge?

haikalpribadi avatar Feb 13 '21 14:02 haikalpribadi

@alexjpwalker @haikalpribadi what I think we could do is marking all -cluster targets with tags = ["manual"]; this way at least they won't fit under bazel test //...

vmax avatar Feb 19 '21 09:02 vmax

I think the bare minimum to resolve this issue is:

  • a (reasonably small) set of Bazel commands that run precisely the Core tests
  • and another reasonably small set of Bazel commands that run precisely the Cluster tests

Ideally they'd be grouped by package, so we'd keep the concept, connection, definable, insertable structure that we currently have.

alexjpwalker avatar Feb 19 '21 09:02 alexjpwalker

As Max said, setting tags = ["manual"] on every Cluster target and refactoring the CI jobs should work.

alexjpwalker avatar Oct 03 '22 13:10 alexjpwalker

Interesting. We should definitely give that a try. Can you make an issue for that and add it to your list, @alexjpwalker ?

haikalpribadi avatar Oct 03 '22 14:10 haikalpribadi

  • https://github.com/vaticle/typedb-client-java/issues/392

alexjpwalker avatar Oct 03 '22 14:10 alexjpwalker