cassandra/.circleci
Mick Semb Wever 3259d6de37 Migrate dependency handling from maven-ant-tasks to resolver-ant-tasks
- This removes lib/ from version control.
- The generated pom files are now the source of truth to the project's depdendencies, and the lib/ folder re-created during the build from compile scope dependencies excluding provided and system scopes. Project dependencies are first downloaded to the maven local repository at `~/.m2/repository`.
- Maven is now required to be installed to build, that is the `mvn` command needs to be found in the path.
- The new resolver-ant-tasks targets have been encapsulated into the `build/build-resolver.xml` ant file.
- Most classpaths in build.xml are replaced with resolver:resolve definitions.
- The build-deps-pom generated pom file is now only used for declaring test dependencies.

 patch by Mick Semb Wever; reviewed by Brandon Williams for CASSANDRA-16557
2021-07-25 11:35:45 -05:00
..
config-2_1.yml Add CircleCI jobs to repeat upgrade tests n times 2021-05-27 16:30:21 +01:00
config-2_1.yml.high_res.patch Merge branch 'cassandra-2.2' into cassandra-3.0 2020-01-29 09:33:31 +01:00
config-2_1.yml.mid_res.patch Add config.yml.MIDRES for older Cassandra versions 2021-07-20 12:15:51 -04:00
config.yml Add CircleCI jobs to repeat upgrade tests n times 2021-05-27 16:30:21 +01:00
config.yml.HIGHRES Add CircleCI jobs to repeat upgrade tests n times 2021-05-27 16:30:21 +01:00
config.yml.LOWRES Add CircleCI jobs to repeat upgrade tests n times 2021-05-27 16:30:21 +01:00
config.yml.MIDRES Add config.yml.MIDRES for older Cassandra versions 2021-07-20 12:15:51 -04:00
generate.sh Add config.yml.MIDRES for older Cassandra versions 2021-07-20 12:15:51 -04:00
license.yml Migrate dependency handling from maven-ant-tasks to resolver-ant-tasks 2021-07-25 11:35:45 -05:00
readme.md Add config.yml.MIDRES for older Cassandra versions 2021-07-20 12:15:51 -04:00

readme.md

CircleCI config files

Switching to high resource settings

This directory contains generated files for high and low resource settings. Switch between them by copying the correct file to config.yml and committing the result;

cp .circleci/config.yml.HIGHRES .circleci/config.yml

config.yml.LOWRES is the default config. MIDRES and HIGHRES are custom configs for those who have access to premium CircleCI resources.

Make sure you never edit the config.yml manually.

Updating the config master

To update the config (other than just swapping high/mid/low resources) you need to install the CircleCI CLI.

The directory contains config-2_1.yml which is then converted to the actual HIGH/MID/LOW resource files. There is a script called generate.sh which creates the LOWRES, MIDRES, and HIGHRES files, read below for details how to do it manually;

  1. make your edits to config-2_1.yml - let it stay at lowres settings
  2. generate a valid LOWRES file: circleci config process config-2_1.yml > config.yml.LOWRES
  3. add the Apache license header to the newly created LOWRES file: cat license.yml config.yml.LOWRES > config.yml.LOWRES.new && mv config.yml.LOWRES.new config.yml.LOWRES
  4. then apply the highres patch to config-2_1.yml; patch -o config-2_1.yml.HIGHRES config-2_1.yml config-2_1.yml.high_res.patch (this creates a new file config-2_1.yml.HIGHRES instead of in-place patching config-2_1.yml) Note that if the patch no longer applies to config-2_1.yml a new patch file is needed, do this by manually making config-2_1.yml high resource and create the patch file based on the diff (don't commit it though).
  5. generate the HIGHRES file: circleci config process config-2_1.yml.HIGHRES > config.yml.HIGHRES
  6. remove the temporary patched HIGHRES file: rm config-2_1.yml.HIGHRES
  7. add the Apache license header to the newly created HIGHRES file: cat license.yml config.yml.HIGHRES > config.yml.HIGHRES.new && mv config.yml.HIGHRES.new config.yml.HIGHRES
  8. repeat the last steps to generate the MIDRES file:
    patch -o config-2_1.yml.MIDRES config-2_1.yml config-2_1.yml.mid_res.patch
    circleci config process config-2_1.yml.MIDRES > config.yml.MIDRES
    rm config-2_1.yml.MIDRES
    cat license.yml config.yml.MIDRES > config.yml.MIDRES.new && mv config.yml.MIDRES.new config.yml.MIDRES