[ https://issues.apache.org/jira/browse/CASSANDRA-15539?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17044276#comment-17044276 ]
Alex Petrov edited comment on CASSANDRA-15539 at 2/26/20 12:43 PM: ------------------------------------------------------------------- What was done so far: 1. Create a new library that publishes a new in-jvm-dtest API out-of-tree. 2. Publish artifact for a version 0.0.1-SNAPSHOT of API library 3. Bring API library to be used in Cassandra, without migrating the tests out 4. Create a patch that migrates tests out of tree, that uses 1.0.0 version of the API library I did run tests out of tree on all branches locally, too. Now we only have to set up CI to run it. Patches for all branches: |2.2|[patch|https://github.com/apache/cassandra/pull/454]|[branch|https://github.com/ifesdjeen/cassandra/tree/CASSANDRA-15539-2.2-oss]|[CI|https://circleci.com/gh/ifesdjeen/cassandra/tree/CASSANDRA-15539-2.2-oss]| |3.0|[patch|https://github.com/apache/cassandra/pull/452]|[branch|https://github.com/ifesdjeen/cassandra/tree/CASSANDRA-15539-3.0-oss]|[CI|https://circleci.com/gh/ifesdjeen/cassandra/tree/CASSANDRA-15539-3.0-oss]| |3.11|[patch|https://github.com/apache/cassandra/pull/453]|[branch|https://github.com/ifesdjeen/cassandra/tree/CASSANDRA-15539-3.11-oss]|[CI|https://circleci.com/gh/ifesdjeen/cassandra/tree/CASSANDRA-15539-3.11-oss]| |trunk|[patch|https://github.com/apache/cassandra/pull/437]|[branch|https://github.com/ifesdjeen/cassandra/tree/CASSANDRA-15539-trunk-oss]|[CI|https://circleci.com/gh/ifesdjeen/cassandra/tree/CASSANDRA-15539-trunk-oss]| CI is green. New repo patch: https://github.com/apache/cassandra-in-jvm-dtest-api/pull/1 was (Author: ifesdjeen): What was done so far: 1. Create a new library that publishes a new in-jvm-dtest API out-of-tree. 2. Publish artifact for a version 0.0.1-SNAPSHOT of API library 3. Bring API library to be used in Cassandra, without migrating the tests out 4. Create a patch that migrates tests out of tree, that uses 1.0.0 version of the API library I did run tests out of tree on all branches locally, too. Now we only have to set up CI to run it. Patches for all branches: |2.2|[patch|https://github.com/apache/cassandra/pull/454]|[branch|https://github.com/ifesdjeen/cassandra/tree/CASSANDRA-15539-2.2-oss]|[CI|https://circleci.com/gh/ifesdjeen/cassandra/tree/CASSANDRA-15539-2.2-oss]| |3.0|[patch|https://github.com/apache/cassandra/pull/452]|[branch|https://github.com/ifesdjeen/cassandra/tree/CASSANDRA-15539-3.0-oss]|[CI|https://circleci.com/gh/ifesdjeen/cassandra/tree/CASSANDRA-15539-3.0-oss]| |3.11|[patch|https://github.com/apache/cassandra/pull/453]|[branch|https://github.com/ifesdjeen/cassandra/tree/CASSANDRA-15539-3.11-oss]|[CI|https://circleci.com/gh/ifesdjeen/cassandra/tree/CASSANDRA-15539-3.11-oss]| |trunk|[patch|https://github.com/apache/cassandra/pull/437]|[branch|https://github.com/ifesdjeen/cassandra/tree/CASSANDRA-15539-trunk-oss]|[CI|https://circleci.com/gh/ifesdjeen/cassandra/tree/CASSANDRA-15539-trunk-oss]| New repo patch: https://github.com/apache/cassandra-in-jvm-dtest-api/pull/1 > Extract in-jvm API and tests out of Cassandra and into a separate repository > ---------------------------------------------------------------------------- > > Key: CASSANDRA-15539 > URL: https://issues.apache.org/jira/browse/CASSANDRA-15539 > Project: Cassandra > Issue Type: Task > Components: Test/dtest > Reporter: Alex Petrov > Assignee: Alex Petrov > Priority: Normal > Labels: pull-request-available > Time Spent: 0.5h > Remaining Estimate: 0h > > Extract in-jvm DTest _API_ and tests into a separate repository that is > shared between Cassandra branches. Tests themselves should be buildable using > just API, which is not the case now, since cluster creation relies on impl > package, since we do not have factories / constructors in API. > Main goals we’re trying to achieve: > 1. We should be able to fail a build on API incompatibility between versions > 2. Make it as easy as possible to detect break APIs between versions. > 3. Make development of _tests_ based on in-jvm framework simpler > 4. Reduce surface area of impact when making modifications to tests > Potentially, we’d also like to use a plugin to detect API incompatibilities > between in-jvm DTest API and in-branch implementations, and start running > tests using shared in-jvm test repository with each existing implementation > in the branch. This entails both running tests for all branches whenever > there’s a change in tests jar and running tests for a specific branch > whenever the branch has changed. -- This message was sent by Atlassian Jira (v8.3.4#803005) --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org