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: [email protected]
For additional commands, e-mail: [email protected]