diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 0000000000..f366222cd6 --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,24 @@ +version: 2 +jobs: + build: + working_directory: ~/druntime + docker: + - image: circleci/node:4.8.2 + parallelism: 1 + steps: + - checkout + - run: + command: ./.circleci/run.sh install-deps + name: Install DMD + - run: + command: ./.circleci/run.sh setup-repos + name: Clone DMD + - run: + command: ./.circleci/run.sh style + name: Check code style + - run: + command: ./.circleci/run.sh coverage + name: Run DRuntime testsuite with -cov + - run: + command: ./.circleci/run.sh codecov + name: Upload coverage files to CodeCov diff --git a/circleci.sh b/.circleci/run.sh similarity index 98% rename from circleci.sh rename to .circleci/run.sh index 2f4941f518..8d08824f78 100755 --- a/circleci.sh +++ b/.circleci/run.sh @@ -92,6 +92,10 @@ setup_repos() { done } +style() { + make -f posix.mak style +} + coverage() { # load environment for bootstrap compiler source "$(CURL_USER_AGENT=\"$CURL_USER_AGENT\" bash ~/dlang/install.sh dmd-$HOST_DMD_VER --activate)" @@ -112,6 +116,7 @@ codecov() case $1 in install-deps) install_deps ;; setup-repos) setup_repos ;; + style) style ;; coverage) coverage ;; codecov) codecov ;; esac diff --git a/circle.yml b/circle.yml deleted file mode 100644 index 2d2877d6ff..0000000000 --- a/circle.yml +++ /dev/null @@ -1,16 +0,0 @@ -dependencies: - pre: - - ./circleci.sh install-deps - cache_directories: - - "~/dlang" - -test: - override: - - ./circleci.sh setup-repos - - make -f posix.mak style - - ./circleci.sh coverage: - parallel: true - timeout: 1200 - - post: - - ./circleci.sh codecov