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

        
         
            


              

                       
 
                      


                                 
                                                                                                       
 



                              
         
                
                       
 

            
               

             

                                                                                                    
                                      


                                
               
                                                  

                                
                                
                                         

                      
                    



               

                                                                                                    
                                      



                                
                                                   


                                
                                         

                          
                    



                

                                                                                                    










                                                                        

                                                                                                    










                                                                            

                                                                                                    










                                                                            

                                                                                                    










                                                                            

                                                                                                    






                                                                            








                                                                                                                  
                                                                      

                     
                                                                                                          















                                                                                                                  
                                                                      

                     
                                                                                                          















                                                                                                                  
                                                                      

                     
                                                                                                          















                                                                                                                  
                                                                      

                     
                                                                                                          















                                                                                                                  
                                                                      

                     
                                                                                                          







                                                                                                     
stages:
  - test
  - build
  - manaplus

before_script:
  - uname -a
  - cat /etc/os-release
  - mkdir logs || true

image: debian:unstable
variables:
  GET_SOURCES_ATTEMPTS: "5"
  ARTIFACT_DOWNLOAD_ATTEMPTS: "5"
  MANAPLUS_CLONE: "git clone --branch master --depth 1 https://gitlab.com/manaplus/manaplus.git cloned"

.job-artifacts: &job-artifacts
  artifacts:
    paths:
    - logs
    - bin
    when: always
    expire_in: 3 months

# self tests

test:commands1:
  stage: test
  script:
  - ./.ci/install.sh git-core bash gcc g++ make autoconf automake autopoint cmake gettext pkg-config
                     zlib1g-dev libtool libicu-dev
  - ./.ci/runretry.sh ./getsrc.sh zlib
  - ls src/zlib
  - ./.ci/run.sh ./build.sh zlib
  - ls bin/zlib
  - ls tmp/zlib
  - grep "1.2.10" ./bin/zlib/lib/pkgconfig/zlib.pc
  - ./.ci/run.sh ./clean.sh zlib
  - mkdir bin/zlib
  - ./.ci/run.sh ./clean.sh zlib
  - ./.ci/runretry.sh ./updatesrc.sh zlib
  variables:
    srcbranch: v1.2.10
  <<: *job-artifacts

test:commands2:
  stage: test
  script:
  - ./.ci/install.sh git-core bash gcc g++ make autoconf automake autopoint cmake gettext pkg-config
                     zlib1g-dev libtool libicu-dev
  - ./.ci/runretry.sh ./getsrc.sh curl
  - ls src/curl
  - ./.ci/run.sh ./build.sh curl
  - ls bin/curl
  - ls tmp/curl
  - grep "7.51" ./bin/curl/lib/pkgconfig/libcurl.pc
  - ./.ci/run.sh ./clean.sh curl
  - mkdir bin/curl
  - ./.ci/run.sh ./clean.sh curl
  - ./.ci/runretry.sh ./updatesrc.sh curl
  variables:
    srcbranch: curl-7_51_0
  <<: *job-artifacts

tinyxml2_master:
  stage: build
  script:
  - ./.ci/install.sh git-core bash gcc g++ make autoconf automake autopoint cmake gettext pkg-config
                     zlib1g-dev libtool libicu-dev
  - ./.ci/copyspm.sh
  - ./.ci/buildlib.sh tinyxml2 master
  - grep "2" /usr/local/spm/bin/${installname}/lib/pkgconfig/tinyxml2.pc
  - ./.ci/copyfinal.sh
  variables:
    installname: tinyxml2_master
  <<: *job-artifacts

tinyxml2_5.0.1:
  stage: build
  script:
  - ./.ci/install.sh git-core bash gcc g++ make autoconf automake autopoint cmake gettext pkg-config
                     zlib1g-dev libtool libicu-dev
  - ./.ci/copyspm.sh
  - ./.ci/buildlib.sh tinyxml2 5.0.1
  - grep "5.0.1" /usr/local/spm/bin/${installname}/lib/pkgconfig/tinyxml2.pc
  - ./.ci/copyfinal.sh
  variables:
    installname: tinyxml2_5.0.1
  <<: *job-artifacts

tinyxml2_4.0.1:
  stage: build
  script:
  - ./.ci/install.sh git-core bash gcc g++ make autoconf automake autopoint cmake gettext pkg-config
                     zlib1g-dev libtool libicu-dev
  - ./.ci/copyspm.sh
  - ./.ci/buildlib.sh tinyxml2 4.0.1
  - grep "4.0.1" /usr/local/spm/bin/${installname}/lib/pkgconfig/tinyxml2.pc
  - ./.ci/copyfinal.sh
  variables:
    installname: tinyxml2_4.0.1
  <<: *job-artifacts

tinyxml2_3.0.0:
  stage: build
  script:
  - ./.ci/install.sh git-core bash gcc g++ make autoconf automake autopoint cmake gettext pkg-config
                     zlib1g-dev libtool libicu-dev
  - ./.ci/copyspm.sh
  - ./.ci/buildlib.sh tinyxml2 3.0.0
  - grep "3.0.0" /usr/local/spm/bin/${installname}/lib/pkgconfig/tinyxml2.pc
  - ./.ci/copyfinal.sh
  variables:
    installname: tinyxml2_3.0.0
  <<: *job-artifacts

tinyxml2_2.2.0:
  stage: build
  script:
  - ./.ci/install.sh git-core bash gcc g++ make autoconf automake autopoint cmake gettext pkg-config
                     zlib1g-dev libtool libicu-dev
  - ./.ci/copyspm.sh
  - ./.ci/buildlib.sh tinyxml2 2.2.0
  - grep "2.2.0" /usr/local/spm/bin/${installname}/lib/pkgconfig/tinyxml2.pc
  - ./.ci/copyfinal.sh
  variables:
    installname: tinyxml2_2.2.0
  <<: *job-artifacts


manaplus_master:
  stage: manaplus
  script:
  - ./.ci/install.sh gcc-7 g++-7 
                     make autoconf automake autopoint gettext 
                     libcurl4-gnutls-dev libpng-dev zlib1g-dev libicu-dev 
                     libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev
                     git wget unzip gdb valgrind netcat-openbsd procps
  - ./.ci/clonesrc.sh
  - cd cloned
  - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ./tools/ci/jobs/gcc7.sh --enable-libxml=tinyxml2
  - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ./tools/ci/scripts/checkldd.sh src/manaplus
  - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ./tools/ci/scripts/runtests.sh
  variables:
    LIBNAME: tinyxml2
    LIBVERSION: master
  dependencies:
    - tinyxml2_master
  <<: *job-artifacts

manaplus_5.0.1:
  stage: manaplus
  script:
  - ./.ci/install.sh gcc-7 g++-7 
                     make autoconf automake autopoint gettext 
                     libcurl4-gnutls-dev libpng-dev zlib1g-dev libicu-dev 
                     libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev
                     git wget unzip gdb valgrind netcat-openbsd procps
  - ./.ci/clonesrc.sh
  - cd cloned
  - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ./tools/ci/jobs/gcc7.sh --enable-libxml=tinyxml2
  - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ./tools/ci/scripts/checkldd.sh src/manaplus
  - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ./tools/ci/scripts/runtests.sh
  variables:
    LIBNAME: tinyxml2
    LIBVERSION: 5.0.1
  dependencies:
    - tinyxml2_5.0.1
  <<: *job-artifacts

manaplus_4.0.1:
  stage: manaplus
  script:
  - ./.ci/install.sh gcc-7 g++-7 
                     make autoconf automake autopoint gettext 
                     libcurl4-gnutls-dev libpng-dev zlib1g-dev libicu-dev 
                     libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev
                     git wget unzip gdb valgrind netcat-openbsd procps
  - ./.ci/clonesrc.sh
  - cd cloned
  - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ./tools/ci/jobs/gcc7.sh --enable-libxml=tinyxml2
  - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ./tools/ci/scripts/checkldd.sh src/manaplus
  - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ./tools/ci/scripts/runtests.sh
  variables:
    LIBNAME: tinyxml2
    LIBVERSION: 4.0.1
  dependencies:
    - tinyxml2_4.0.1
  <<: *job-artifacts

manaplus_3.0.0:
  stage: manaplus
  script:
  - ./.ci/install.sh gcc-7 g++-7 
                     make autoconf automake autopoint gettext 
                     libcurl4-gnutls-dev libpng-dev zlib1g-dev libicu-dev 
                     libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev
                     git wget unzip gdb valgrind netcat-openbsd procps
  - ./.ci/clonesrc.sh
  - cd cloned
  - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ./tools/ci/jobs/gcc7.sh --enable-libxml=tinyxml2
  - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ./tools/ci/scripts/checkldd.sh src/manaplus
  - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ./tools/ci/scripts/runtests.sh
  variables:
    LIBNAME: tinyxml2
    LIBVERSION: 3.0.0
  dependencies:
    - tinyxml2_3.0.0
  <<: *job-artifacts

manaplus_2.2.0:
  stage: manaplus
  script:
  - ./.ci/install.sh gcc-7 g++-7 
                     make autoconf automake autopoint gettext 
                     libcurl4-gnutls-dev libpng-dev zlib1g-dev libicu-dev 
                     libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev
                     git wget unzip gdb valgrind netcat-openbsd procps
  - ./.ci/clonesrc.sh
  - cd cloned
  - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ./tools/ci/jobs/gcc7.sh --enable-libxml=tinyxml2
  - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ./tools/ci/scripts/checkldd.sh src/manaplus
  - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ./tools/ci/scripts/runtests.sh
  variables:
    LIBNAME: tinyxml2
    LIBVERSION: 2.2.0
  dependencies:
    - tinyxml2_2.2.0
  <<: *job-artifacts