Stefan Podkowinski created CASSANDRA-14806:
----------------------------------------------

             Summary: CircleCI workflow improvements and Java 11 support
                 Key: CASSANDRA-14806
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-14806
             Project: Cassandra
          Issue Type: Improvement
          Components: Build, Testing
            Reporter: Stefan Podkowinski
            Assignee: Stefan Podkowinski


The current CircleCI config could use some cleanup and improvements. First of 
all, the config has been made more modular by using the new CircleCI 2.1 
executors and command elements. Based on CASSANDRA-14713, there's now also a 
Java 11 executor that will allow running tests under Java 11. The {{build}} 
step will be done using Java 11 in all cases, so we can catch any regressions 
for that and also test the Java 11 multi-jar artifact during dtests, that we'd 
also create during the release process.

The job workflow has now also been changed to make use of the [manual job 
approval|https://circleci.com/docs/2.0/workflows/#holding-a-workflow-for-a-manual-approval]
 feature, which now allows running dtest jobs only on request and not 
automatically with every commit. The Java8 unit tests still do, but that could 
also be easily changed if needed. See [example 
workflow|https://circleci.com/workflow-run/08ecb879-9aaa-4d75-84d6-b00dc9628425]
 with start_ jobs being triggers needed manual approval for starting the actual 
jobs.

There was some churn in manually editing the config for paid and non-paid 
resource tiers before. This has been mostly mitigated now by using project 
settings instead, for overriding lower defaults (see below) and scheduling 
dtests on request, which will only run on paid accounts nonetheless, so we use 
high settings for these right away. The only issue left is the question how we 
may be able to dynamically adjust the {{resource_class}} and {{parallelism}} 
settings for unit tests. So at this point, the CircleCI config will work for 
both paid and non-paid by default, but paid accounts will see slower unit test 
results, as only medium instances are used (ie. 15min instead of 4min).

Attention CircleCI paid account users: you'll have to add "{{CCM_MAX_HEAP_SIZE: 
2048M}}" and "{{CCM_HEAP_NEWSIZE: 512M}}" to your project's environment 
settings or create a context, to override the lower defaults for free instances!



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to