summaryrefslogblamecommitdiff
path: root/.gitlab-ci.yml
blob: 02f69b92405074c2dabecb7f98a63d7bf7cbd65e (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12

         
        
          







               











                                                  



                                            
                         




                                            
                         
 
      

              
                                           
                      
 



                                           
                                   
 











                                              





                                              

       











                                                                                 




                                                              
                         
 
                 
             

                                                              
                         

               
             

                                                             
                      

               
             



                                                             


                     
                                                                           
                         



                   
                                                                          
                      
 
                   
             



                                                                          



                                                         
                         




                                                         
                         




                                                        
                      






                                                        





                                            

        




                                                                           
                         
 
                            
               
         
                                                                          
                      
 







                        

                      






                        

                      
stages:
  - build
  - test
  - legacy
  - success
  - failure

before_script:
  - uname -a

# simple builds

gcc-snapshot:
  stage: build
  script:
  - ./tools/ci/jobs/gccsnapshot.sh --enable-werror
  image: debian:unstable

gcc-snapshot-i386:
  stage: build
  script:
  - ./tools/ci/jobs/gccsnapshot.sh --enable-werror
  image: vicamo/debian:sid-i386

gcc-4.8:
  stage: build
  script:
  - ./tools/ci/jobs/gcc48.sh --enable-werror
  image: debian:oldstable

gcc-4.9:
  stage: build
  script:
  - ./tools/ci/jobs/gcc49.sh --enable-werror
  image: debian:oldstable

gcc-5:
  stage: build
  script:
  - ./tools/ci/jobs/gcc5.sh --enable-werror
  image: debian:stable

gcc-5-i386:
  stage: build
  script:
  - ./tools/ci/jobs/gcc5.sh --enable-werror
  image: vicamo/debian:stretch-i386

gcc-6:
  stage: build
  script:
  - ./tools/ci/jobs/gcc6.sh --enable-werror
  image: debian:unstable

clang-3.9:
  stage: build
  script:
  - ./tools/ci/jobs/clang39.sh --enable-werror
  image: debian:unstable

clang-3.9-i386:
  stage: build
  script:
  - ./tools/ci/jobs/clang39.sh --enable-werror
  image: vicamo/debian:sid-i386

# tests

gcc-snapshot_lto-sanitize:
  stage: test
  script:
  - ./tools/ci/jobs/gccsnapshot.sh --enable-werror --enable-lto --enable-sanitize
  image: debian:unstable

gcc-snapshot-sanitize:
  stage: test
  script:
  - ./tools/ci/jobs/gccsnapshot.sh --enable-werror --enable-sanitize
  image: debian:unstable

gcc-4.8-sanitize:
  stage: test
  script:
  - echo "should disable sanitize"
  - ./tools/ci/jobs/gcc48.sh --enable-werror --enable-sanitize
  image: debian:oldstable

gcc-4.9-sanitize:
  stage: test
  script:
  - ./tools/ci/jobs/gcc49.sh --enable-werror --enable-sanitize
  image: debian:oldstable

gcc-5-sanitize:
  stage: test
  script:
  - ./tools/ci/jobs/gcc5.sh --enable-werror --enable-sanitize
  image: debian:stable

gcc-6-sanitize:
  stage: test
  script:
  - ./tools/ci/jobs/gcc6.sh --enable-werror --enable-sanitize
  image: debian:unstable

gcc-4.9_lto-sanitize:
  stage: test
  script:
  - ./tools/ci/jobs/gcc49.sh --enable-werror --enable-lto --enable-sanitize
  image: debian:oldstable

gcc-5_lto-sanitize:
  stage: test
  script:
  - ./tools/ci/jobs/gcc5.sh --enable-werror --enable-lto --enable-sanitize
  image: debian:stable

gcc-6_lto-sanitize:
  stage: test
  script:
  - ./tools/ci/jobs/gcc6.sh --enable-werror --enable-lto --enable-sanitize
  image: debian:unstable

gcc-4.8-lto:
  stage: test
  script:
  - ./tools/ci/jobs/gcc48.sh --enable-werror --enable-lto
  image: debian:oldstable

gcc-4.9-lto:
  stage: test
  script:
  - ./tools/ci/jobs/gcc49.sh --enable-werror --enable-lto
  image: debian:oldstable

gcc-5-lto:
  stage: test
  script:
  - ./tools/ci/jobs/gcc5.sh --enable-werror --enable-lto
  image: debian:stable

gcc-6_lto:
  stage: test
  script:
  - ./tools/ci/jobs/gcc6.sh --enable-werror --enable-lto
  image: debian:unstable

gcc-4.6:
  stage: test
  script:
  - ./tools/ci/jobs/gcc46.sh --enable-werror
  image: debian:oldstable

# legacy

gcc-4.8_stable_lto-sanitize:
  stage: legacy
  script:
  - echo "should disable lto and sanitize"
  - ./tools/ci/jobs/gcc48.sh --enable-werror --enable-lto --enable-sanitize
  image: debian:oldstable

gcc-5_unstable_lto-sanitize:
  stage: legacy
  script:
  - ./tools/ci/jobs/gcc5.sh --enable-werror --enable-lto --enable-sanitize
  image: debian:stable

# reports

success:
  stage: success
  script:
  - echo "do nothing"
  image: debian:unstable
  when: on_success
  variables:
    GIT_STRATEGY: none

failure:
  stage: failure
  script:
  - echo "do nothing"
  image: debian:unstable
  when: on_failure
  variables:
    GIT_STRATEGY: none