From 476193f7b4b6c0cf5187e7c85196bb02a9243fee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Chantepie?= Date: Tue, 26 Oct 2021 21:31:59 +0200 Subject: [PATCH] Setup CircleCI --- .circleci/config.yml | 156 +++++++++++++++++++++++++++++++++++++++++++ .travis.yml | 35 ---------- README.md | 2 +- 3 files changed, 157 insertions(+), 36 deletions(-) create mode 100644 .circleci/config.yml delete mode 100644 .travis.yml diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 00000000..4e4d53ef --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,156 @@ +version: 2.1 + +commands: + setup_sbt: + description: Get and install SBT + parameters: + sbt_version: + type: string + default: "1.5.5" + steps: + - restore_cache: + keys: + - &sbt_cache_key sbt-{{ checksum "project/build.properties" }} + + - run: + name: Setup SBT + command: | + if [ ! -x ~/sbt/bin/sbt ]; then + cd ~/ + curl --silent -L -o sbt.tgz https://github.com/sbt/sbt/releases/download/v<< parameters.sbt_version >>/sbt-<< parameters.sbt_version >>.tgz + tar -xzvf sbt.tgz && rm -f sbt.tgz + fi + + - save_cache: + paths: + - ~/sbt + key: *sbt_cache_key + + build_n_tests: + description: Build & Run tests + steps: + - restore_cache: + keys: + - &scala_cache_key scala-{{ .Environment.CIRCLE_JOB }}-{{ checksum "version.sbt" }}-{{ checksum "build.sbt" }} + + - run: + name: Build & Run tests + command: | + export PATH=$PATH:~/sbt/bin + + ./.ci_scripts/validate.sh + + - save_cache: + paths: + - ~/.ivy2 + - ~/.coursier/cache + - ~/.sbt + key: *scala_cache_key + + collect_test_reports: + description: Collect test reports + steps: + - run: + name: Collect test report + command: | + mkdir test-reports + find . -path '*/test-reports/*' -name '*.xml' \ + -print -exec cp {} test-reports \; + when: always + +jobs: + scala211_jdk8: + docker: + - image: circleci/openjdk:8-jdk + + working_directory: ~/repo + + environment: + SCALA_VERSION: 2.11.12 + + steps: + - checkout + - setup_sbt + - build_n_tests + - collect_test_reports + - store_test_results: + path: test-reports + + scala212_jdk8: + docker: + - image: circleci/openjdk:8-jdk + + working_directory: ~/repo + + environment: + SCALA_VERSION: 2.12.15 + + steps: + - checkout + - setup_sbt + - build_n_tests + - collect_test_reports + - store_test_results: + path: test-reports + + scala213_jdk8: + docker: + - image: circleci/openjdk:8-jdk + + working_directory: ~/repo + + environment: + SCALA_VERSION: 2.13.6 + + steps: + - checkout + - setup_sbt + - build_n_tests + - collect_test_reports + - store_test_results: + path: test-reports + + scala212_jdk9: + docker: + - image: circleci/openjdk:9-jdk + + working_directory: ~/repo + + environment: + SCALA_VERSION: 2.12.15 + + steps: + - checkout + - setup_sbt + - build_n_tests + - collect_test_reports + - store_test_results: + path: test-reports + + scala213_jdk11: + docker: + - image: circleci/openjdk:11-jdk + + working_directory: ~/repo + + environment: + SCALA_VERSION: 2.13.6 + + steps: + - checkout + - setup_sbt + - build_n_tests + - collect_test_reports + - store_test_results: + path: test-reports + +workflows: + version: 2 + + main_suite: + jobs: + - scala211_jdk8 + - scala212_jdk8 + - scala213_jdk8 + - scala212_jdk9 + - scala213_jdk11 diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 35e08f34..00000000 --- a/.travis.yml +++ /dev/null @@ -1,35 +0,0 @@ -language: scala -sudo: true -dist: trusty - -git: - depth: 70 - -cache: - directories: - - $HOME/.ivy2 - - $HOME/.sbt - -matrix: - include: - - jdk: openjdk8 - scala: 2.11.12 - - jdk: openjdk8 - scala: 2.12.15 - - jdk: openjdk8 - scala: 2.13.3 - - jdk: openjdk9 - scala: 2.12.15 - - jdk: openjdk11 - scala: 2.13.3 - -install: - - | - # update this only when sbt-the-bash-script needs to be updated - export SBT_LAUNCHER=`grep '^sbt.version=' project/build.properties | cut -d '=' -f 2` - export SBT_OPTS="-Dfile.encoding=UTF-8" - curl -L --silent "https://github.com/sbt/sbt/releases/download/v$SBT_LAUNCHER/sbt-$SBT_LAUNCHER.tgz" > $HOME/sbt.tgz - tar zxf $HOME/sbt.tgz -C $HOME - sudo rm /usr/local/bin/sbt - sudo ln -s $HOME/sbt/bin/sbt /usr/local/bin/sbt -script: git fetch --tags && ./.ci_scripts/validate.sh diff --git a/README.md b/README.md index df9b3de6..39ea3ef0 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,7 @@ To run the tests, use: sbt test -[Travis](https://travis-ci.org/playframework/anorm): ![Travis build status](https://travis-ci.org/playframework/anorm.svg?branch=master) +[CircleCI](https://circleci.com/gh/playframework/anorm): ![CircleCI build status](https://circleci.com/gh/playframework/anorm.png?branch=master) ## Documentation