cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andres de la Peña (Jira) <>
Subject [jira] [Commented] (CASSANDRA-16882) Save CircleCI resources with optional test jobs
Date Thu, 23 Sep 2021 12:08:00 GMT


Andres de la Peña commented on CASSANDRA-16882:

[~e.dimitrova] thanks for the feedback.
{quote}Unfortunately the list of jobs became so long that going over the button for pre-commit
jobs I can't follow anymore which jobs the arrows reach. Not sure we can do anything more
about that unfortunately.
Agree, I think that the approach with separate workflows is cleaner.
{quote}Also, I guess all the failures are due to the lower resources.
Yes, I started it with low resources in an attempt to make the connections in the graph easier
to follow, trying to highlight what tests are started by the pre-commit button.
{quote}It is not related really to what you do, that is the way it was setup from before but
I was wondering - why do we have separate jobs for vnodes and no vnodes for the cqlsh tests,
but one job for the Python DTests that triggers both versions?
I have no clue about why it is that way. I have simplified it to start cqlsh tests with and
without vnodes with a single button, as we do with dtests. I have also renamed the two pairs
of workflows to {{javax_pre-commit_tests}} and {{javax_separate_tests}}, any suggestions are
welcome. The approach can be found [here|].

On a slight variation, [here|]
I have tried to simplify the buttons for the pre-commit workflow so instead of a button to
start the pre-commit tests we have a button to start the build, and the mandatory tests depend
only on the build.

[~dcapwell] what do you think about the separate workflows approach?

> Save CircleCI resources with optional test jobs
> -----------------------------------------------
>                 Key: CASSANDRA-16882
>                 URL:
>             Project: Cassandra
>          Issue Type: Task
>          Components: CI
>            Reporter: Andres de la Peña
>            Assignee: Andres de la Peña
>            Priority: Normal
> This ticket implements the addition of approval steps in the CircleCI workflows as it
was proposed in [this email|]
sent to the dev list:
> The current CircleCI configuration automatically runs the unit tests, JVM dtests and
cqhshlib tests. This is done by default for every commit or, with some configuration, for
every push.
> Along the lifecycle of a ticket it is quite frequent to have multiple commits and pushes,
all running these test jobs. I'd say that frequently it is not necessary to run the tests
for some of those intermediate commits and pushes. For example, one can show proofs of concept,
or have multiple rounds of review before actually running the tests. Running the tests for
every change can produce an unnecessary expense of CircleCI resources.
> I think we could make running those tests optional, as well as clearly specifying in
the documentation what are the tests runs that are mandatory before actually committing. We
could do this in different ways:
>  # Make the entire CircleCI workflow optional, so the build job requires
>  manual approval. Once the build is approved the mandatory test jobs would
>  be run without any further approval, exactly as it's currently done.
>  # Make all the test jobs optional, so every test job requires manual approval, and
the documentation specifies which tests are mandatory in the final steps of a ticket.
>  # Make all the mandatory test jobs depend on a single optional job, so we have a single
button to optionally run all the mandatory tests.
> I think any of these changes, or a combination of them, would significantly
>  reduce the usage of resources without making things less tested. The only
>  downside I can think of is that we would need some additional clicks on the
>  CircleCI GUI.

This message was sent by Atlassian Jira

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message