source: trunk/GDE/SINA/builddir/.circleci/config.yml

Last change on this file was 19170, checked in by westram, 2 years ago
  • sina source
    • unpack + remove tarball
    • no longer ignore sina builddir.
File size: 3.4 KB
Line 
1version: 2
2
3references:
4  environment: &environment
5    environment:
6      MINICONDA: ~/miniconda
7      JUNIT_REPORT_PATH: /tmp/reports/ # trailing slash required
8      ARTIFACT_PATH: /tmp/artifacts/
9
10  configure: &configure
11    name: Running Configure
12    command: |
13      # GCOV is missing from env vars exported by gcc_linux-64
14      export GCOV=${GCC%%cc}cov
15      eval MINICONDA=$MINICONDA
16      cd ~/build
17      ~/project/configure \
18      --disable-docs \
19      --prefix=$HOME/install \
20      --with-boost=$MINICONDA  \
21      --with-boost-libdir=$MINICONDA/lib \
22      --with-arbhome=$MINICONDA/lib/arb \
23      $EXTRA_CONFIG_ARGS \
24      || (cat config.log; false)
25
26  macos: &macos
27    macos:
28      xcode: "9.0"
29  linux: &linux
30    docker:
31      - image: condaforge/linux-anvil
32        environment:
33          LC_ALL: C.UTF-8
34          LANG: C.UTF-8
35
36jobs:
37  build:
38    <<: *environment
39    <<: *linux
40    docker:
41      - image: condaforge/linux-anvil
42        environment:
43    steps:
44      - checkout
45      - restore_cache:
46          keys:
47            - conda-1-{{arch}}
48      - run:
49          name: Preparing Conda Environment
50          command: ./ci_scripts/install_conda.sh
51      - save_cache:
52          key: conda-1-{{arch}}-{{checksum "conda/info.txt" }}-{{checksum "conda/root.txt"}}-{{checksum "conda/pkgs.txt"}}
53          paths: ~/miniconda
54      - run:
55          name: Checking out submodules
56          command: git submodule update --init --recursive --remote
57      - run:
58          name: Preparing Directory Structure
59          command: mkdir ~/build $JUNIT_REPORT_PATH $ARTIFACT_PATH
60      - run:
61          name: Boostrapping Configure
62          command: ./autogen.sh
63      - run:
64          <<: *configure
65          environment:
66            EXTRA_CONFIG_ARGS: --enable-code-coverage --enable-debug
67      - run: &build
68          name: Building
69          command: |
70            make -C ~/build clean
71            make -j2 -C ~/build all
72      - run:
73          name: Running Unit Tests (w/ debug)
74          command: |
75            cd ~/build
76            find -name \*.gcda | xargs rm -f
77            rm -f coverage.info
78            make check-filtered P=unit_tests
79            make code-coverage-capture
80            bash <(curl -s https://codecov.io/bash) -X gcov -F unittest \
81              -R ~/project -n Unit-Linux-CircleCI
82          no_output_timeout: 20m # kmer_search_test is slow
83      - run:
84          <<: *configure
85          environment:
86            EXTRA_CONFIG_ARGS: --enable-code-coverage
87      - run:
88          <<: *build
89      - run:
90          name: Running Integration Tests (w/o debug)
91          command: |
92            cd ~/build
93            find -name \*.gcda | xargs rm -f
94            rm -f coverage.info
95            make check-filtered P=^tests
96            make code-coverage-capture
97            bash <(curl -s https://codecov.io/bash) -X gcov -F integration \
98              -R ~/project -n Integration-Linux-CircleCI
99      - run:
100          name: Collecting binaries
101          when: on_fail
102          command: |
103            tar -C ~/build -czvf $ARTIFACT_PATH/build_src.tgz src
104      - run:
105          name: Copying logs
106          when: always
107          command: |
108            ls -la $JUNIT_REPORT_PATH
109            mkdir -p $ARTIFACT_PATH/tests
110            find ~/build -name \*.log -exec cp {} $ARTIFACT_PATH/tests \;
111      - store_test_results:
112          path: /tmp/reports
113      - store_artifacts:
114          path: /tmp/artifacts
115
Note: See TracBrowser for help on using the repository browser.