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

        
         



              
                      


                                 
 



                              
         
                
                       
 

            
               

             
                                                                                   
                                      


                                
               
                                                  

                                
                                
                                         

                      
                    





                                                                                    
                                      



                                
                                                   


                                
                                         

                          
                    
 



                                                                                                                 
                                                                                                                           
                    
                                                            
                                       

                                                  



                                                                  
                                                                 





                                                     
                                                                     
            
                                 





























                                                                                                    
                 

              
                                                                                                                 
                                                                                                                           
                    
                                                            
                                        
                                                                                           
                                               



                                                                  
                                                                 






                                                      
                                 





























                                                                                                    



                                                                                                                 
                                                                                                                           



                                                  



                                                                  
                                                                 











                                                                  
            


                                                                                                                 
                                                                                                                           
                    
                                  
                                                                                 
                                               
                                                                
                                                                  

                                                                 
                                                                 



                                                      
                      

                            
                                                       
                                                     
                    




                                                                                                                 
                                                                                                                                             

                                            




                                                                                           

                                                                     
                                                                 
                                                                   
                                                                 














                                                                                                                 
                                                                                                                                             

                                            



                                                                                           

                                                                     
                                                                 
                                                                   
                                                                 









                                                                           

















































                                                                                                                           
stages:
  - test
  - build

before_script:
  - uname -a

image: debian:unstable
variables:
  GET_SOURCES_ATTEMPTS: "5"
  ARTIFACT_DOWNLOAD_ATTEMPTS: "5"

.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 gettext
  - ./.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 gettext 
                     zlib1g-dev libtool
  - ./.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

SDL_SDL-1.2_asan:
  stage: build
  script:
  - ./.ci/install.sh git mercurial bash gcc g++ make autoconf automake autopoint gettext libtool pkg-config cmake
                     libx11-dev libxext-dev libxt-dev libxv-dev x11proto-core-dev libgl1-mesa-dev libasound2-dev libicu-dev
  - ./.ci/copyspm.sh
  - export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libasan.so.4
  - ./.ci/buildlib.sh SDL SDL-1.2 _asan
  - ${runenvtool} ./.ci/buildlib.sh zlib master
  - ${runenvtool} ./.ci/buildlib.sh SDL_gfx master
  - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh libpng master
  - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh freetype master
  - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh libxml2 master
  - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh curl master
  - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh tinyxml2 4.0.1
  - ${runenvtool} ./.ci/buildlib.sh SDL_image SDL-1.2
  - ${runenvtool} ./.ci/buildlib.sh SDL_mixer SDL-1.2
  - ${runenvtool} ./.ci/buildlib.sh SDL_net SDL-1.2
  - ${runenvtool} ./.ci/buildlib.sh SDL_ttf SDL-1.2
  - export LD_PRELOAD
  - ./.ci/copyfinal.sh
  - grep "1.2" /usr/local/spm/bin/${installname}/lib/pkgconfig/sdl.pc
  variables:
    installname: SDL_SDL-1.2_asan
    runenvtool: /usr/local/spm/env/run${installname}.sh
    runenvtoolz: /usr/local/spm/env/runzlib_master.sh
    ASAN_OPTIONS: "detect_leaks=0"
    CXXFLAGS: "-fsanitize=address -fsanitize=undefined
               -fsanitize=shift -fsanitize=integer-divide-by-zero -fsanitize=unreachable
               -fsanitize=vla-bound -fsanitize=null -fsanitize=return
               -fsanitize=signed-integer-overflow -fsanitize=bounds -fsanitize=alignment
               -fsanitize=object-size -fsanitize=float-divide-by-zero -fsanitize=float-cast-overflow
               -fsanitize=nonnull-attribute -fsanitize=returns-nonnull-attribute -fsanitize=bool
               -fsanitize=enum -fsanitize=vptr -fsanitize=bounds-strict
               -fno-omit-frame-pointer"
    CFLAGS: "-fsanitize=address -fsanitize=undefined
             -fsanitize=shift -fsanitize=integer-divide-by-zero -fsanitize=unreachable
             -fsanitize=vla-bound -fsanitize=null -fsanitize=return
             -fsanitize=signed-integer-overflow -fsanitize=bounds -fsanitize=alignment
             -fsanitize=object-size -fsanitize=float-divide-by-zero -fsanitize=float-cast-overflow
             -fsanitize=nonnull-attribute -fsanitize=returns-nonnull-attribute -fsanitize=bool
             -fsanitize=enum -fsanitize=vptr -fsanitize=bounds-strict
             -fno-omit-frame-pointer"
    LDFLAGS: "-lasan -lubsan
              -fsanitize=address -fsanitize=undefined
              -fsanitize=shift -fsanitize=integer-divide-by-zero -fsanitize=unreachable
              -fsanitize=vla-bound -fsanitize=null -fsanitize=return
              -fsanitize=signed-integer-overflow -fsanitize=bounds -fsanitize=alignment
              -fsanitize=object-size -fsanitize=float-divide-by-zero -fsanitize=float-cast-overflow
              -fsanitize=nonnull-attribute -fsanitize=returns-nonnull-attribute -fsanitize=bool
              -fsanitize=enum -fsanitize=vptr -fsanitize=bounds-strict
              -fno-omit-frame-pointer"
  <<: *job-artifacts

SDL_default_asan:
  stage: build
  script:
  - ./.ci/install.sh git mercurial bash gcc g++ make autoconf automake autopoint gettext libtool pkg-config cmake
                     libx11-dev libxext-dev libxt-dev libxv-dev x11proto-core-dev libgl1-mesa-dev libasound2-dev libicu-dev
  - ./.ci/copyspm.sh
  - export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libasan.so.4
  - ./.ci/buildlib.sh SDL2 default _asan
  - cp /usr/local/spm/env/runSDL2_default_asan.sh /usr/local/spm/env/runSDL_default_asan.sh
  - ${runenvtool} ./.ci/buildlib.sh zlib master
  - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh libpng master
  - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh freetype master
  - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh libxml2 master
  - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh curl master
  - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh tinyxml2 4.0.1
  - ${runenvtool} ./.ci/buildlib.sh SDL2_image default
  - ${runenvtool} ./.ci/buildlib.sh SDL2_mixer default
  - ${runenvtool} ./.ci/buildlib.sh SDL2_net default
  - ${runenvtool} ./.ci/buildlib.sh SDL2_ttf default
  - export LD_PRELOAD
  - ./.ci/copyfinal.sh
  variables:
    installname: SDL_default_asan
    runenvtool: /usr/local/spm/env/run${installname}.sh
    runenvtoolz: /usr/local/spm/env/runzlib_master.sh
    ASAN_OPTIONS: "detect_leaks=0"
    CXXFLAGS: "-fsanitize=address -fsanitize=undefined
               -fsanitize=shift -fsanitize=integer-divide-by-zero -fsanitize=unreachable
               -fsanitize=vla-bound -fsanitize=null -fsanitize=return
               -fsanitize=signed-integer-overflow -fsanitize=bounds -fsanitize=alignment
               -fsanitize=object-size -fsanitize=float-divide-by-zero -fsanitize=float-cast-overflow
               -fsanitize=nonnull-attribute -fsanitize=returns-nonnull-attribute -fsanitize=bool
               -fsanitize=enum -fsanitize=vptr -fsanitize=bounds-strict
               -fno-omit-frame-pointer"
    CFLAGS: "-fsanitize=address -fsanitize=undefined
             -fsanitize=shift -fsanitize=integer-divide-by-zero -fsanitize=unreachable
             -fsanitize=vla-bound -fsanitize=null -fsanitize=return
             -fsanitize=signed-integer-overflow -fsanitize=bounds -fsanitize=alignment
             -fsanitize=object-size -fsanitize=float-divide-by-zero -fsanitize=float-cast-overflow
             -fsanitize=nonnull-attribute -fsanitize=returns-nonnull-attribute -fsanitize=bool
             -fsanitize=enum -fsanitize=vptr -fsanitize=bounds-strict
             -fno-omit-frame-pointer"
    LDFLAGS: "-lasan -lubsan
              -fsanitize=address -fsanitize=undefined
              -fsanitize=shift -fsanitize=integer-divide-by-zero -fsanitize=unreachable
              -fsanitize=vla-bound -fsanitize=null -fsanitize=return
              -fsanitize=signed-integer-overflow -fsanitize=bounds -fsanitize=alignment
              -fsanitize=object-size -fsanitize=float-divide-by-zero -fsanitize=float-cast-overflow
              -fsanitize=nonnull-attribute -fsanitize=returns-nonnull-attribute -fsanitize=bool
              -fsanitize=enum -fsanitize=vptr -fsanitize=bounds-strict
              -fno-omit-frame-pointer"
  <<: *job-artifacts

SDL_SDL-1.2:
  stage: build
  script:
  - ./.ci/install.sh git mercurial bash gcc g++ make autoconf automake autopoint gettext libtool pkg-config cmake
                     libx11-dev libxext-dev libxt-dev libxv-dev x11proto-core-dev libgl1-mesa-dev libasound2-dev libicu-dev
  - ./.ci/copyspm.sh
  - ./.ci/buildlib.sh SDL SDL-1.2
  - ${runenvtool} ./.ci/buildlib.sh zlib master
  - ${runenvtool} ./.ci/buildlib.sh SDL_gfx master
  - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh libpng master
  - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh freetype master
  - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh libxml2 master
  - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh curl master
  - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh tinyxml2 4.0.1
  - ${runenvtool} ./.ci/buildlib.sh SDL_image SDL-1.2
  - ${runenvtool} ./.ci/buildlib.sh SDL_mixer SDL-1.2
  - ${runenvtool} ./.ci/buildlib.sh SDL_net SDL-1.2
  - ${runenvtool} ./.ci/buildlib.sh SDL_ttf SDL-1.2
  - ./.ci/copyfinal.sh
  - grep "1.2" /usr/local/spm/bin/SDL_SDL-1.2/lib/pkgconfig/sdl.pc
  variables:
    installname: SDL_SDL-1.2
    runenvtool: /usr/local/spm/env/run${installname}.sh
    runenvtoolz: /usr/local/spm/env/runzlib_master.sh
  <<: *job-artifacts

SDL_default:
  stage: build
  script:
  - ./.ci/install.sh git mercurial bash gcc g++ make autoconf automake autopoint gettext libtool pkg-config cmake
                     libx11-dev libxext-dev libxt-dev libxv-dev x11proto-core-dev libgl1-mesa-dev libasound2-dev libicu-dev
  - ./.ci/copyspm.sh
  - ./.ci/buildlib.sh SDL2 default
  - cp /usr/local/spm/env/runSDL2_default.sh /usr/local/spm/env/runSDL_default.sh
  - ${runenvtool} ./.ci/buildlib.sh zlib master
  - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh libpng master
  - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh freetype master
  - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh libxml2 master
  - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh curl master
  - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh tinyxml2 4.0.1
  - ${runenvtool} ./.ci/buildlib.sh SDL2_image default
  - ${runenvtool} ./.ci/buildlib.sh SDL2_mixer default
  - ${runenvtool} ./.ci/buildlib.sh SDL2_net default
  - ${runenvtool} ./.ci/buildlib.sh SDL2_ttf default
  - ./.ci/copyfinal.sh
  variables:
    installname: SDL_default
    runenvtool: /usr/local/spm/env/run${installname}.sh
    runenvtoolz: /usr/local/spm/env/runzlib_master.sh
  <<: *job-artifacts

SDL_SDL-1.2_old:
  stage: build
  script:
  - ./.ci/install.sh git mercurial bash gcc g++ make autoconf automake autopoint gettext libtool pkg-config cmake
                     libx11-dev libxext-dev libxt-dev libxv-dev x11proto-core-dev libgl1-mesa-dev libglu1-mesa-dev libasound2-dev libicu-dev 
                     libjpeg-dev libtiff-dev
                     bison flex
  - ./.ci/copyspm.sh
  - ./.ci/buildlib.sh SDL release-1.2.15
  - cp /usr/local/spm/env/runSDL_release-1.2.15.sh /usr/local/spm/env/runSDL_SDL-1.2_old.sh
  - ${runenvtool} ./.ci/buildlib.sh zlib v1.2.5
  - ${runenvtool} ./.ci/buildlib.sh SDL_gfx master
  - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh libpng libpng10
  - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh freetype VER-2-4-9
  - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh libxml2 v2.9.1
  - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh curl curl-7_12_3
  - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh tinyxml2 2.0.2
  - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh SDL_image release-1.2.5
  - ${runenvtool} ./.ci/buildlib.sh SDL_mixer release-1.2.7
  - ${runenvtool} ./.ci/buildlib.sh SDL_net release-1.2.6
  - ${runenvtool} ./.ci/buildlib.sh SDL_ttf release-2.0.11
  - ./.ci/copyfinal.sh
  variables:
    installname: SDL_SDL-1.2_old
    runenvtool: /usr/local/spm/env/run${installname}.sh
    runenvtoolz: /usr/local/spm/env/runzlib_v1.2.5.sh
  <<: *job-artifacts

SDL_default_old:
  stage: build
  script:
  - ./.ci/install.sh git mercurial bash gcc g++ make autoconf automake autopoint gettext libtool pkg-config cmake
                     libx11-dev libxext-dev libxt-dev libxv-dev x11proto-core-dev libgl1-mesa-dev libglu1-mesa-dev libasound2-dev libicu-dev 
                     libjpeg-dev libtiff-dev
                     bison flex
  - ./.ci/copyspm.sh
  - ./.ci/buildlib.sh SDL2 release-2.0.0
  - cp /usr/local/spm/env/runSDL2_release-2.0.0.sh /usr/local/spm/env/runSDL_default_old.sh
  - ${runenvtool} ./.ci/buildlib.sh zlib v1.2.5
  - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh libpng libpng10
  - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh freetype VER-2-4-9
  - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh libxml2 v2.9.1
  - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh curl curl-7_12_3
  - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh tinyxml2 2.0.2
  - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh SDL2_image release-2.0.0
  - ${runenvtool} ./.ci/buildlib.sh SDL2_mixer release-2.0.0
  - ${runenvtool} ./.ci/buildlib.sh SDL2_net release-2.0.0
  - ${runenvtool} ./.ci/buildlib.sh SDL2_ttf release-2.0.12
  - ./.ci/copyfinal.sh
  variables:
    installname: SDL_default_old
    runenvtool: /usr/local/spm/env/run${installname}.sh
    runenvtoolz: /usr/local/spm/env/runzlib_v1.2.5.sh
  <<: *job-artifacts

SDL_203:
  stage: build
  script:
  - ./.ci/install.sh git mercurial bash gcc g++ make autoconf automake autopoint gettext libtool pkg-config cmake
                     libx11-dev libxext-dev libxt-dev libxv-dev x11proto-core-dev libgl1-mesa-dev libasound2-dev libicu-dev
  - ./.ci/copyspm.sh
  - ./.ci/buildlib.sh SDL2 release-2.0.3
  - cp /usr/local/spm/env/runSDL2_release-2.0.3.sh /usr/local/spm/env/runSDL_release-2.0.3.sh
  - ${runenvtool} ./.ci/buildlib.sh zlib master
  - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh libpng master
  - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh freetype master
  - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh libxml2 master
  - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh curl master
  - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh tinyxml2 4.0.1
  - ${runenvtool} ./.ci/buildlib.sh SDL2_image release-2.0.1
  - ${runenvtool} ./.ci/buildlib.sh SDL2_mixer release-2.0.1
  - ${runenvtool} ./.ci/buildlib.sh SDL2_net release-2.0.1
  - ${runenvtool} ./.ci/buildlib.sh SDL2_ttf release-2.0.13
  - ./.ci/copyfinal.sh
  variables:
    installname: SDL_203
    runenvtool: /usr/local/spm/env/run${installname}.sh
    runenvtoolz: /usr/local/spm/env/runzlib_master.sh
  <<: *job-artifacts

SDL_204:
  stage: build
  script:
  - ./.ci/install.sh git mercurial bash gcc g++ make autoconf automake autopoint gettext libtool pkg-config cmake
                     libx11-dev libxext-dev libxt-dev libxv-dev x11proto-core-dev libgl1-mesa-dev libasound2-dev libicu-dev
  - ./.ci/copyspm.sh
  - ./.ci/buildlib.sh SDL2 release-2.0.4
  - cp /usr/local/spm/env/runSDL2_release-2.0.4.sh /usr/local/spm/env/runSDL_release-2.0.4.sh
  - ${runenvtool} ./.ci/buildlib.sh zlib master
  - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh libpng master
  - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh freetype master
  - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh libxml2 master
  - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh curl master
  - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh tinyxml2 4.0.1
  - ${runenvtool} ./.ci/buildlib.sh SDL2_image release-2.0.1
  - ${runenvtool} ./.ci/buildlib.sh SDL2_mixer release-2.0.1
  - ${runenvtool} ./.ci/buildlib.sh SDL2_net release-2.0.1
  - ${runenvtool} ./.ci/buildlib.sh SDL2_ttf release-2.0.14
  - ./.ci/copyfinal.sh
  variables:
    installname: SDL_204
    runenvtool: /usr/local/spm/env/run${installname}.sh
    runenvtoolz: /usr/local/spm/env/runzlib_master.sh
  <<: *job-artifacts