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

         
         
 
                                        
              


                            
                                          

                           

                                                               

                                       
 
                      
          

                                 


                                                
                                                  
                
 



                    
                   

                     


                        


            
                   
                
                     
                  
 
                 

              
                                                                              
               
            


                                                         


                                                                                                            


            
                      

              
                                                                                   
               
            
                          
                                                       
                                                         


                                                                                                              

            
 



                              

            
                      

                     
                  

                               

                                                                                                           








                               

            
                    

                     
                  
            
                       
                                            










                            


               

                           

                             





                     
stages:
  - build
  - stats

# with :; prevent from run it on windows
before_script:
  - ":; uname -a"
  - ":; cat /etc/os-release"
  - ":; pwd"
  - ":; cat /proc/sys/kernel/core_pattern"
  - ":; mkdir logs || true"
  - ":; ${UPDATEREPOS}"
  - ":; ${DOCKERRETRY} ${PMUPDATE} >logs/apt.log"
  - ":; ${DOCKERRETRY} ${PMINSTALL} ${PACKAGES} >>logs/apt.log"
  - ":; ./tools/ci/scripts/clonesrc.sh"
  - ":; cd manaplus"

image: debian:unstable
variables:
  GET_SOURCES_ATTEMPTS: "5"
  ARTIFACT_DOWNLOAD_ATTEMPTS: "5"
  UPDATEREPOS: "tools/ci/scripts/updaterepos.sh"
  PMUPDATE: "apt-get update"
  PMINSTALL: "apt-get install -y -qq"
  DOCKERRETRY: "./tools/ci/scripts/dockerretry.sh"
  GIT_DEPTH: "1"

.job-push: &job-push
  artifacts:
    paths:
    - logs
    - manaplus/logs
    when: always
    expire_in: 3 week
  dependencies: []

.job-always: &job-always
  artifacts:
    paths:
    - logs
    - manaplus/logs
    when: always
    expire_in: 3 week
  dependencies: []

gcc-7_tests_gcov:
  stage: build
  script:
  - ./tools/ci/jobs/gcc7_tests_gcov.sh --without-dyecmd --without-manaplusgame
  <<: *job-push
  variables:
    PACKAGES: gcc-7 g++-7 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev 
              gcovr 
              valgrind
  tags:
    - docker

gcc-7_sdl2_tests_gcov:
  stage: build
  script:
  - ./tools/ci/jobs/gcc7_sdl2_tests_gcov.sh --without-dyecmd --without-manaplusgame
  <<: *job-push
  variables:
    PACKAGES: gcc-7 g++-7 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl2-dev libsdl2-gfx-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-net-dev libsdl2-ttf-dev 
              gcovr
              valgrind
  tags:
    - docker

doxygen:
  stage: build
  script:
  - ./tools/ci/jobs/doxygen.sh
  artifacts:
    paths:
    - manaplus/doxygen
    expire_in: 3 week
    when: always
  dependencies: []
  variables:
    PACKAGES: doxygen graphviz 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev
  tags:
    - docker
  only:
    - master

gitstats:
  stage: build
  script:
  - ./tools/ci/jobs/gitstats.sh
  artifacts:
    paths:
    - manaplus/stats
    expire_in: 3 week
    when: always
  dependencies: []
  variables:
    GIT_DEPTH: "100000"
    PACKAGES: python zlib1g git-core gnuplot
  tags:
    - docker
  only:
    - master

# stats

pages:
  stage: stats
  script:
  - ./tools/ci/jobs/pages.sh
  dependencies:
    - doxygen
    - gitstats
    - gcc-7_tests_gcov
    - gcc-7_sdl2_tests_gcov
  variables:
    PACKAGES: git-core python
  artifacts:
    paths:
    - public
    expire_in: 3 week
  only:
    - master