From 151e78c97d879cb23aa41fbc19eb6ba038a33f77 Mon Sep 17 00:00:00 2001 From: Jim Klimov Date: Tue, 10 May 2022 15:42:57 +0200 Subject: [PATCH] Add .circleci/config.yml [#1419, #917, #869] --- .circleci/config.yml | 51 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 .circleci/config.yml diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 0000000000..f79614ce73 --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,51 @@ +# Content modeled after settings tested with .travis.yml +# TODO: Implement a similar envvar-based matrix +# TODO: save_cache installed brew dependencies? +# TODO: Windows eventually? + +# Use the latest 2.1 version of CircleCI pipeline process engine. +# See: https://circleci.com/docs/2.0/configuration-reference +version: 2.1 + +# Define a job to be invoked later in a workflow. +# See: https://circleci.com/docs/2.0/configuration-reference/#jobs +jobs: + gnu17-clang-xcode12_5_1: + # Specify the execution environment. You can specify an image from Dockerhub or use one of our Convenience Images from CircleCI's Developer Hub. + # See: https://circleci.com/docs/2.0/configuration-reference/#docker-machine-macos-windows-executor + macos: + xcode: 12.5.1 # indicate your selected version of Xcode + # Add steps to the job + # See: https://circleci.com/docs/2.0/configuration-reference/#steps + steps: + - checkout + - run: + name: "homebrew" + command: |- + HOMEBREW_NO_AUTO_UPDATE=1; export HOMEBREW_NO_AUTO_UPDATE; + find /usr/local || true ; + brew install binutils ccache gd + + - restore_cache: + keys: + - ccache-{{ .Branch }}-{{ arch }} + - ccache-master-{{ arch }} + - run: + name: "ci_build" + command: |- + BUILD_TYPE=default-all-errors \ + CFLAGS="-std=gnu17" \ + CXXFLAGS="-std=gnu++17" \ + CC=clang CXX=clang++ \ + ./ci_build.sh + - save_cache: + paths: + - ~/.ccache + key: ccache-{{ .Branch }}-{{ arch }} + +# Invoke jobs via workflows +# See: https://circleci.com/docs/2.0/configuration-reference/#workflows +workflows: + xcode-workflow: + jobs: + - gnu17-clang-xcode12_5_1