File: azure-pipelines.yml

package info (click to toggle)
megahit 1.2.9-2
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 1,752 kB
  • sloc: cpp: 19,025; ansic: 3,763; python: 830; sh: 56; makefile: 8
file content (90 lines) | stat: -rw-r--r-- 3,168 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
jobs:
  - job: ubuntu_1604
    pool:
      vmImage: 'Ubuntu-16.04'
    strategy:
      matrix:
        python36:
          python.version: '3.6'
          build.type: 'Debug'
          sanitizer: 'ON'
          static: 'OFF'
        Python27:
          python.version: '2.7'
          build.type: 'Release'
          sanitizer: 'OFF'
          static: 'ON'
    steps:
      - task: UsePythonVersion@0
        inputs:
          versionSpec: '$(python.version)'
          addToPath: true
      - script: |
          mkdir build
          cd build
          cmake -DCMAKE_BUILD_TYPE=$(build.type) -DSANITIZER=$(sanitizer) -DSTATIC_BUILD=$(static) ..
          make simple_test -j `nproc`
        displayName: 'build and test'

  - job: macos
    strategy:
      matrix:
        1013:
          image: macos-10.13
        latest:
          image: macos-latest
    pool:
      vmImage: $(image)
    steps:
      - script: |
          brew install cmake gcc@9 zlib bzip2
        displayName: 'install dependencies'
      - script: |
          mkdir build
          cd build
          CC=gcc-9 CXX=g++-9 cmake ..
          make simple_test -j `sysctl -n hw.physicalcpu`
        displayName: 'build and test'

  - job: assembly
    timeoutInMinutes: 0
    strategy:
      matrix:
        codecov:
          build.type: 'Release'
          sanitizer: 'OFF'
          coverage: 'ON'
        sanitize:
          build.type: 'Debug'
          sanitizer: 'ON'
          coverage: 'OFF'
    pool:
      vmImage: 'Ubuntu-16.04'
    steps:
      - script: |
          mkdir build
          cd build
          cmake -DCMAKE_BUILD_TYPE=$(build.type) -DSANITIZER=$(sanitizer) -DCOVERAGE=$(coverage) ..
          make -j `nproc`
          make simple_test
          sudo make install
        displayName: 'build and test'
      - script: |
          curl -o- ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR752/007/SRR7521507/SRR7521507_1.fastq.gz | gzip -cd | head -4000000 | gzip -1 > 1.fq.gz
          curl -o- ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR752/007/SRR7521507/SRR7521507_2.fastq.gz | gzip -cd | head -4000000 | gzip -1 > 2.fq.gz
          megahit --presets meta-large -1 1.fq.gz -2 2.fq.gz -m5e9 --verbose
        displayName: 'assemble'
      - script: |
          if [ $(coverage) = 'ON' ]; then
            wget http://downloads.sourceforge.net/ltp/lcov-1.14.tar.gz
            tar zvxf lcov-1.14.tar.gz
            export PATH=lcov-1.14/bin/:${PATH}
            lcov --capture --directory . --output-file coverage.info
            lcov --remove coverage.info '/usr/*' --output-file coverage.info # filter system-files
            lcov --remove coverage.info '*xxhash/*' --output-file coverage.info # filter xxhash-files
            lcov --remove coverage.info '*parallel_hashmap/*' --output-file coverage.info # filter parallel-hashmap-files
            lcov --remove coverage.info '*pprintpp/*' --output-file coverage.info # filter pprintpp files
            lcov --list coverage.info # debug info
            bash <(curl -s https://codecov.io/bash) -f coverage.info -t $(CODECOV_TOKEN) || echo "Codecov did not collect coverage reports"
          fi
        displayName: 'codecov'