Created
March 23, 2020 09:48
-
-
Save srz-zumix/a4ef4314b2686df0ff20295a4318f0d1 to your computer and use it in GitHub Desktop.
CircleCI config OLD
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| version: 2 | |
| default: &default | |
| shell: /bin/bash --login | |
| docker: | |
| - image: circleci/buildpack-deps:cosmic-browsers | |
| jobs: | |
| optimize_test: | |
| working_directory: ~/srz-zumix/iutest | |
| parallelism: 4 | |
| <<: *default | |
| environment: | |
| CIRCLE_ARTIFACTS: /tmp/circleci-artifacts | |
| CIRCLE_TEST_REPORTS: /tmp/circleci-test-results | |
| MAKE_OPTION: -j4 OUTPUTXML=1 | |
| MAKE_TARGET: all_tests | |
| MAKE_RUN_TARGET: run_all_tests | |
| steps: | |
| - checkout | |
| - run: mkdir -p $CIRCLE_ARTIFACTS $CIRCLE_TEST_REPORTS | |
| - restore_cache: &restore_cache | |
| keys: | |
| # This branch if available | |
| - v2-dep-{{ .Branch }}- | |
| # Default branch if not | |
| - v2-dep-master- | |
| # Any branch if there are none on the default branch - this should be unnecessary if you have your default branch configured correctly | |
| - v2-dep- | |
| - run: &setup-step | |
| name: SetUp | |
| command: | | |
| sudo apt-get -y --allow-unauthenticated update | |
| sudo apt-get install software-properties-common | |
| sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test | |
| wget -q -O - http://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add - | |
| sudo add-apt-repository -y 'deb http://apt.llvm.org/cosmic/ llvm-toolchain-cosmic-9 main' | |
| sudo apt-get -y --allow-unauthenticated update | |
| sudo apt-get -qq install clang-9 | |
| sudo apt-get -qq install g++-8 | |
| sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 90 | |
| sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-8 90 | |
| sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-9 60 | |
| sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-9 60 | |
| - save_cache: &save_cache | |
| key: v2-dep-{{ .Branch }}-{{ epoch }} | |
| paths: | |
| # This is a broad list of cache paths to include many possible development environments | |
| # You can probably delete some of these entries | |
| - vendor/bundle | |
| - ~/virtualenvs | |
| - ~/.m2 | |
| - ~/.ivy2 | |
| - ~/.bundle | |
| - ~/.go_workspace | |
| - ~/.gradle | |
| - ~/.cache/bower | |
| # Test | |
| - run: | |
| name: check compiler version | |
| working_directory: test | |
| command: | | |
| if [ "$CIRCLE_NODE_INDEX" == "0" ]; then | |
| make CXX=g++ showcxxversion; | |
| make CXX=clang++ showcxxversion; | |
| fi | |
| - run: | |
| name: g++ minimum_tests and show feature / spec | |
| command: if [ "$CIRCLE_NODE_INDEX" == "0" ]; then make minimum_tests && ./minimum_tests --spec --feature; fi | |
| working_directory: test | |
| environment: | |
| CXX: g++ | |
| - run: | |
| name: clang++ minimum_tests and show feature / spec | |
| command: if [ "$CIRCLE_NODE_INDEX" == "0" ]; then make minimum_tests && ./minimum_tests --spec --feature; fi | |
| working_directory: test | |
| environment: | |
| CXX: clang++ | |
| - run: | |
| name: g++ build | |
| command: | | |
| make clean | |
| case $CIRCLE_NODE_INDEX in 0) make $MAKE_TARGET $MAKE_OPTION OPTIMIZE=-O2 ;; 1) make $MAKE_TARGET $MAKE_OPTION OPTIMIZE=-Os ;; 2) make $MAKE_TARGET $MAKE_OPTION OPTIMIZE=-O3 ;; 3) make $MAKE_TARGET $MAKE_OPTION OPTIMIZE=-O4 ;; esac | |
| working_directory: test | |
| environment: | |
| CXX: g++ | |
| - run: | |
| name: g++ test | |
| command: | | |
| make $MAKE_RUN_TARGET | |
| working_directory: test | |
| environment: | |
| CXX: g++ | |
| - run: | |
| name: clang++ build | |
| command: | | |
| make clean | |
| case $CIRCLE_NODE_INDEX in 0) make $MAKE_TARGET $MAKE_OPTION $MAKE_ADD_OPTION OPTIMIZE=-O2 ;; 1) make $MAKE_TARGET $MAKE_OPTION $MAKE_ADD_OPTION OPTIMIZE=-Os ;; 2) make $MAKE_TARGET $MAKE_OPTION $MAKE_ADD_OPTION OPTIMIZE=-O3 ;; 3) make $MAKE_TARGET $MAKE_OPTION $MAKE_ADD_OPTION OPTIMIZE=-Oz ;; esac | |
| cp *.json $CIRCLE_ARTIFACTS/ | |
| working_directory: test | |
| environment: | |
| CXX: clang++ | |
| MAKE_ADD_OPTION: CXXFLAGS=-ftime-trace | |
| - run: | |
| name: clang++ test | |
| command: | | |
| make $MAKE_RUN_TARGET | |
| working_directory: test | |
| environment: | |
| CXX: clang++ | |
| - run: | |
| name: move result xml | |
| command: | | |
| if [ "$CIRCLE_NODE_INDEX" == "0" ]; then | |
| mkdir -p $CIRCLE_TEST_REPORTS/junit/; | |
| find . -type f -regex ".*/test/.*xml" -exec cp {} $CIRCLE_TEST_REPORTS/junit/ \;; | |
| fi | |
| # Teardown | |
| - store_test_results: | |
| path: /tmp/circleci-test-results | |
| # Save artifacts | |
| - store_artifacts: | |
| path: /tmp/circleci-artifacts | |
| - store_artifacts: | |
| path: /tmp/circleci-test-results | |
| workflows: | |
| version: 2 | |
| default-test: | |
| jobs: | |
| - optimize_test: | |
| filters: | |
| branches: | |
| only: | |
| - master | |
| - develop | |
| - /^feature.*/ | |
| - /^fix.*/ | |
| - /^circleci.*/ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment