[
https://issues.apache.org/jira/browse/CASSANDRA-17939?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17612943#comment-17612943
]
Andres de la Peña commented on CASSANDRA-17939:
-----------------------------------------------
[The proposed PR|https://github.com/apache/cassandra/pull/1899] adds new jobs
for automatically repeating new or modified JUnit tests. Each regular JUnit job
has a companion job to run the tests on that suite that are new or modified,
according to the results of {{{}git diff --diff-filter=AMR{}}}. Each pair of
all/repeated jobs is subjected to the same approval step, so the new workflow
has more jobs but an identical number of approval steps.
These CI results use a synthetic patch doing some arbitrary changes on every
test family, so we can verify how the new jobs work:
||PR||Test patch||CI||
|[trunk|https://github.com/apache/cassandra/pull/1899]|[trunk|https://github.com/adelapena/cassandra/tree/17939-trunk-dev-test]|[j8_pre-commit|https://app.circleci.com/pipelines/github/adelapena/cassandra/2135/workflows/e54ff736-015e-4002-b170-6ea826b591d1]
[j11_pre-commit|https://app.circleci.com/pipelines/github/adelapena/cassandra/2135/workflows/c2811225-9a38-4216-9b7e-b15c9bb6d53c]
[j8_separate|https://app.circleci.com/pipelines/github/adelapena/cassandra/2135/workflows/13593914-4cdf-4f88-b5be-3201908e3e01]
[j11_separate|https://app.circleci.com/pipelines/github/adelapena/cassandra/2135/workflows/7c7d779d-0d22-4977-abca-0ddf01adb327]|
This ticket is focused only on JUnit tests. Similar jobs for Python tests can
be added in a separate ticket if we see value on it. However, that would be
quite more challenging because we would need to find a way to get the class and
method name of the new or modified test files identified by {{{}git diff{}}}.
We probably shouldn't run entire {{.py}} files in the same way that we run
{{.java}} files because Python tests are more resource intensive and their test
files use to be quite crowded. To further complicate things, the names of some
Python tests are automatically generated and don't appear on the compared
files. Also, adding Python tests is not as common as adding JUnit tests these
days, so there is probably less value on automatically multiplexing them.
> CircleCI: Automatically detect and repeat new or modified JUnit tests
> ---------------------------------------------------------------------
>
> Key: CASSANDRA-17939
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17939
> Project: Cassandra
> Issue Type: Task
> Components: CI
> Reporter: Andres de la Peña
> Priority: Normal
>
> The purpose of this ticket is adding a new CircleCI job that automatically
> detects new or modified test classes and runs them repeatedly. That way we
> wouldn't need to manually specify those tests with {{.circleci/generate.sh}}.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]