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

        
 
                                        
              


                            
                                          

                           

                                                               
 
                      
          

                                 


                                                
                                                  
                
 










                        


            
                
                     
                  
 

                                          
                  




                                                         




                                                                                                           
                  




                                                          


                                                                                                 

           
                 
                 
         
                                 
                                  
                               
               
            
                          
                                                       
                                                         
                                                                                                            
                                                

            
 
           
                 
         
                           
                                  
                               
               
            
                          
                                                       

                                                                                                           
                                                


            















                                                                                                           
          
                 
         
                              
                                  
               
            
                                                 
                                                       

                                                                                                           
                                                
 
      
                 

                           
                                  
               

                          
                                                       

                                                                                                           
                                                
 












                                                                                                           














                                                                                                           
                                                
 
















                                                                                                           
        
                 

                            
                                  
                      
               

                              
                                                       

                                                                                                           
                                                

            
 
                   
                 

           
                               
               
                                                        





                                  
                   
                 

           
                               
               
                                                        





                                    
                            
                 

           
                                                                             






                     
                                                        


                                  

              


            
                            
                 

           
                                                                             






                     
                                                        


                                    

              


            
           
                 

                                
                                  

                                      
               

                          
                                                       

                                                                                                 
                                                
 
                
                 
         
                                            
                                  
               
            
                          
                                                       

                                                                                                           
                                                
 
                  
                 
         
                                                  
               
            
                          
                                                       


                                                                                                           
                   
                 
         
                                                                                                
               
            
                          



                                                                                                           
          
                 

                                
               


                                                      

           
                 

                                 
               


                                                      

            
                 

                                  
               


                                                      

        
                 

                              
               

                         

            
                 
         
                                                                                                                                 
                                                                                                       
                                                                                                                                                               

                                                                                                                    
               

                          
                                                       

                                                                                                           
 
                 
                 
         
                                                                                                                                 
                                                                                                       
                                                                                                                                                               

                                                                                                                    
                               
               

                          
                                                       

                                                                                                           


            
         
                 

                               
               

                      
 
         
                 

                                      
               

                         
 







                                   

       

                              































                                                                                                             
                                                                      
                    















                                                                                                           

                                  



                                                                         
                                                            
                                                                                   
                                                                                                                                                                                     

                                                                                                                                
                                            
               


                            
                          
                                                                  
                                                                                                                                      

                        
           





                                                                             

                                  


                                                              

                                                                                                                                                                                                 

                                                                                                                                
                                            
               


                            
                          
                                                                  
                                                                                                                     

                        
           





                                                                             



                                          
                                            
               

                          
                                                       


                                                                                                            


            
                          

              


                                                                                  
               
            
                          
                                                       


                                                                                                            


            

                              





























                                                                                                             
                               

              
                                                                                                   
                                            
               

                          
                                                       


                                                                                                            


            
                                   

              
                                                                                                   
                                            
                               
               

                          
                                                       


                                                                                                            


            






























                                                                                                            

               

              
                                    
                                  
               

                          
                                                       
                                                         
                                                                                                           
                                                


            















                                                                                                           

                         


                                    
                                  
               




                                                                                                           
                                                






                                    
                                  
                               
               




                                                                                                           
                                                


            

                         













                                                                                                           
 




                                                                                         
               

                       

                                                                                                                                                                                                                                                                                                            
                         







                                                                                                     
               

                       

                                                                                                                                                                                                                                                                                                                                   
                         



          

                                 




                                                                                   
                                                                                                                                                                                     

                                                                                                                                
               


                       
                          
                                                                  
                                                                                                                                      






                                                                             

                                 


                                                              
                                                                                                                                                                                                 

                                                                                                                                
               


                       
                          
                                                                  
                                                                                                                     







                                                                             

                                     




                                                                                   
                                                                                                                                                                                     

                                                                                                                                
               


                           
                          
                                                                  
                                                                                                                                      








                                                                             

                                     


                                                              
                                                                                                                                                                                                 

                                                                                                                                
               


                           
                          
                                                                  
                                                                                                                     








                                                                             









































                                                                                                              



                                                                              
               



                                                         

                                                                                                            


            













                                                                                                            





























                                                                                                            






























                                                                                                            






























                                                                                                            


              
                                                  
               

                          
                                                       


                                                                                                            

            



                 
                                                                         
                               
               

                          
                                                       


                                                                                                            


            
                 

              
                                                                              
               
            
                          
                                                       



                                                                                                            

            
 




























                                                                                                            


                 
                                                                         
                               
               

                          
                                                       


                                                                                                            


            



                                                                                             
               

                          
                                                       





                                                                                                            
            

              
                                                                                             










                                                                                                            






                                                                                                 
                                                       





                                                                                                            
                         

              
                                                                                                 
                               
               
            
                          
                                                       





                                                                                                            




                                                                                             
               

                          
                                                       





                                                                                                            














                                                                                                            














                                                                                                            















                                                                                                              

              
                                                                              
               

                          
                                                       



                                                                                                              





                      
                                                                              
                               
               

                          
                                                       





                                                                                                              














                                                                                                              
                 

              
                                                                                 










                                                                                                 
                      

              
                                                                              
                               
               

                          
                                                       


                                                                                                 


            


                           
                                                                                               
               

                          
                                                       


                                                                                                 





                                
                                                                                               
                               
               

                          
                                                       


                                                                                                 


            






                                                                                                                                                                                                                                 
               
















                                                                                                                                                                                                                                 
               








                                                                                                            


































                                                                                                                                                                                                                                 
                

              
                                                                            

               
                                                                  






                                                                                                           
                     

              
                                                                            


                               
                                                                  






                                                                                                           
                     

              
                                                                                        

               
                                                                  






                                                                                                 
                          

              
                                                                                        


                               
                                                                  






                                                                                                 
                    


                
                                                                                              

               
                          







                                                                                                            
                         


                
                                                                                              


                               
                          







                                                                                                            
































                                                                                                          

























































                                                                                                            
                       
              










                                                                                                            

                                              
              























                                                                                                            
              






















                                                                                                                    
              























                                                                                                            
              






















                                                                                                                    






























                                                                                                           



                               
                                  
               

                          
                                                       

                                                                                                           
                                                




                               
                                  
                               
               

                          
                                                       

                                                                                                           
                                                


            





















































                                                                                                           





















































                                                                                                           


                    
                                                                                 
               

                          
                                                       


                                                                                                            
 
                     

              

                                                                          
               


                     

                     


            
                          

              

                                                                                      
               


                     

                     


            

               
                
              















                                                            
              














                                                               



                           
                                  
                                                             
               









                                       
                                  
                                                             
               





                     



                            
                                  
                                                              
               











                                        
                                  
                                                              
               











                            
                                  
                                                              
               











                                        
                                  
                                                              
               







                     



                            
                                  
                                  
               

                              
                                                       

                                                                                                           
                                                


            



                            
                                  
                     
               

                              
                                                       

                                                                                                           
                                                

            
 



                            
                                  
                      
               

                              
                                                       

                                                                                                           
                                                

            
 



                            
                                  
                                  
               

                              
                                                       

                                                                                                           
                                                


            



                            
                                  

                                  
                      
               

                              
                                                       

                                                                                                           
                                                

            
 



                            
                                  
                                  
               

                              
                                                       

                                                                                                           
                                                


            



                            
                                  

                                  
                      
               

                              
                                                       

                                                                                                           
                                                
 



                            
                                  
                                  
               

                              
                                                       

                                                                                                           
                                                


            


              
                                  
                                  
                      
               

                               
                                                       

                                                                                                           
                                                

            
 


               
                                  
                                  
                                  
               

                               
                                                       

                                                                                                           
                                                


            



                                      
                                  
                     
               

                                   
                                                       

                                                                                                           
                                                






                                      
                                  
                                   
               

                                   
                                                       

                                                                                                           
                                                


            



                              
                                  
                      
               

                                   
                                                       

                                                                                                           
                                                
 



                              
                                  
                                  
               

                                   
                                                       

                                                                                                           
                                                


            



                              
                                  
                      
               

                                   
                                                       

                                                                                                           
                                                
 



                              
                                  
                                  
               

                                   
                                                       

                                                                                                           
                                                


            



                              
                                  
                     
               

                                   
                                                       

                                                                                                           
                                                






                              
                                  
                                  
               

                                   
                                                       

                                                                                                           
                                                






                              
                                  
                     
               

                                   
                                                       

                                                                                                           
                                                






                              
                                  
                                  
               

                                   
                                                       

                                                                                                           
                                                






                              
                                  
                     
               

                                                 
                                                       

                                                                                                           
                                                






                              
                                  
                                  
               

                                                 
                                                       

                                                                                                           
                                                


            
                 


                                       
                                  
               

                                                 
                                                       

                                                                                                           
                                                
 



                                       
                                  
                               
               

                                                 
                                                       

                                                                                                           
                                                


            
                           
              
         
                                                        
                                  
               
            
                          


                                                                                                           
                                                
 



                            
                                  

                                  
                      
               

                              
                                                       

                                                                                                           
                                                
 



                            
                                  
                                  
               

                              
                                                       

                                                                                                           
                                                


            



                                  
                                  
                      
               

                              
                                 

                                                                                                           
                                                

            
 
          
              

                              
                                  
               

                                                 
                                                       

                                                                                                           
                                                

            
 














                                                                                                           
          

              















                                                                                                           



                                  
                                                                  






                                                                                                           






























                                                                                                 
      

              
                                           
                                  
                                 
                                  
               

                          
                                                       

                                                                                                           
                                                
 



                                      
                                  
                               
               

                          
                                                       

                                                                                                 
                                                


            



                                  
                                  
               

                           
                                                       

                                                                                                           
                                                
 
                  


                                  
                                  
                               
               

                           
                                                       

                                                                                                           
                                                


            



                                       
                                  
               

                           
                                                       

                                                                                                 
                                                
 
                       


                                       
                                  
                               
               

                           
                                                       

                                                                                                 
                                                


            



                                                             





                                                                                                           




                                                                         





                                                                                                 
 

























                                                                                                           

























                                                                                                           
                         

              
                                                            
                                  
               
            
                          
                                                       

                                                                                                           
                                                
 












                                                                                                 
                   

              
                                                              
                                  
               

                          
                                                       

                                                                                                           
                                                
 












                                                                                                 
                         

              
                                                                            
                                  
               

                          
                                                       

                                                                                                           
                                                
 












                                                                                                 
               


                                              
                                  
                      
               

                              
                                                       

                                                                                                           
                                                
 



                                             
                                  
               

                          
                                                       

                                                                                                           
                                                




                                             
                                  
               

                          
                                                       

                                                                                                           
                                                
 
               

              
                                             
                                  
               
            













                                                                                                           
                                                       

                                                                                                           
                                                
 
                   

              
                                                   
                                  
                               
               
            
                          
                                                       

                                                                                                           
                                                
 
                   

              
                                                               
                                  
               
            
                          
                                                       

                                                                                                 
                                                
 
                        

              
                                                               
                                  
               
            
                          
                                                       

                                                                                                 
                                                
 


              
                                                                             
                                  
               
            
                          
                                                       

                                                                                                           
                                                
 



                                   
                                  
               

                                                 
                                                       

                                                                                                 
                                                
 
                 

              
                                             
                                  
               
            
                          
                                                       

                                                                                                           
                                                
 


              
                                        
                                  
                      
               

                              
                                                       

                                                                                                 
                                                



              
                                        
                                  
                      
               

                              
                                                       

                                                                                                 
                                                
 















                                                                                                           
                                                


            



















                                                                                                           














                                                                                                           
                                                
















                                                                                                           
                                                


            
              
              

                                   
               

                          
                                                       

                                                                                                           
 
                          


                                                                                
               

                       

                                                                                                                                                                                                                                                                                   
                         


          
                               


                                                                                            
               

                       

                                                                                                                                                                                                                                                                                                          
                         


          



                                  
                                  
               

                       

                                                                                                                                                                                                                                                                             
                         





                         
                                              
                                  
               

                       

                                                                                                                                                                                                                                                                                                    
                         


          
                                   
                       


                                                              
                                                                                 
                                                                                                     
                                                                                        
               


                       
                          
                                                       

                                                                                                           
                                                           


            

                            




                                                                                   
                                                                                                                
                                                                                                              




                                       
                          
                                                                  
                                                                                                                                      
                                     





                                                                             

                            


                                                              
                                                                                                                            
                                                                                                              




                                       
                          
                                                                  
                                                                                                                     
                                     






                                                                             

                                




                                                                                   
                                                                                                                
                                                                                                              




                                       
                          
                                                                  
                                                                                                                                      
                                     







                                                                             

                                


                                                              
                                                                                                                            
                                                                                                              

                                       


                           
                          
                                                                  
                                                                                                                     
                                     







                                                                             
                            

              
                                                                        
                               
                                                                                                  
                                
               
                          
 
                                 

              
                                                                                   
                               
                                                                                                  
                                
               
                               
 
                     

              
                                                           
                               
                                                                                                  
                                
               
                          
 
                          

              
                                                                      
                               
                                                                                                  
                                
               
                               
 
                             

              
                                                                          
                               
                                                                                                  
                                
               








                                                                                                           
 
                                  

              
                                                                                     
                               
                                                                                                  
                                
               








                                                                                                 
 
                       

              
                                                         
                               

                                                                                                  
                                
               
                          
 
                            

              
                                                                    
                               

                                                                                                  
                                
               
                               
 
           

              
                                 
               








                                                                                                                                                                                                                                                                                                                                                                                                                                                 
 
                

              
                                 
               








                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
 
                        

              

                                                 
               






                                                                                                           
 
                   

              

                                                 
               





                                                                                                           
 



                              




                     
                  

                               

                                                                                                           




            



                                                                                                                                  



                                                                                                                                                                










                                                                                                                                   



                                                                                                                                                                 










                                                                                                                                             
                                                                                                                   
                                                                                                                                
                                                                                                                                                                           










                                                                                                                                             
                                                                                                                   
                                                                                                                                
                                                                                                                                                                           







                                                                                                 



                               




                     
                  
            
                       
                                            




            
                         









                                         
                                 
              

              


             
                         








                                         
                                 
              

              


             





                            


               

                           

                             





                     








                           


                     








                           


                     
stages:
  - prebuild
  - build
  - stats
  - ok
  - fail

# 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"

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
    when: always
    expire_in: 3 week
  except:
    - triggers
  dependencies: []

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

.job-deheader_shared: &job-deheader_shared
  variables:
    GIT_DEPTH: "1"
    INCLUDES: "-I/usr/include/SDL -I/usr/include/libxml2"
    LOGFILE: logs/deheader.log
    CXX: g++-5
    PACKAGES: python wget 
              gcc-5 g++-5 
              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

.job-deheader_sdl2_shared: &job-deheader_sdl2_shared
  variables:
    GIT_DEPTH: "1"
    INCLUDES: "-I/usr/include/SDL2 -I/usr/include/libxml2"
    LOGFILE: logs/deheader.log
    CXX: g++-5
    PACKAGES: python wget 
              gcc-5 g++-5 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl2-gfx-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-net-dev libsdl2-ttf-dev

# pre build

gcc-5_c++11_i386:
  stage: prebuild
  script:
  - ./tools/ci/jobs/gcc5_c++11.sh
  - ./tools/ci/scripts/runtests.sh
  image: vicamo/debian:sid-i386
  <<: *job-push
  variables:
    PACKAGES: gcc-5 g++-5 
              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 
              gdb valgrind netcat-openbsd procps
  tags:
    - docker

gcc-6-i386:
  stage: prebuild
  script:
  - ./tools/ci/jobs/gcc6.sh
  - ./tools/ci/scripts/runtests.sh
  image: vicamo/debian:sid-i386
  <<: *job-push
  variables:
    PACKAGES: gcc-6 g++-6 
              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
              gdb valgrind netcat-openbsd procps
  tags:
    - docker

gcc-7-i386:
  stage: prebuild
  script:
  - ./tools/ci/jobs/gcc7.sh
  - ./tools/ci/scripts/runtests.sh
  image: vicamo/debian:sid-i386
  <<: *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
              gdb valgrind netcat-openbsd procps
  tags:
    - docker

clang-3.9:
  stage: prebuild
  script:
  - ./tools/ci/jobs/clang39.sh
  - ./tools/ci/scripts/runtests.sh
  <<: *job-push
  variables:
    PACKAGES: clang-3.9 libc++-dev libc++abi-dev 
              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
              gdb valgrind netcat-openbsd procps

gcc-6:
  stage: prebuild
  script:
  - ./tools/ci/jobs/gcc6.sh
  - ./tools/ci/scripts/runtests.sh
  <<: *job-push
  variables:
    PACKAGES: gcc-6 g++-6 
              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
              gdb valgrind netcat-openbsd procps

gcc-7:
  stage: prebuild
  script:
  - ./tools/ci/jobs/gcc7.sh
  - ./tools/ci/scripts/runtests.sh
  <<: *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
              gdb valgrind netcat-openbsd procps

gcc-6_default:
  stage: prebuild
  script:
  - ./tools/ci/jobs/any_compiler.sh --enable-werror
  - ./tools/ci/scripts/runtests.sh
  <<: *job-push
  variables:
    LOGFILE: gcc6.log
    CC: gcc-6
    CXX: g++-6
    CXXFLAGS: "-Wall -Wextra"
    PACKAGES: gcc-6 g++-6 
              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
              gdb valgrind netcat-openbsd procps

gcc-7_default:
  stage: prebuild
  script:
  - ./tools/ci/jobs/any_compiler.sh --enable-werror
  - ./tools/ci/scripts/runtests.sh
  <<: *job-push
  variables:
    LOGFILE: gcc6.log
    CC: gcc-7
    CXX: g++-7
    CXXFLAGS: "-Wall -Wextra"
    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
              gdb valgrind netcat-openbsd procps

gcc-4.4:
  stage: prebuild
  script:
  - ./tools/ci/jobs/gcc44.sh
  - ./tools/ci/scripts/runtests.sh
  image: debian:wheezy
  <<: *job-push
  variables:
    PACKAGES: gcc-4.4 g++-4.4 
              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
              gdb valgrind netcat-openbsd procps
  tags:
    - docker

mxe_gcc6_shared_32:
  stage: prebuild
  script:
  - ls /mxe
  - ./tools/ci/jobs/mxe_gcc6.sh
  <<: *job-push
  image: registry.gitlab.com/manaplus/mxe:gcc6_shared_32
  variables:
    PACKAGES: bash
    CROSS: i686-w64-mingw32.shared
  tags:
    - docker

mxe_gcc6_shared_64:
  stage: prebuild
  script:
  - ls /mxe
  - ./tools/ci/jobs/mxe_gcc6.sh
  <<: *job-push
  image: registry.gitlab.com/manaplus/mxe:gcc6_shared_64
  variables:
    PACKAGES: bash
    CROSS: x86_64-w64-mingw32.shared
  tags:
    - docker

mxe_gcc6_shared_32_testsbin:
  stage: prebuild
  script:
  - ls /mxe
  - ./tools/ci/jobs/mxe_gcc6_tests.sh --without-manaplusgame --without-dyecmd
  artifacts:
    paths:
    - logs
    untracked: true
    when: always
    expire_in: 1 week
  dependencies: []
  image: registry.gitlab.com/manaplus/mxe:gcc6_shared_32
  variables:
    PACKAGES: bash
    CROSS: i686-w64-mingw32.shared
  except:
    - triggers
  tags:
    - docker

mxe_gcc6_shared_64_testsbin:
  stage: prebuild
  script:
  - ls /mxe
  - ./tools/ci/jobs/mxe_gcc6_tests.sh --without-manaplusgame --without-dyecmd
  artifacts:
    paths:
    - logs
    untracked: true
    when: always
    expire_in: 1 week
  dependencies: []
  image: registry.gitlab.com/manaplus/mxe:gcc6_shared_64
  variables:
    PACKAGES: bash
    CROSS: x86_64-w64-mingw32.shared
  except:
    - triggers
  tags:
    - docker

gcc-5_sdl2:
  stage: prebuild
  script:
  - ./tools/ci/jobs/gcc5_sdl2.sh
  - ./tools/ci/scripts/runtests.sh
  - ./tools/ci/jobs/gcc5_sdl2_c++11.sh
  - ./tools/ci/scripts/runtests.sh
  <<: *job-push
  variables:
    PACKAGES: gcc-5 g++-5 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl2-gfx-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-net-dev libsdl2-ttf-dev
              gdb valgrind netcat-openbsd procps

gcc-7_game_only:
  stage: prebuild
  script:
  - ./tools/ci/jobs/gcc7.sh --without-dyecmd
  - ./tools/ci/scripts/runtests.sh
  <<: *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
              gdb valgrind netcat-openbsd procps

gcc-7_dyecmd_only:
  stage: prebuild
  script:
  - ./tools/ci/jobs/gcc7.sh --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

gcc-7_unittestsbin:
  stage: prebuild
  script:
  - ./tools/ci/jobs/gcc7_silent.sh --enable-unittestsbin --without-manaplusgame --without-dyecmd
  <<: *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

mplint_po:
  stage: prebuild
  script:
  - ./tools/ci/jobs/mplint.sh po
  <<: *job-push
  variables:
    PACKAGES: gcc g++ git 
              make autoconf automake autopoint gettext

mplint_src:
  stage: prebuild
  script:
  - ./tools/ci/jobs/mplint.sh src
  <<: *job-push
  variables:
    PACKAGES: gcc g++ git 
              make autoconf automake autopoint gettext

mplint_data:
  stage: prebuild
  script:
  - ./tools/ci/jobs/mplint.sh data
  <<: *job-push
  variables:
    PACKAGES: gcc g++ git 
              make autoconf automake autopoint gettext

cpplint:
  stage: prebuild
  script:
  - ./tools/ci/jobs/cpplint.sh
  <<: *job-push
  variables:
    PACKAGES: python wget

gcc-5_h_all:
  stage: prebuild
  script:
  - ./tools/ci/jobs/gcc5_h.sh -std=c++0x -DDEBUGBUILD -DTMWA_SUPPORT -DENABLE_NLS -DUSE_OPENGL -DENABLE_LIBXML -I/usr/include/SDL
  - ./tools/ci/jobs/gcc5_h.sh -std=c++0x -DDEBUGBUILD -DTMWA_SUPPORT -DENABLE_LIBXML -I/usr/include/SDL
  - ./tools/ci/jobs/gcc5_h.sh -std=c++0x -DDEBUGBUILD -DTMWA_SUPPORT -DENABLE_NLS -DUSE_OPENGL -DENABLE_LIBXML -DUNITTESTS -DUNITTESTS_CATCH -I/usr/include/SDL
  - ./tools/ci/jobs/gcc5_h.sh -std=c++0x -DDEBUGBUILD -DTMWA_SUPPORT -DENABLE_NLS -DENABLE_LIBXML -I/usr/include/SDL
  - ./tools/ci/jobs/gcc5_h.sh -std=c++0x -DDEBUGBUILD -DENABLE_NLS -DUSE_OPENGL -DENABLE_LIBXML -I/usr/include/SDL
  <<: *job-push
  variables:
    PACKAGES: gcc-5 g++-5 
              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

gcc-5_h_all_i386:
  stage: prebuild
  script:
  - ./tools/ci/jobs/gcc5_h.sh -std=c++0x -DDEBUGBUILD -DTMWA_SUPPORT -DENABLE_NLS -DUSE_OPENGL -DENABLE_LIBXML -I/usr/include/SDL
  - ./tools/ci/jobs/gcc5_h.sh -std=c++0x -DDEBUGBUILD -DTMWA_SUPPORT -DENABLE_LIBXML -I/usr/include/SDL
  - ./tools/ci/jobs/gcc5_h.sh -std=c++0x -DDEBUGBUILD -DTMWA_SUPPORT -DENABLE_NLS -DUSE_OPENGL -DENABLE_LIBXML -DUNITTESTS -DUNITTESTS_CATCH -I/usr/include/SDL
  - ./tools/ci/jobs/gcc5_h.sh -std=c++0x -DDEBUGBUILD -DTMWA_SUPPORT -DENABLE_NLS -DENABLE_LIBXML -I/usr/include/SDL
  - ./tools/ci/jobs/gcc5_h.sh -std=c++0x -DDEBUGBUILD -DENABLE_NLS -DUSE_OPENGL -DENABLE_LIBXML -I/usr/include/SDL
  image: vicamo/debian:sid-i386
  <<: *job-push
  variables:
    PACKAGES: gcc-5 g++-5 
              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
  tags:
    - docker

pngcheck:
  stage: prebuild
  script:
  - ./tools/ci/jobs/pngcheck.sh
  <<: *job-push
  variables:
    PACKAGES: pngcheck

icccheck:
  stage: prebuild
  script:
  - ./tools/ci/jobs/imagemagiccheck.sh
  <<: *job-push
  variables:
    PACKAGES: imagemagick

nsiqcppstyle:
  stage: prebuild
  script:
  - ./tools/ci/jobs/nsiqcppstyle.sh
  <<: *job-push
  variables:
    PACKAGES: "git python grep"

# tests

# disabled due gitlab bug
.gcc-7_sanitize_doctest_tests:
  stage: build
  script:
  - ./tools/ci/jobs/gcc7_sanitize_tests.sh --enable-unittests=doctest --without-dyecmd --without-manaplusgame
  - ldd ./src/manaplustests | grep "libasan"
  <<: *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 
              valgrind
    JOBS: 1
  tags:
    - docker

gcc-7_sanitize_doctest_tests_i386:
  stage: build
  script:
  - ./tools/ci/jobs/gcc7_sanitize_tests.sh --enable-unittests=doctest --without-dyecmd --without-manaplusgame
  - ldd ./src/manaplustests | grep "libasan"
  image: vicamo/debian:sid-i386
  <<: *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 
              valgrind
    JOBS: 1
  tags:
    - docker

# too slow for one thread, with two threads rundom out of memory issue
gcc-7_sanitize_i386:
  stage: build
  script:
  - ./tools/ci/jobs/gcc7_sanitize.sh
  - ./tools/ci/scripts/runtests.sh
  image: vicamo/debian:sid-i386
  <<: *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
              gdb valgrind netcat-openbsd procps
    JOBS: 1
  tags:
    - docker

# disabled due gitlab bug
.gcc-7_SDL_SDL-1.2_sanitize2_test:
  stage: build
  script:
  - ./tools/ci/scripts/downloadlib.sh ${LIBNAME} ${LIBVERSION}
  - echo /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ${runenvz}
  - export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libasan.so.4
  - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ${runenvx} ${runenvz} env
  - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ${runenvx} ${runenvz} ./tools/ci/jobs/gcc7_sanitize_tests.sh --enable-unittests=yes --without-manaplusgame --without-dyecmd
  - export LD_PRELOAD
  - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ${runenvx} ${runenvz} ./tools/ci/scripts/checkldd.sh src/manaplustests
  - ldd ./src/manaplustests | grep "libasan"
  <<: *job-push
  variables:
    LIBNAME: SDL
    LIBVERSION: SDL-1.2_asan
    PACKAGES: gcc-7 g++-7 
              make autoconf automake autopoint gettext pkg-config 
              libx11-dev libxext-dev libxt-dev libxv-dev x11proto-core-dev libgl1-mesa-dev libasound2-dev libglu1-mesa-dev libicu-dev 
              valgrind 
              wget unzip
    JOBS: 1
    ASAN_OPTIONS: "detect_leaks=0"
    runenvz: /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runzlib_master.sh
    runenvx: /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runlibxml2_master.sh
  tags:
    - docker

# disabled due gitlab bug
.gcc-7_SDL_default_sanitize2_test:
  stage: build
  script:
  - ./tools/ci/scripts/downloadlib.sh ${LIBNAME} ${LIBVERSION}
  - export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libasan.so.4
  - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ${runenvx} ${runenvz} ./tools/ci/jobs/gcc7_sanitize_tests.sh --enable-unittests=yes --with-sdl2 --without-manaplusgame --without-dyecmd
  - export LD_PRELOAD
  - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ${runenvx} ${runenvz} ./tools/ci/scripts/checkldd.sh src/manaplustests
  - ldd ./src/manaplustests | grep "libasan"
  <<: *job-push
  variables:
    LIBNAME: SDL
    LIBVERSION: default_asan
    PACKAGES: gcc-7 g++-7 
              make autoconf automake autopoint gettext pkg-config 
              libx11-dev libxext-dev libxt-dev libxv-dev x11proto-core-dev libgl1-mesa-dev libasound2-dev libicu-dev 
              valgrind 
              wget unzip
    JOBS: 1
    ASAN_OPTIONS: "detect_leaks=0"
    runenvz: /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runzlib_master.sh
    runenvx: /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runlibxml2_master.sh
  tags:
    - docker

gcc-5_sanitize_tests:
  stage: build
  script:
  - ./tools/ci/jobs/gcc5_sanitize_tests.sh
  - ldd ./src/manaplustests | grep "libasan"
  <<: *job-push
  variables:
    PACKAGES: gcc-5 g++-5 
              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 
              valgrind
  tags:
    - docker

gcc-5_sanitize_tests_i386:
  stage: build
  script:
  - ./tools/ci/jobs/gcc5_sanitize_tests.sh --without-dyecmd --without-manaplusgame
  - ldd ./src/manaplustests | grep "libasan"
  image: vicamo/debian:sid-i386
  <<: *job-push
  variables:
    PACKAGES: gcc-5 g++-5 
              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 
              valgrind
  tags:
    - docker

# disabled due gitlab bug
.gcc-6_sanitize_doctest_tests:
  stage: build
  script:
  - ./tools/ci/jobs/gcc6_sanitize_tests.sh --enable-unittests=doctest --without-dyecmd --without-manaplusgame
  - ldd ./src/manaplustests | grep "libasan"
  <<: *job-push
  variables:
    PACKAGES: gcc-6 g++-6 
              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 
              valgrind
  tags:
    - docker

gcc-6_sanitize_doctest_tests_i386:
  stage: build
  script:
  - ./tools/ci/jobs/gcc6_sanitize_tests.sh --enable-unittests=doctest --without-dyecmd --without-manaplusgame
  - ldd ./src/manaplustests | grep "libasan"
  image: vicamo/debian:sid-i386
  <<: *job-push
  variables:
    PACKAGES: gcc-6 g++-6 
              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 
              valgrind
  tags:
    - docker

gcc-5_sanitize_no_opengl_tests:
  stage: build
  script:
  - ./tools/ci/jobs/gcc5_sanitize_tests.sh --without-opengl --without-dyecmd --without-manaplusgame
  - ldd ./src/manaplustests | grep "libasan"
  <<: *job-push
  variables:
    PACKAGES: gcc-5 g++-5 
              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 
              valgrind
  tags:
    - docker

gcc-5_sanitize_no_opengltests_i386:
  stage: build
  script:
  - ./tools/ci/jobs/gcc5_sanitize_tests.sh --without-opengl --without-dyecmd --without-manaplusgame
  - ldd ./src/manaplustests | grep "libasan"
  image: vicamo/debian:sid-i386
  <<: *job-push
  variables:
    PACKAGES: gcc-5 g++-5 
              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 
              valgrind
  tags:
    - docker

gcc-4.9_sanitize_tests:
  stage: build
  script:
  - ./tools/ci/jobs/gcc49_sanitize_tests.sh
  - ldd ./src/manaplustests | grep "libasan"
  image: debian:jessie
  <<: *job-push
  variables:
    PACKAGES: gcc-4.9 g++-4.9 
              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 
              valgrind
  tags:
    - docker

gcc-4.9_sanitize_tests_i386:
  stage: build
  script:
  - ./tools/ci/jobs/gcc49_sanitize_tests.sh
  - ldd ./src/manaplustests | grep "libasan"
  image: vicamo/debian:jessie-i386
  <<: *job-push
  variables:
    PACKAGES: gcc-4.9 g++-4.9 
              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 
              valgrind
  tags:
    - docker

gcc-5_sanitize:
  stage: build
  script:
  - ./tools/ci/jobs/gcc5_sanitize.sh
  - ./tools/ci/scripts/runtests.sh
  <<: *job-push
  variables:
    PACKAGES: gcc-5 g++-5 
              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
              gdb valgrind netcat-openbsd procps
  tags:
    - docker

gcc-5_sanitize_i386:
  stage: build
  script:
  - ./tools/ci/jobs/gcc5_sanitize.sh
  - ./tools/ci/scripts/runtests.sh
  image: vicamo/debian:sid-i386
  <<: *job-push
  variables:
    PACKAGES: gcc-5 g++-5 
              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
              gdb valgrind netcat-openbsd procps
  tags:
    - docker

# disabled due gitlab bug
.gcc-6_sanitize:
  stage: build
  script:
  - ./tools/ci/jobs/gcc6_sanitize.sh
  - ./tools/ci/scripts/runtests.sh
  <<: *job-push
  variables:
    PACKAGES: gcc-6 g++-6 
              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
              gdb valgrind netcat-openbsd procps
  tags:
    - docker

gcc-6_sanitize_i386:
  stage: build
  script:
  - ./tools/ci/jobs/gcc6_sanitize.sh
  - ./tools/ci/scripts/runtests.sh
  image: vicamo/debian:sid-i386
  <<: *job-push
  variables:
    PACKAGES: gcc-6 g++-6 
              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
              gdb valgrind netcat-openbsd procps
  tags:
    - docker

# disabled due gitlab bug
.gcc-7_sanitize:
  stage: build
  script:
  - ./tools/ci/jobs/gcc7_sanitize.sh
  - ./tools/ci/scripts/runtests.sh
  <<: *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
              gdb valgrind netcat-openbsd procps
  tags:
    - docker


.fedora_gcc-snapshot_sanitize_tests:
  stage: build
  script:
  - ./tools/ci/jobs/gccsnapshot_sanitize_tests.sh --without-dyecmd --without-manaplusgame
  - ldd ./src/manaplustests | grep "libasan"
  <<: *job-push
  image: fedora:rawhide
  variables:
    PMUPDATE: "dnf --nogpgcheck install --refresh -y @development-tools"
    PMINSTALL: "dnf --nogpgcheck install -y bash tar findutils gcc gcc-c++ make libpng-devel libcurl-devel openssl-devel libxml2-devel gcc SDL-devel SDL_net-devel SDL_image-devel SDL_ttf-devel SDL_mixer-devel SDL_gfx-devel zlib-devel gettext-devel automake autoconf valgrind libasan liblsan libubsan"
    FLAGS: "gccfedora.sh"
  tags:
  - docker

.fedora_gcc-snapshot_sanitize_sdl2_tests:
  stage: build
  script:
  - ./tools/ci/jobs/gccsnapshot_sanitize_tests.sh --with-sdl2 --without-dyecmd --without-manaplusgame
  - ldd ./src/manaplustests | grep "libasan"
  <<: *job-push
  image: fedora:rawhide
  variables:
    PMUPDATE: "dnf --nogpgcheck install --refresh -y @development-tools"
    PMINSTALL: "dnf --nogpgcheck install -y bash tar findutils mesa-libGL-devel gcc gcc-c++ make libpng-devel libcurl-devel openssl-devel libxml2-devel gcc SDL2-devel SDL2_net-devel SDL2_image-devel SDL2_ttf-devel SDL2_mixer-devel SDL2_gfx-devel zlib-devel gettext-devel automake autoconf valgrind libasan liblsan libubsan"
    FLAGS: "gccfedora.sh"
  tags:
  - docker


# disabled due gitlab bug
.gcc-7_SDL_SDL-1.2_sanitize_test:
  stage: build
  script:
  - ./tools/ci/scripts/downloadlib.sh ${LIBNAME} ${LIBVERSION}
  - echo /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ${runenvz}
  - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ${runenvx} ${runenvz} env
  - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ${runenvx} ${runenvz} ./tools/ci/jobs/gcc7_sanitize_tests.sh --enable-unittests=yes --without-manaplusgame --without-dyecmd
  - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ${runenvx} ${runenvz} ./tools/ci/scripts/checkldd.sh src/manaplustests
  - ldd ./src/manaplustests | grep "libasan"
  <<: *job-push
  variables:
    LIBNAME: SDL
    LIBVERSION: SDL-1.2
    PACKAGES: gcc-7 g++-7 
              make autoconf automake autopoint gettext pkg-config 
              libx11-dev libxext-dev libxt-dev libxv-dev x11proto-core-dev libgl1-mesa-dev libasound2-dev libglu1-mesa-dev libicu-dev 
              valgrind 
              wget unzip
    runenvz: /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runzlib_master.sh
    runenvx: /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runlibxml2_master.sh
  tags:
    - docker

# disabled due gitlab bug
.gcc-7_SDL_default_sanitize_test:
  stage: build
  script:
  - ./tools/ci/scripts/downloadlib.sh ${LIBNAME} ${LIBVERSION}
  - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ${runenvx} ${runenvz} ./tools/ci/jobs/gcc7_sanitize_tests.sh --enable-unittests=yes --with-sdl2 --without-manaplusgame --without-dyecmd
  - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ${runenvx} ${runenvz} ./tools/ci/scripts/checkldd.sh src/manaplustests
  - ldd ./src/manaplustests | grep "libasan"
  <<: *job-push
  variables:
    LIBNAME: SDL
    LIBVERSION: default
    PACKAGES: gcc-7 g++-7 
              make autoconf automake autopoint gettext pkg-config 
              libx11-dev libxext-dev libxt-dev libxv-dev x11proto-core-dev libgl1-mesa-dev libasound2-dev libicu-dev 
              valgrind 
              wget unzip
    runenvz: /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runzlib_master.sh
    runenvx: /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runlibxml2_master.sh
  tags:
    - docker


# disabled due gitlab bug
.gcc-7_SDL_SDL-1.2_old_sanitize_test:
  stage: build
  script:
  - ./tools/ci/scripts/downloadlib.sh ${LIBNAME} ${LIBVERSION}
  - echo /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ${runenvz}
  - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ${runenvx} ${runenvz} env
  - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ${runenvx} ${runenvz} ./tools/ci/jobs/gcc7_sanitize_tests.sh --enable-unittests=yes --without-manaplusgame --without-dyecmd
  - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ${runenvx} ${runenvz} ./tools/ci/scripts/checkldd.sh src/manaplustests
  - ldd ./src/manaplustests | grep "libasan"
  <<: *job-push
  variables:
    LIBNAME: SDL
    LIBVERSION: SDL-1.2_old
    PACKAGES: gcc-7 g++-7 
              make autoconf automake autopoint gettext pkg-config 
              libx11-dev libxext-dev libxt-dev libxv-dev x11proto-core-dev libgl1-mesa-dev libasound2-dev libglu1-mesa-dev libicu-dev 
              valgrind 
              libjpeg-dev libtiff-dev
              wget unzip
    runenvz: /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runzlib_v1.2.5.sh
    runenvx: /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runlibxml2_v2.9.1.sh
    POST_CXXFLAGS: "-Wno-undef"
  tags:
    - docker

# disabled due gitlab bug
.gcc-7_SDL_default_old_sanitize_test:
  stage: build
  script:
  - ./tools/ci/scripts/downloadlib.sh ${LIBNAME} ${LIBVERSION}
  - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ${runenvx} ${runenvz} ./tools/ci/jobs/gcc7_sanitize_tests.sh --enable-unittests=yes --with-sdl2 --without-manaplusgame --without-dyecmd
  - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ${runenvx} ${runenvz} ./tools/ci/scripts/checkldd.sh src/manaplustests
  - ldd ./src/manaplustests | grep "libasan"
  <<: *job-push
  variables:
    LIBNAME: SDL
    LIBVERSION: default_old
    PACKAGES: gcc-7 g++-7 
              make autoconf automake autopoint gettext pkg-config 
              libx11-dev libxext-dev libxt-dev libxv-dev x11proto-core-dev libgl1-mesa-dev libasound2-dev libicu-dev 
              valgrind 
              libjpeg-dev libtiff-dev
              wget unzip
    runenvz: /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runzlib_v1.2.5.sh
    runenvx: /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runlibxml2_v2.9.1.sh
    POST_CXXFLAGS: "-Wno-undef"
  tags:
    - docker

gcc-4.9_sanitize:
  stage: build
  script:
  - ./tools/ci/jobs/gcc49_sanitize.sh
  - ./tools/ci/scripts/runtests.sh
  image: debian:jessie
  <<: *job-push
  variables:
    PACKAGES: gcc-4.9 g++-4.9 
              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
              gdb valgrind netcat-openbsd procps

gcc-4.9_sanitize_i386:
  stage: build
  script:
  - ./tools/ci/jobs/gcc49_sanitize.sh
  - ./tools/ci/scripts/runtests.sh
  image: vicamo/debian:jessie-i386
  <<: *job-push
  variables:
    PACKAGES: gcc-4.9 g++-4.9 
              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
              gdb valgrind netcat-openbsd procps

gcc-4.9_sdl2_sanitize:
  stage: build
  script:
  - ./tools/ci/jobs/gcc49_sanitize.sh --with-sdl2
  - ./tools/ci/scripts/runtests.sh
  image: debian:jessie
  <<: *job-push
  variables:
    PACKAGES: gcc-4.9 g++-4.9 
              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 
              gdb valgrind netcat-openbsd procps

gcc-6_tests_simd:
  stage: build
  script:
  - ./tools/ci/jobs/gcc6_tests_simd.sh --without-dyecmd --without-manaplusgame
  <<: *job-push
  variables:
    PACKAGES: gcc-6 g++-6 
              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 
              valgrind
  tags:
    - docker

gcc-7_tests_simd:
  stage: build
  script:
  - ./tools/ci/jobs/gcc7_tests_simd.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 
              valgrind
  tags:
    - docker

gcc-7_tests_O0:
  stage: build
  script:
  - ./tools/ci/jobs/gcc7_tests_simd.sh --without-dyecmd --without-manaplusgame
  <<: *job-push
  variables:
    POST_CXXFLAGS: "-O0"
    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 
              valgrind
  tags:
    - docker

gcc-7_tests_O1:
  stage: build
  script:
  - ./tools/ci/jobs/gcc7_tests_simd.sh --without-dyecmd --without-manaplusgame
  <<: *job-push
  variables:
    POST_CXXFLAGS: "-O1"
    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 
              valgrind
  tags:
    - docker

gcc-6_tests_lto:
  stage: build
  script:
  - ./tools/ci/jobs/gcc6_tests.sh --without-dyecmd --without-manaplusgame
  <<: *job-push
  variables:
    POST_CXXFLAGS: "-ffast-math -O9 -flto -fwhole-program -funswitch-loops"
    PACKAGES: gcc-6 g++-6 
              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 
              valgrind
  tags:
    - docker

gcc-6_tests_lto_i386:
  stage: build
  script:
  - ./tools/ci/jobs/gcc6_tests.sh --without-dyecmd --without-manaplusgame
  <<: *job-push
  image: vicamo/debian:sid-i386
  variables:
    POST_CXXFLAGS: "-ffast-math -O9 -flto -fwhole-program -funswitch-loops"
    PACKAGES: gcc-6 g++-6 
              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 
              valgrind
  tags:
    - docker

gcc-7_tests_lto:
  stage: build
  script:
  - ./tools/ci/jobs/gcc7_tests.sh --without-dyecmd --without-manaplusgame
  <<: *job-push
  variables:
    POST_CXXFLAGS: "-ffast-math -O9 -flto -fwhole-program -funswitch-loops"
    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 
              valgrind
  tags:
    - docker

gcc-7_tests_lto_i386:
  stage: build
  script:
  - ./tools/ci/jobs/gcc7_tests.sh --without-dyecmd --without-manaplusgame
  <<: *job-push
  image: vicamo/debian:sid-i386
  variables:
    POST_CXXFLAGS: "-ffast-math -O9 -flto -fwhole-program -funswitch-loops"
    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 
              valgrind
  tags:
    - docker

gcc-5_tests:
  stage: build
  script:
  - ./tools/ci/jobs/gcc5_tests.sh --without-dyecmd
  <<: *job-push
  variables:
    PACKAGES: gcc-5 g++-5 
              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 
              valgrind
  tags:
    - docker

gcc-5_tests_i386:
  stage: build
  script:
  - ./tools/ci/jobs/gcc5_tests.sh --without-dyecmd --without-manaplusgame
  image: vicamo/debian:sid-i386
  <<: *job-push
  variables:
    PACKAGES: gcc-5 g++-5 
              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 
              valgrind
  tags:
    - docker

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_tests_i386:
  stage: build
  script:
  - ./tools/ci/jobs/gcc7_tests.sh --without-dyecmd --without-manaplusgame
  image: vicamo/debian:sid-i386
  <<: *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 
              valgrind
  tags:
    - docker

gcc-6_tests:
  stage: build
  script:
  - ./tools/ci/jobs/gcc6_tests.sh --without-dyecmd --without-manaplusgame
  <<: *job-push
  variables:
    PACKAGES: gcc-6 g++-6 
              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 
              valgrind
  tags:
    - docker

gcc-6_tests_i386:
  stage: build
  script:
  - ./tools/ci/jobs/gcc6_tests.sh --without-dyecmd --without-manaplusgame
  image: vicamo/debian:sid-i386
  <<: *job-push
  variables:
    PACKAGES: gcc-6 g++-6 
              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 
              valgrind
  tags:
    - docker

gcc-6_tests_glibcdebug:
  stage: build
  script:
  - ./tools/ci/jobs/gcc6_tests.sh --without-dyecmd --without-manaplusgame --enable-glibcdebug
  <<: *job-push
  variables:
    PACKAGES: gcc-6 g++-6 
              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 
              valgrind
  tags:
    - docker

gcc-7_tests:
  stage: build
  script:
  - ./tools/ci/jobs/gcc7_tests.sh --without-dyecmd --without-manaplusgame --enable-glibcdebug
  - ./tools/ci/jobs/gcc7_tests.sh --without-dyecmd --without-manaplusgame --enable-stldebug
  <<: *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 
              valgrind
  tags:
    - docker

gcc-7_pugixml_tests:
  stage: build
  script:
  - ./tools/ci/jobs/gcc7_tests.sh --without-dyecmd --without-manaplusgame --enable-libxml=pugixml
  <<: *job-push
  variables:
    PACKAGES: gcc-7 g++-7 
              make autoconf automake autopoint gettext 
              libpugixml-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 
              valgrind
  tags:
    - docker

gcc-7_pugixml_tests_i386:
  stage: build
  script:
  - ./tools/ci/jobs/gcc7_tests.sh --without-dyecmd --without-manaplusgame --enable-libxml=pugixml
  image: vicamo/debian:sid-i386
  <<: *job-push
  variables:
    PACKAGES: gcc-7 g++-7 
              make autoconf automake autopoint gettext 
              libpugixml-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 
              valgrind
  tags:
    - docker

gcc-6_tests_glibcdebug_i386:
  stage: build
  script:
  - ./tools/ci/jobs/gcc6_tests.sh --without-dyecmd --without-manaplusgame --enable-glibcdebug
  image: vicamo/debian:sid-i386
  <<: *job-push
  variables:
    PACKAGES: gcc-6 g++-6 
              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 
              valgrind
  tags:
    - docker

gcc-7_tests_glibcdebug_i386:
  stage: build
  script:
  - ./tools/ci/jobs/gcc7_tests.sh --without-dyecmd --without-manaplusgame --enable-glibcdebug
  image: vicamo/debian:sid-i386
  <<: *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 
              valgrind
  tags:
    - docker

gcc-7_tests_mse_i386:
  stage: build
  script:
  - ./tools/ci/jobs/gcc7_tests.sh --without-dyecmd --without-manaplusgame --enable-stldebug
  image: vicamo/debian:sid-i386
  <<: *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 
              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

gcc-6_sdl2_tests:
  stage: build
  script:
  - ./tools/ci/jobs/gcc6_sdl2_tests.sh --without-dyecmd --without-manaplusgame
  <<: *job-push
  variables:
    PACKAGES: gcc-6 g++-6 
              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

gcc-6_sdl2_tests_i386:
  stage: build
  script:
  - ./tools/ci/jobs/gcc6_sdl2_tests.sh --without-dyecmd --without-manaplusgame
  image: vicamo/debian:sid-i386
  <<: *job-push
  variables:
    PACKAGES: gcc-6 g++-6 
              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 
              valgrind
  tags:
    - docker

gcc-7_sdl2_tests_i386:
  stage: build
  script:
  - ./tools/ci/jobs/gcc7_tests.sh --with-sdl2 --without-dyecmd --without-manaplusgame
  image: vicamo/debian:sid-i386
  <<: *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 
              valgrind
  tags:
    - docker

gcc-5_sdl2_tests:
  stage: build
  script:
  - ./tools/ci/jobs/gcc5_sdl2_tests.sh --without-manaplusgame --enable-glibcdebug
  - ./tools/ci/jobs/gcc5_sdl2_tests.sh --without-manaplusgame --enable-stldebug
  <<: *job-push
  variables:
    PACKAGES: gcc-5 g++-5 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl2-gfx-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-net-dev libsdl2-ttf-dev
              valgrind
  tags:
    - docker

gcc-5_sdl2_tests_i386:
  stage: build
  script:
  - ./tools/ci/jobs/gcc5_sdl2_tests.sh --without-dyecmd --without-manaplusgame
  image: vicamo/debian:sid-i386
  <<: *job-push
  variables:
    PACKAGES: gcc-5 g++-5 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl2-gfx-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-net-dev libsdl2-ttf-dev
              valgrind
  tags:
    - docker

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

gcc-5_sdl2_no_opengl_tests_i386:
  stage: build
  script:
  - ./tools/ci/jobs/gcc5_sdl2_tests.sh --without-opengl --without-dyecmd --without-manaplusgame
  image: vicamo/debian:sid-i386
  <<: *job-push
  variables:
    PACKAGES: gcc-5 g++-5 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl2-gfx-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-net-dev libsdl2-ttf-dev
              valgrind
  tags:
    - docker

gcc-6_tests_valgrind:
  stage: build
  script:
  - ./tools/ci/jobs/gcc6_tests.sh --without-dyecmd --without-manaplusgame || true
  - echo test valgrind
  - valgrind -q --read-var-info=yes --track-origins=yes --malloc-fill=11 --free-fill=55 --show-reachable=yes --leak-check=full --leak-resolution=high --partial-loads-ok=yes --error-limit=no ./src/manaplustests 2>logs/valg.log
  - grep "invalid" logs/valg.log && exit 1 || true
  <<: *job-push
  variables:
    PACKAGES: gcc-6 g++-6 
              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 
              valgrind
  tags:
    - docker

gcc-6_tests_valgrind_i386:
  stage: build
  script:
  - ./tools/ci/jobs/gcc6_tests.sh --without-dyecmd --without-manaplusgame || true
  - echo test valgrind
  - valgrind -q --read-var-info=yes --track-origins=yes --malloc-fill=11 --free-fill=55 --show-reachable=yes --leak-check=full --leak-resolution=high --partial-loads-ok=yes --error-limit=no ./src/manaplustests 2>logs/valg.log
  - grep "invalid" logs/valg.log && exit 1 || true
  image: vicamo/debian:sid-i386
  <<: *job-push
  variables:
    PACKAGES: gcc-6 g++-6 
              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 
              valgrind
  tags:
    - docker

gcc-7_tests_valgrind:
  stage: build
  script:
  - ./tools/ci/jobs/gcc7_tests.sh --without-dyecmd --without-manaplusgame || true
  - echo test valgrind
  - valgrind -q --read-var-info=yes --track-origins=yes --malloc-fill=11 --free-fill=55 --show-reachable=yes --leak-check=full --leak-resolution=high --partial-loads-ok=yes --error-limit=no ./src/manaplustests 2>logs/valg.log
  - grep "invalid" logs/valg.log && exit 1 || true
  <<: *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 
              valgrind
  tags:
    - docker

gcc-7_tests_valgrind_i386:
  stage: build
  script:
  - ./tools/ci/jobs/gcc7_tests.sh --without-dyecmd --without-manaplusgame || true
  - echo test valgrind
  - valgrind -q --read-var-info=yes --track-origins=yes --malloc-fill=11 --free-fill=55 --show-reachable=yes --leak-check=full --leak-resolution=high --partial-loads-ok=yes --error-limit=no ./src/manaplustests 2>logs/valg.log
  - grep "invalid" logs/valg.log && exit 1 || true
  image: vicamo/debian:sid-i386
  <<: *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 
              valgrind
  tags:
    - docker

clang-6.0_tests:
  stage: build
  script:
  - ./tools/ci/jobs/clang60_tests.sh --without-dyecmd --without-manaplusgame
  <<: *job-push
  variables:
    PACKAGES: clang-6.0 libc++-dev libc++abi-dev libclang-6.0-dev 
              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
              valgrind
  tags:
    - docker

clang-6.0_tests_i386:
  stage: build
  script:
  - ./tools/ci/jobs/clang60_tests.sh --without-dyecmd --without-manaplusgame
  <<: *job-push
  image: vicamo/debian:sid-i386
  variables:
    PACKAGES: clang-6.0 libc++-dev libc++abi-dev libclang-6.0-dev 
              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
              valgrind
  tags:
    - docker

clang-6.0_tests_sdl2:
  stage: build
  script:
  - ./tools/ci/jobs/clang60_tests.sh --with-sdl2 --without-dyecmd --without-manaplusgame
  <<: *job-push
  variables:
    PACKAGES: clang-6.0 libc++-dev libc++abi-dev libclang-6.0-dev 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl2-gfx-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-net-dev libsdl2-ttf-dev
              valgrind
  tags:
    - docker

clang-6.0_tests_sdl2_i386:
  stage: build
  script:
  - ./tools/ci/jobs/clang60_tests.sh --with-sdl2 --without-dyecmd --without-manaplusgame
  <<: *job-push
  image: vicamo/debian:sid-i386
  variables:
    PACKAGES: clang-6.0 libc++-dev libc++abi-dev libclang-6.0-dev 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl2-gfx-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-net-dev libsdl2-ttf-dev
              valgrind
  tags:
    - docker

gcc-7_tests_jmalloc:
  stage: build
  script:
  - ls ${MALLOC}
  - LD_PRELOAD=${MALLOC} ./tools/ci/jobs/gcc7_tests.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 
              valgrind libjemalloc1
    MALLOC: /usr/lib/x86_64-linux-gnu/libjemalloc.so.1
  tags:
    - docker

gcc-7_tests_jmalloc_i386:
  stage: build
  script:
  - ls ${MALLOC}
  - LD_PRELOAD=${MALLOC} ./tools/ci/jobs/gcc7_tests.sh --without-dyecmd --without-manaplusgame
  <<: *job-push
  image: vicamo/debian:sid-i386
  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 
              valgrind libjemalloc1
    MALLOC: /usr/lib/i386-linux-gnu/libjemalloc.so.1
  tags:
    - docker

gcc-7_tests_jmalloc_sdl2:
  stage: build
  script:
  - ls ${MALLOC}
  - LD_PRELOAD=${MALLOC} ./tools/ci/jobs/gcc7_tests.sh --with-sdl2 --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-gfx-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-net-dev libsdl2-ttf-dev
              valgrind libjemalloc1
    MALLOC: /usr/lib/x86_64-linux-gnu/libjemalloc.so.1
  tags:
    - docker

gcc-7_tests_jmalloc_sdl2_i386:
  stage: build
  script:
  - ls ${MALLOC}
  - LD_PRELOAD=${MALLOC} ./tools/ci/jobs/gcc7_tests.sh --with-sdl2 --without-dyecmd --without-manaplusgame
  <<: *job-push
  image: vicamo/debian:sid-i386
  variables:
    PACKAGES: gcc-7 g++-7 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl2-gfx-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-net-dev libsdl2-ttf-dev
              valgrind libjemalloc1
    MALLOC: /usr/lib/i386-linux-gnu/libjemalloc.so.1
  tags:
    - docker

gcc-7_tests_tcmalloc:
  stage: build
  script:
  - ./tools/ci/jobs/gcc7_tests.sh --enable-tcmalloc --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 
              valgrind libgoogle-perftools-dev
  tags:
    - docker

gcc-7_tests_tcmalloc_i386:
  stage: build
  script:
  - ./tools/ci/jobs/gcc7_tests.sh --enable-tcmalloc --without-dyecmd --without-manaplusgame
  <<: *job-push
  image: vicamo/debian:sid-i386
  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 
              valgrind libgoogle-perftools-dev
  tags:
    - docker

gcc-7_tests_tcmalloc_sdl2:
  stage: build
  script:
  - ./tools/ci/jobs/gcc7_tests.sh --enable-tcmalloc --with-sdl2 --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-gfx-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-net-dev libsdl2-ttf-dev
              valgrind libgoogle-perftools-dev
  tags:
    - docker

gcc-7_tests_tcmalloc_sdl2_i386:
  stage: build
  script:
  - ./tools/ci/jobs/gcc7_tests.sh --enable-tcmalloc --with-sdl2 --without-dyecmd --without-manaplusgame
  <<: *job-push
  image: vicamo/debian:sid-i386
  variables:
    PACKAGES: gcc-7 g++-7 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl2-gfx-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-net-dev libsdl2-ttf-dev
              valgrind libgoogle-perftools-dev
  tags:
    - docker

gcc-7_separate_doctest:
  stage: build
  script:
  - ./tools/ci/jobs/gcc7_silent.sh --enable-unittestsbin=doctest --without-manaplusgame --without-dyecmd
  - ./tools/ci/scripts/separateunittests.sh
  <<: *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 
              python

# disabled due kernel issue in shared runners.
.gcc-7_separate_doctest_sanitize:
  stage: build
  script:
  - ./tools/ci/jobs/gcc7_silent.sh --enable-unittestsbin=doctest --without-manaplusgame --without-dyecmd
  - ./tools/ci/scripts/separateunittests.sh
  - ldd ./src/manaplustests | grep "libasan"
  <<: *job-push
  variables:
    LSAN_OPTIONS: "suppressions=./tools/ci/scripts/lsansuppression_tests.txt"
    POST_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"
    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 
              python
  tags:
    - docker

# disabled due kernel issue in shared runners.
.gcc-7_separate_doctest_sanitize_sdl2:
  stage: build
  script:
  - ./tools/ci/jobs/gcc7_silent.sh --enable-unittestsbin=doctest --without-manaplusgame --without-dyecmd --with-sdl2
  - ./tools/ci/scripts/separateunittests.sh
  - ldd ./src/manaplustests | grep "libasan"
  <<: *job-push
  variables:
    LSAN_OPTIONS: "suppressions=./tools/ci/scripts/lsansuppression_tests.txt"
    POST_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"
    PACKAGES: gcc-7 g++-7 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl2-gfx-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-net-dev libsdl2-ttf-dev
              python
  tags:
    - docker

gcc-7_separate_doctest_sanitize_i386:
  stage: build
  script:
  - ./tools/ci/jobs/gcc7_silent.sh --enable-unittestsbin=doctest --without-manaplusgame --without-dyecmd
  - ./tools/ci/scripts/separateunittests.sh
  - ldd ./src/manaplustests | grep "libasan"
  <<: *job-push
  image: vicamo/debian:sid-i386
  variables:
    LSAN_OPTIONS: "suppressions=./tools/ci/scripts/lsansuppression_tests.txt"
    POST_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"
    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 
              python
  tags:
    - docker

gcc-7_separate_doctest_sanitize_sdl2_i386:
  stage: build
  script:
  - ./tools/ci/jobs/gcc7_silent.sh --enable-unittestsbin=doctest --without-manaplusgame --without-dyecmd --with-sdl2
  - ./tools/ci/scripts/separateunittests.sh
  - ldd ./src/manaplustests | grep "libasan"
  <<: *job-push
  image: vicamo/debian:sid-i386
  variables:
    LSAN_OPTIONS: "suppressions=./tools/ci/scripts/lsansuppression_tests.txt"
    POST_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"
    PACKAGES: gcc-7 g++-7 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl2-gfx-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-net-dev libsdl2-ttf-dev
              python
  tags:
    - docker

gcc-7_lto:
  stage: build
  script:
  - ./tools/ci/jobs/gcc7_lto.sh
  - ./tools/ci/scripts/runtests.sh
  <<: *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
              gdb valgrind netcat-openbsd procps
    POST_CXXFLAGS: "-Wno-null-dereference"

gcc-7_lto_i386:
  stage: build
  script:
  - ./tools/ci/jobs/gcc7_lto.sh
  - ./tools/ci/scripts/runtests.sh
  image: vicamo/debian:sid-i386
  <<: *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
              gdb valgrind netcat-openbsd procps
    POST_CXXFLAGS: "-Wno-null-dereference"
  tags:
    - docker

gcc-6_lto:
  stage: build
  script:
  - ./tools/ci/jobs/gcc6_lto.sh
  - ./tools/ci/scripts/runtests.sh
  <<: *job-push
  variables:
    PACKAGES: gcc-6 g++-6 
              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
              gdb valgrind netcat-openbsd procps

gcc-6_lto_i386:
  stage: build
  script:
  - ./tools/ci/jobs/gcc6_lto.sh
  - ./tools/ci/scripts/runtests.sh
  image: vicamo/debian:sid-i386
  <<: *job-push
  variables:
    PACKAGES: gcc-6 g++-6 
              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
              gdb valgrind netcat-openbsd procps
  tags:
    - docker

gcc-7_glibcdebug:
  stage: build
  script:
  - ./tools/ci/jobs/gcc7.sh --enable-glibcdebug --without-dyecmd
  - ./tools/ci/scripts/runtests.sh
  <<: *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
              gdb valgrind netcat-openbsd procps

gcc-7_glibcdebug_i386:
  stage: build
  script:
  - ./tools/ci/jobs/gcc7.sh --enable-glibcdebug --without-dyecmd
  - ./tools/ci/scripts/runtests.sh
  <<: *job-push
  image: vicamo/debian:sid-i386
  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
              gdb valgrind netcat-openbsd procps

gcc-7_glibcdebug_sdl2:
  stage: build
  script:
  - ./tools/ci/jobs/gcc7.sh --with-sdl2 --enable-glibcdebug --without-dyecmd
  - ./tools/ci/scripts/runtests.sh
  <<: *job-push
  variables:
    PACKAGES: gcc-7 g++-7 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl2-gfx-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-net-dev libsdl2-ttf-dev
              gdb valgrind netcat-openbsd procps

gcc-7_glibcdebug_sdl2_i386:
  stage: build
  script:
  - ./tools/ci/jobs/gcc7.sh --with-sdl2 --enable-glibcdebug --without-dyecmd
  - ./tools/ci/scripts/runtests.sh
  <<: *job-push
  image: vicamo/debian:sid-i386
  variables:
    PACKAGES: gcc-7 g++-7 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl2-gfx-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-net-dev libsdl2-ttf-dev
              gdb valgrind netcat-openbsd procps

gcc-7_mse:
  stage: build
  script:
  - ./tools/ci/jobs/gcc7.sh --enable-stldebug --without-dyecmd
  - ./tools/ci/scripts/runtests.sh
  <<: *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
              gdb valgrind netcat-openbsd procps

gcc-7_mse_i386:
  stage: build
  script:
  - ./tools/ci/jobs/gcc7.sh --enable-stldebug --without-dyecmd
  - ./tools/ci/scripts/runtests.sh
  <<: *job-push
  image: vicamo/debian:sid-i386
  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
              gdb valgrind netcat-openbsd procps

gcc-7_mse_sdl2:
  stage: build
  script:
  - ./tools/ci/jobs/gcc7.sh --with-sdl2 --enable-stldebug --without-dyecmd
  - ./tools/ci/scripts/runtests.sh
  <<: *job-push
  variables:
    PACKAGES: gcc-7 g++-7 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl2-gfx-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-net-dev libsdl2-ttf-dev
              gdb valgrind netcat-openbsd procps

gcc-7_mse_sdl2_i386:
  stage: build
  script:
  - ./tools/ci/jobs/gcc7.sh --with-sdl2 --enable-stldebug --without-dyecmd
  - ./tools/ci/scripts/runtests.sh
  <<: *job-push
  image: vicamo/debian:sid-i386
  variables:
    PACKAGES: gcc-7 g++-7 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl2-gfx-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-net-dev libsdl2-ttf-dev
              gdb valgrind netcat-openbsd procps

gcc-5_tarball_tests:
  stage: build
  script:
  - ./tools/ci/jobs/gcc6_tarball_tests.sh --without-dyecmd --without-manaplusgame
  <<: *job-push
  variables:
    PACKAGES: gcc-6 g++-6 
              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 
              valgrind

gentoo_gcc-4.9_tests:
  stage: build
  script:
  - ./tools/ci/jobs/gcc49_tests.sh --without-dyecmd --without-manaplusgame
  image: registry.gitlab.com/manaplus/images:gentoo_gcc49_sdl1
  <<: *job-push
  variables:
    PMUPDATE: "echo"
    PMINSTALL: "echo"
    NEWCC: gcc-4.9.4
    NEWCXX: g++-4.9.4
  tags:
    - docker

gentoo_gcc-4.9_tests_sdl2:
  stage: build
  script:
  - ./tools/ci/jobs/gcc49_tests.sh --without-dyecmd --without-manaplusgame --with-sdl2
  image: registry.gitlab.com/manaplus/images:gentoo_gcc49_sdl2
  <<: *job-push
  variables:
    PMUPDATE: "echo"
    PMINSTALL: "echo"
    NEWCC: gcc-4.9.4
    NEWCXX: g++-4.9.4
  tags:
    - docker

# simple builds

gcc-gentoo_sdl1:
  stage: build
  script:
  - ./tools/ci/jobs/any_compiler.sh --enable-werror
  - ./tools/ci/scripts/runtests.sh
  image: registry.gitlab.com/manaplus/images:gentoo_gcc_sdl1
  <<: *job-push
  variables:
    LOGFILE: gcc.log
    CC: gcc
    CXX: g++
    CXXFLAGS: "-Wall -Wextra"
    PMUPDATE: "echo"
    PMINSTALL: "echo"
  tags:
    - docker

gcc-gentoo_sdl2:
  stage: build
  script:
  - ./tools/ci/jobs/any_compiler.sh --with-sdl2 --enable-werror
  - ./tools/ci/scripts/runtests.sh
  image: registry.gitlab.com/manaplus/images:gentoo_gcc_sdl2
  <<: *job-push
  variables:
    LOGFILE: gcc.log
    CC: gcc
    CXX: g++
    CXXFLAGS: "-Wall -Wextra"
    PMUPDATE: "echo"
    PMINSTALL: "echo"
  tags:
    - docker

gcc-3_sdl1:
  stage: build
  script:
  - ./tools/ci/jobs/gcc3.sh
  - ./tools/ci/scripts/runtests.sh
  image: registry.gitlab.com/manaplus/images:gentoo_gcc3_sdl1
  <<: *job-push
  variables:
    PMUPDATE: "echo"
    PMINSTALL: "echo"
  tags:
    - docker

gcc-3_sdl2:
  stage: build
  script:
  - ./tools/ci/jobs/gcc3.sh --with-sdl2
  - ./tools/ci/scripts/runtests.sh
  image: registry.gitlab.com/manaplus/images:gentoo_gcc3_sdl2
  <<: *job-push
  variables:
    PMUPDATE: "echo"
    PMINSTALL: "echo"
  tags:
    - docker

gcc-4.1_sdl1:
  stage: build
  script:
  - ./tools/ci/jobs/gcc41.sh
  - ./tools/ci/scripts/runtests.sh
  image: registry.gitlab.com/manaplus/images:gentoo_gcc41_sdl1
  <<: *job-push
  variables:
    PMUPDATE: "echo"
    PMINSTALL: "echo"
    NEWCC: gcc-4.1.2
    NEWCXX: g++-4.1.2
  tags:
    - docker

gcc-4.1_sdl2:
  stage: build
  script:
  - ./tools/ci/jobs/gcc41.sh --with-sdl2
  - ./tools/ci/scripts/runtests.sh
  image: registry.gitlab.com/manaplus/images:gentoo_gcc41_sdl2
  <<: *job-push
  variables:
    PMUPDATE: "echo"
    PMINSTALL: "echo"
    NEWCC: gcc-4.1.2
    NEWCXX: g++-4.1.2
  tags:
    - docker

gcc-4.3_sdl1:
  stage: build
  script:
  - ./tools/ci/jobs/gcc43.sh
  - ./tools/ci/scripts/runtests.sh
  image: registry.gitlab.com/manaplus/images:gentoo_gcc43_sdl1
  <<: *job-push
  variables:
    PMUPDATE: "echo"
    PMINSTALL: "echo"
    NEWCC: gcc-4.3.6
    NEWCXX: g++-4.3.6
  tags:
    - docker

gcc-4.3_sdl2:
  stage: build
  script:
  - ./tools/ci/jobs/gcc43.sh --with-sdl2
  - ./tools/ci/scripts/runtests.sh
  image: registry.gitlab.com/manaplus/images:gentoo_gcc43_sdl2
  <<: *job-push
  variables:
    PMUPDATE: "echo"
    PMINSTALL: "echo"
    NEWCC: gcc-4.3.6
    NEWCXX: g++-4.3.6
  tags:
    - docker

gcc-4.4_i386:
  stage: build
  script:
  - ./tools/ci/jobs/gcc44.sh
  - ./tools/ci/scripts/runtests.sh
  image: vicamo/debian:wheezy-i386
  <<: *job-push
  variables:
    PACKAGES: gcc-4.4 g++-4.4 
              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
              gdb valgrind netcat-openbsd procps
  tags:
    - docker

gcc-4.5:
  stage: build
  script:
  - ./tools/ci/jobs/gcc45.sh
  - ./tools/ci/scripts/runtests.sh
  image: ubuntu:12.04
  <<: *job-push
  variables:
    PACKAGES: gcc-4.5 g++-4.5 
              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
              gdb valgrind netcat-openbsd procps
  tags:
    - docker

gcc-4.6:
  stage: build
  script:
  - ./tools/ci/jobs/gcc46.sh
  - ./tools/ci/scripts/runtests.sh
  image: debian:wheezy
  <<: *job-push
  variables:
    PACKAGES: gcc-4.6 g++-4.6 
              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
              gdb valgrind netcat-openbsd procps
  tags:
    - docker

gcc-4.6_i386:
  stage: build
  script:
  - ./tools/ci/jobs/gcc46.sh
  - ./tools/ci/scripts/runtests.sh
  image: vicamo/debian:wheezy-i386
  <<: *job-push
  variables:
    PACKAGES: gcc-4.6 g++-4.6 
              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
              gdb valgrind netcat-openbsd procps
  tags:
    - docker

gcc-4.7:
  stage: build
  script:
  - ./tools/ci/jobs/gcc47.sh
  - ./tools/ci/scripts/runtests.sh
  - ./tools/ci/jobs/gcc47_c++11.sh
  - ./tools/ci/scripts/runtests.sh
  image: debian:wheezy
  <<: *job-push
  variables:
    PACKAGES: gcc-4.7 g++-4.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
              gdb valgrind netcat-openbsd procps
  tags:
    - docker

gcc-4.7_i386:
  stage: build
  script:
  - ./tools/ci/jobs/gcc47.sh
  - ./tools/ci/scripts/runtests.sh
  image: vicamo/debian:wheezy-i386
  <<: *job-push
  variables:
    PACKAGES: gcc-4.7 g++-4.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
              gdb valgrind netcat-openbsd procps
  tags:
    - docker

gcc-4.8:
  stage: build
  script:
  - ./tools/ci/jobs/gcc48.sh
  - ./tools/ci/scripts/runtests.sh
  - ./tools/ci/jobs/gcc48_c++11.sh
  - ./tools/ci/scripts/runtests.sh
  image: debian:jessie
  <<: *job-push
  variables:
    PACKAGES: gcc-4.8 g++-4.8 
              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
              gdb valgrind netcat-openbsd procps

gcc-4.8_i386:
  stage: build
  script:
  - ./tools/ci/jobs/gcc48.sh
  - ./tools/ci/scripts/runtests.sh
  image: vicamo/debian:jessie-i386
  <<: *job-push
  variables:
    PACKAGES: gcc-4.8 g++-4.8 
              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
              gdb valgrind netcat-openbsd procps
  tags:
    - docker

clang-3.0:
  stage: build
  script:
  - ./tools/ci/jobs/clang.sh clang
  - ./tools/ci/scripts/runtests.sh
  image: debian:wheezy
  <<: *job-push
  variables:
    PACKAGES: clang libc++-dev 
              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
              gdb valgrind netcat-openbsd procps
  tags:
    - docker

clang-3.0_i386:
  stage: build
  script:
  - ./tools/ci/jobs/clang.sh clang
  - ./tools/ci/scripts/runtests.sh
  image: vicamo/debian:wheezy-i386
  <<: *job-push
  variables:
    PACKAGES: clang libc++-dev 
              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
              gdb valgrind netcat-openbsd procps
  tags:
    - docker

clang-3.3:
  stage: build
  script:
  - ./tools/ci/jobs/clang.sh clang-3.3
  - ./tools/ci/scripts/runtests.sh
  image: ubuntu:12.04
  <<: *job-push
  variables:
    PACKAGES: clang-3.3 libc++-dev 
              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
              gdb valgrind netcat-openbsd procps
  tags:
    - docker

clang-3.3_i386:
  stage: build
  script:
  - ./tools/ci/jobs/clang.sh clang-3.3
  - ./tools/ci/scripts/runtests.sh
  image: vicamo/ubuntu:precise-i386
  <<: *job-push
  variables:
    PACKAGES: clang-3.3 libc++-dev 
              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
              gdb valgrind netcat-openbsd procps
  tags:
    - docker

clang-3.4:
  stage: build
  script:
  - ./tools/ci/jobs/clang34.sh
  - ./tools/ci/scripts/runtests.sh
  image: debian:jessie
  <<: *job-push
  variables:
    PACKAGES: clang-3.4 libc++-dev 
              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
              gdb valgrind netcat-openbsd procps

clang-3.4_i386:
  stage: build
  script:
  - ./tools/ci/jobs/clang34.sh
  - ./tools/ci/scripts/runtests.sh
  image: vicamo/debian:jessie-i386
  <<: *job-push
  variables:
    PACKAGES: clang-3.4 libc++-dev 
              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
              gdb valgrind netcat-openbsd procps
  tags:
    - docker

clang-3.5:
  stage: build
  script:
  - ./tools/ci/jobs/clang35.sh
  - ./tools/ci/scripts/runtests.sh
  image: debian:jessie
  <<: *job-push
  variables:
    PACKAGES: clang-3.5 libc++-dev 
              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
              gdb valgrind netcat-openbsd procps

clang-3.5_i386:
  stage: build
  script:
  - ./tools/ci/jobs/clang35.sh
  - ./tools/ci/scripts/runtests.sh
  image: vicamo/debian:jessie-i386
  <<: *job-push
  variables:
    PACKAGES: clang-3.5 libc++-dev 
              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
              gdb valgrind netcat-openbsd procps
  tags:
    - docker

clang-3.6:
  stage: build
  script:
  - ./tools/ci/jobs/clang36.sh
  - ./tools/ci/scripts/runtests.sh
  image: ubuntu:14.04
  <<: *job-push
  variables:
    PACKAGES: clang-3.6 libc++-dev 
              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
              gdb valgrind netcat-openbsd procps
  tags:
    - docker

clang-3.6_i386:
  stage: build
  script:
  - ./tools/ci/jobs/clang36.sh
  - ./tools/ci/scripts/runtests.sh
  image: vicamo/ubuntu:trusty-i386
  <<: *job-push
  variables:
    PACKAGES: clang-3.6 libc++-dev 
              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
              gdb valgrind netcat-openbsd procps
  tags:
    - docker

clang-3.7:
  stage: build
  script:
  - ./tools/ci/jobs/clang37.sh
  - ./tools/ci/scripts/runtests.sh
  image: ubuntu:16.04
  <<: *job-push
  variables:
    PACKAGES: clang-3.7 libc++-dev 
              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
              gdb valgrind netcat-openbsd procps
  tags:
    - docker

clang-3.7_i386:
  stage: build
  script:
  - ./tools/ci/jobs/clang37.sh
  - ./tools/ci/scripts/runtests.sh
  image: vicamo/ubuntu:xenial-i386
  <<: *job-push
  variables:
    PACKAGES: clang-3.7 libc++-dev 
              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
              gdb valgrind netcat-openbsd procps
  tags:
    - docker

clang-3.8:
  stage: build
  script:
  - ./tools/ci/jobs/clang38.sh
  - ./tools/ci/scripts/runtests.sh
  image: ubuntu:16.04
  <<: *job-push
  variables:
    PACKAGES: clang-3.8 libc++-dev libc++abi-dev 
              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
              gdb valgrind netcat-openbsd procps
  tags:
    - docker

clang-3.8_i386:
  stage: build
  script:
  - ./tools/ci/jobs/clang38.sh
  - ./tools/ci/scripts/runtests.sh
  image: vicamo/ubuntu:xenial-i386
  <<: *job-push
  variables:
    PACKAGES: clang-3.8 libc++-dev libc++abi-dev 
              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
              gdb valgrind netcat-openbsd procps
  tags:
    - docker

.clang-3.9_c++11:
  stage: build
  script:
  - ./tools/ci/jobs/clang39.sh_c++11.sh
  - ./tools/ci/scripts/runtests.sh
  <<: *job-push
  variables:
    PACKAGES: clang-3.9 libc++-dev libc++abi-dev 
              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
              gdb valgrind netcat-openbsd procps

.clang-3.9_c++11_i386:
  stage: build
  script:
  - ./tools/ci/jobs/clang39.sh_c++11.sh
  - ./tools/ci/scripts/runtests.sh
  image: vicamo/debian:sid-i386
  <<: *job-push
  variables:
    PACKAGES: clang-3.9 libc++-dev libc++abi-dev 
              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
              gdb valgrind netcat-openbsd procps
  tags:
    - docker

gcc-7_all_and_unittestsbin:
  stage: build
  script:
  - ./tools/ci/jobs/gcc7_silent.sh --enable-unittestsbin
  - ./tools/ci/scripts/runtests.sh
  <<: *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
              gdb valgrind netcat-openbsd procps

gcc-4.9:
  stage: build
  script:
  - ./tools/ci/jobs/gcc49.sh
  - ./tools/ci/scripts/runtests.sh
  - ./tools/ci/jobs/gcc49_c++11.sh
  - ./tools/ci/scripts/runtests.sh
  image: debian:jessie
  <<: *job-push
  variables:
    PACKAGES: gcc-4.9 g++-4.9 
              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
              gdb valgrind netcat-openbsd procps

gcc-4.9_i386:
  stage: build
  script:
  - ./tools/ci/jobs/gcc49.sh
  - ./tools/ci/scripts/runtests.sh
  image: vicamo/debian:jessie-i386
  <<: *job-push
  variables:
    PACKAGES: gcc-4.9 g++-4.9 
              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
              gdb valgrind netcat-openbsd procps
  tags:
    - docker

cmake_gcc-4.9:
  stage: build
  script:
  - ./tools/ci/jobs/cmake_gcc49.sh
  - ./tools/ci/scripts/runtests.sh
  image: debian:jessie
  <<: *job-push
  variables:
    PACKAGES: gcc-4.9 g++-4.9 
              make cmake 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
              gdb valgrind netcat-openbsd procps
  tags:
    - docker

clang-4.0:
  stage: build
  script:
  - ./tools/ci/jobs/clang40.sh
  - ./tools/ci/scripts/runtests.sh
  <<: *job-push
  variables:
    PACKAGES: clang-4.0 libc++-dev libc++abi-dev 
              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
              gdb valgrind netcat-openbsd procps
  tags:
    - docker

clang-5.0:
  stage: build
  script:
  - ./tools/ci/jobs/clang50.sh
  - ./tools/ci/scripts/runtests.sh
  <<: *job-push
  variables:
    PACKAGES: clang-5.0 libc++-dev libc++abi-dev libclang-5.0-dev 
              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
              gdb valgrind netcat-openbsd procps
  tags:
    - docker

clang-6.0:
  stage: build
  script:
  - ./tools/ci/jobs/clang60.sh
  - ./tools/ci/scripts/runtests.sh
  <<: *job-push
  variables:
    PACKAGES: clang-6.0 libc++-dev libc++abi-dev libclang-6.0-dev 
              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
              gdb valgrind netcat-openbsd procps
  tags:
    - docker

clang-6.0_i386:
  stage: build
  script:
  - ./tools/ci/jobs/clang60.sh
  - ./tools/ci/scripts/runtests.sh
  <<: *job-push
  image: vicamo/debian:sid-i386
  variables:
    PACKAGES: clang-6.0 libc++-dev libc++abi-dev libclang-6.0-dev 
              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
              gdb valgrind netcat-openbsd procps
  tags:
    - docker

clang-6.0_sdl2:
  stage: build
  script:
  - ./tools/ci/jobs/clang60.sh --with-sdl2
  - ./tools/ci/scripts/runtests.sh
  <<: *job-push
  variables:
    PACKAGES: clang-6.0 libc++-dev libc++abi-dev libclang-6.0-dev 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl2-gfx-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-net-dev libsdl2-ttf-dev
              gdb valgrind netcat-openbsd procps
  tags:
    - docker

clang-6.0_sdl2_i386:
  stage: build
  script:
  - ./tools/ci/jobs/clang60.sh --with-sdl2
  - ./tools/ci/scripts/runtests.sh
  <<: *job-push
  image: vicamo/debian:sid-i386
  variables:
    PACKAGES: clang-6.0 libc++-dev libc++abi-dev libclang-6.0-dev 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl2-gfx-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-net-dev libsdl2-ttf-dev
              gdb valgrind netcat-openbsd procps
  tags:
    - docker

gcc-5:
  stage: build
  script:
  - ./tools/ci/jobs/gcc5.sh --enable-werror
  - ./tools/ci/scripts/runtests.sh
  - ./tools/ci/jobs/gcc5_c++11.sh
  - ./tools/ci/scripts/runtests.sh
  <<: *job-push
  variables:
    PACKAGES: gcc-5 g++-5 
              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
              gdb valgrind netcat-openbsd procps

gcc-5_sdl2_c++11_i386:
  stage: build
  script:
  - ./tools/ci/jobs/gcc5_sdl2_c++11.sh
  - ./tools/ci/scripts/runtests.sh
  image: vicamo/debian:sid-i386
  <<: *job-push
  variables:
    PACKAGES: gcc-5 g++-5 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl2-gfx-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-net-dev libsdl2-ttf-dev
              gdb valgrind netcat-openbsd procps
  tags:
    - docker

gcc-snapshot:
  stage: build
  script:
  - ./tools/ci/jobs/gccsnapshot.sh
  - ./tools/ci/scripts/runtests.sh
  <<: *job-push
  variables:
    PACKAGES: gcc-snapshot 
              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
              gdb valgrind netcat-openbsd procps

gcc-snapshot_i386:
  stage: build
  script:
  - ./tools/ci/jobs/gccsnapshot.sh
  - ./tools/ci/scripts/runtests.sh
  image: vicamo/debian:sid-i386
  <<: *job-push
  variables:
    PACKAGES: gcc-snapshot 
              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
              gdb valgrind netcat-openbsd procps
  tags:
    - docker

gcc-snapshot_sdl2:
  stage: build
  script:
  - ./tools/ci/jobs/gccsnapshot_sdl2.sh
  - ./tools/ci/scripts/runtests.sh
  <<: *job-push
  variables:
    PACKAGES: gcc-snapshot 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl2-gfx-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-net-dev libsdl2-ttf-dev
              gdb valgrind netcat-openbsd procps

gcc-snapshot_sdl2_i386:
  stage: build
  script:
  - ./tools/ci/jobs/gccsnapshot_sdl2.sh
  - ./tools/ci/scripts/runtests.sh
  image: vicamo/debian:sid-i386
  <<: *job-push
  variables:
    PACKAGES: gcc-snapshot 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl2-gfx-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-net-dev libsdl2-ttf-dev
              gdb valgrind netcat-openbsd procps
  tags:
    - docker

gcc7_memdebug_sdl1:
  stage: build
  script:
  - ./tools/ci/jobs/gcc7.sh --enable-memdebug --enable-werror
  <<: *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

gcc7_memdebug_sdl2:
  stage: build
  script:
  - ./tools/ci/jobs/gcc7.sh --with-sdl2 --enable-memdebug --enable-werror
  <<: *job-push
  variables:
    PACKAGES: gcc-7 g++-7 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl2-gfx-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-net-dev libsdl2-ttf-dev

gcc7_googleprofiler_sdl1:
  stage: build
  script:
  - ./tools/ci/jobs/gcc7.sh --enable-googleprofiler --enable-werror
  - ./tools/ci/scripts/runtests.sh
  <<: *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
              gdb valgrind netcat-openbsd procps libgoogle-perftools-dev

gcc7_googleprofiler_sdl2:
  stage: build
  script:
  - ./tools/ci/jobs/gcc7.sh --with-sdl2 --enable-googleprofiler --enable-werror
  - ./tools/ci/scripts/runtests.sh
  <<: *job-push
  variables:
    PACKAGES: gcc-7 g++-7 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl2-gfx-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-net-dev libsdl2-ttf-dev
              gdb valgrind netcat-openbsd procps libgoogle-perftools-dev

gcc7_checks_sdl1:
  stage: build
  script:
  - ./tools/ci/jobs/gcc7.sh --enable-checks --enable-werror
  - ./tools/ci/scripts/runtests.sh
  <<: *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
              gdb valgrind netcat-openbsd procps

gcc7_checks_sdl2:
  stage: build
  script:
  - ./tools/ci/jobs/gcc7.sh --with-sdl2 --enable-checks --enable-werror
  - ./tools/ci/scripts/runtests.sh
  <<: *job-push
  variables:
    PACKAGES: gcc-7 g++-7 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl2-gfx-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-net-dev libsdl2-ttf-dev
              gdb valgrind netcat-openbsd procps

gcc7_without_mumble_sdl1:
  stage: build
  script:
  - ./tools/ci/jobs/gcc7.sh --without-mumble --enable-werror
  - ./tools/ci/scripts/runtests.sh
  <<: *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
              gdb valgrind netcat-openbsd procps

gcc7_without_mumble_sdl2:
  stage: build
  script:
  - ./tools/ci/jobs/gcc7.sh --with-sdl2 --without-mumble --enable-werror
  - ./tools/ci/scripts/runtests.sh
  <<: *job-push
  variables:
    PACKAGES: gcc-7 g++-7 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl2-gfx-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-net-dev libsdl2-ttf-dev
              gdb valgrind netcat-openbsd procps

gcc_with_customnls:
  stage: build
  script:
  - ./tools/ci/jobs/gcc5.sh --enable-customnls --enable-werror
  - ./tools/ci/scripts/runtests.sh
  <<: *job-push
  variables:
    PACKAGES: gcc-5 g++-5 
              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
              gdb valgrind netcat-openbsd procps

gcc_with_customnls_sdl2:
  stage: build
  script:
  - ./tools/ci/jobs/gcc5.sh --with-sdl2 --enable-customnls --enable-werror
  - ./tools/ci/scripts/runtests.sh
  <<: *job-push
  variables:
    PACKAGES: gcc-5 g++-5 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl2-gfx-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-net-dev libsdl2-ttf-dev
              gdb valgrind netcat-openbsd procps

gcc_with_customnls_nonls:
  stage: build
  script:
  - ./tools/ci/jobs/gcc5.sh --enable-customnls --disable-nls --enable-werror
  - ./tools/ci/scripts/runtests.sh
  <<: *job-push
  variables:
    PACKAGES: gcc-5 g++-5 
              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
              gdb valgrind netcat-openbsd procps

gcc_with_customnls_nonls_sdl2:
  stage: build
  script:
  - ./tools/ci/jobs/gcc5.sh --with-sdl2 --enable-customnls --disable-nls --enable-werror
  - ./tools/ci/scripts/runtests.sh
  <<: *job-push
  variables:
    PACKAGES: gcc-5 g++-5 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl2-gfx-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-net-dev libsdl2-ttf-dev
              gdb valgrind netcat-openbsd procps

gcc49_cilkplus:
  stage: build
  script:
  - ./tools/ci/jobs/gcc49.sh --enable-cilkplus
  - ./tools/ci/scripts/runtests.sh
  image: debian:jessie
  <<: *job-push
  variables:
    PACKAGES: gcc-4.9 g++-4.9 
              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
              gdb valgrind netcat-openbsd procps

gcc-5_cilkplus:
  stage: build
  script:
  - ./tools/ci/jobs/gcc5.sh --enable-cilkplus
  - ./tools/ci/scripts/runtests.sh
  <<: *job-push
  variables:
    PACKAGES: gcc-5 g++-5 
              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
              gdb valgrind netcat-openbsd procps

gcc-6_cilkplus:
  stage: build
  script:
  - ./tools/ci/jobs/gcc6.sh --enable-cilkplus
  - ./tools/ci/scripts/runtests.sh
  <<: *job-push
  variables:
    PACKAGES: gcc-6 g++-6 
              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
              gdb valgrind netcat-openbsd procps

gcc-7_cilkplus:
  stage: build
  script:
  - ./tools/ci/jobs/gcc7.sh --enable-cilkplus
  - ./tools/ci/scripts/runtests.sh
  <<: *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
              gdb valgrind netcat-openbsd procps

gcc-7_pugixml:
  stage: build
  script:
  - ./tools/ci/jobs/gcc7.sh --enable-libxml=pugixml
  - ./tools/ci/scripts/runtests.sh
  <<: *job-push
  variables:
    PACKAGES: gcc-7 g++-7 
              make autoconf automake autopoint gettext 
              libpugixml-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
              gdb valgrind netcat-openbsd procps

gcc-7_pugixml_i386:
  stage: build
  script:
  - ./tools/ci/jobs/gcc7.sh --enable-libxml=pugixml
  - ./tools/ci/scripts/runtests.sh
  image: vicamo/debian:sid-i386
  <<: *job-push
  variables:
    PACKAGES: gcc-7 g++-7 
              make autoconf automake autopoint gettext 
              libpugixml-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
              gdb valgrind netcat-openbsd procps

gcc-7_pugixml_sdl2:
  stage: build
  script:
  - ./tools/ci/jobs/gcc7.sh --with-sdl2 --enable-libxml=pugixml
  - ./tools/ci/scripts/runtests.sh
  <<: *job-push
  variables:
    PACKAGES: gcc-7 g++-7 
              make autoconf automake autopoint gettext 
              libpugixml-dev libcurl4-gnutls-dev libpng-dev 
              libsdl2-gfx-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-net-dev libsdl2-ttf-dev
              gdb valgrind netcat-openbsd procps

gcc-7_pugixml_sdl2_i386:
  stage: build
  script:
  - ./tools/ci/jobs/gcc7.sh --with-sdl2 --enable-libxml=pugixml
  - ./tools/ci/scripts/runtests.sh
  <<: *job-push
  variables:
    PACKAGES: gcc-7 g++-7 
              make autoconf automake autopoint gettext 
              libpugixml-dev libcurl4-gnutls-dev libpng-dev 
              libsdl2-gfx-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-net-dev libsdl2-ttf-dev
              gdb valgrind netcat-openbsd procps

gcc_portable:
  stage: build
  script:
  - ./tools/ci/jobs/gcc7.sh --with-opengl --enable-tmwa --enable-portable=yes
  - ./tools/ci/scripts/runtests.sh
  <<: *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
              gdb valgrind netcat-openbsd procps

clang-3.9_sdl2:
  stage: build
  script:
  - ./tools/ci/jobs/clang39_sdl2.sh
  - ./tools/ci/scripts/runtests.sh
  <<: *job-push
  variables:
    PACKAGES: clang-3.9 libc++-dev libc++abi-dev 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl2-gfx-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-net-dev libsdl2-ttf-dev
              gdb valgrind netcat-openbsd procps

gcc-7_no_asserts:
  stage: build
  script:
  - ./tools/ci/jobs/gcc7.sh --disable-asserts
  - ./tools/ci/scripts/runtests.sh
  <<: *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
              gdb valgrind netcat-openbsd procps

gcc-4.8_sdl2:
  stage: build
  script:
  - ./tools/ci/jobs/gcc48.sh --with-sdl2
  - ./tools/ci/scripts/runtests.sh
  image: debian:jessie
  <<: *job-push
  variables:
    PACKAGES: gcc-4.8 g++-4.8 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl2-gfx-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-net-dev libsdl2-ttf-dev
              gdb valgrind netcat-openbsd procps

gcc-4.9_sdl2:
  stage: build
  script:
  - ./tools/ci/jobs/gcc49.sh --with-sdl2
  - ./tools/ci/scripts/runtests.sh
  image: debian:jessie
  <<: *job-push
  variables:
    PACKAGES: gcc-4.9 g++-4.9 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl2-gfx-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-net-dev libsdl2-ttf-dev
              gdb valgrind netcat-openbsd procps

gcc-6_default_i386:
  stage: build
  script:
  - ./tools/ci/jobs/any_compiler.sh --enable-werror
  - ./tools/ci/scripts/runtests.sh
  <<: *job-push
  image: vicamo/debian:sid-i386
  variables:
    LOGFILE: gcc6.log
    CC: gcc-6
    CXX: g++-6
    CXXFLAGS: "-Wall -Wextra"
    PACKAGES: gcc-6 g++-6 
              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
              gdb valgrind netcat-openbsd procps
  tags:
    - docker

gcc-7_default_i386:
  stage: build
  script:
  - ./tools/ci/jobs/any_compiler.sh --enable-werror
  - ./tools/ci/scripts/runtests.sh
  <<: *job-push
  image: vicamo/debian:sid-i386
  variables:
    LOGFILE: gcc7.log
    CC: gcc-7
    CXX: g++-7
    CXXFLAGS: "-Wall -Wextra"
    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
              gdb valgrind netcat-openbsd procps
  tags:
    - docker

gcc-5_default:
  stage: build
  script:
  - ./tools/ci/jobs/any_compiler.sh --enable-werror
  - ./tools/ci/scripts/runtests.sh
  <<: *job-push
  variables:
    LOGFILE: gcc5.log
    CC: gcc-5
    CXX: g++-5
    CXXFLAGS: "-Wall -Wextra"
    PACKAGES: gcc-5 g++-5 
              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
              gdb valgrind netcat-openbsd procps

gcc-5_default_i386:
  stage: build
  script:
  - ./tools/ci/jobs/any_compiler.sh --enable-werror
  - ./tools/ci/scripts/runtests.sh
  <<: *job-push
  image: vicamo/debian:sid-i386
  variables:
    LOGFILE: gcc5.log
    CC: gcc-5
    CXX: g++-5
    CXXFLAGS: "-Wall -Wextra"
    PACKAGES: gcc-5 g++-5 
              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
              gdb valgrind netcat-openbsd procps
  tags:
    - docker

gcc-5_tarball:
  stage: build
  script:
  - ./tools/ci/jobs/gcc5_tarball.sh
  <<: *job-push
  variables:
    PACKAGES: gcc-5 g++-5 
              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

fedora_gcc-snapshot_tests:
  stage: build
  script:
  - ./tools/ci/jobs/gccsnapshot_tests.sh --without-dyecmd --without-manaplusgame
  <<: *job-push
  image: fedora:rawhide
  variables:
    PMUPDATE: "dnf --nogpgcheck install --refresh -y @development-tools"
    PMINSTALL: "dnf --nogpgcheck install -y bash tar findutils gcc gcc-c++ make libpng-devel libcurl-devel openssl-devel libxml2-devel gcc SDL-devel SDL_net-devel SDL_image-devel SDL_ttf-devel SDL_mixer-devel SDL_gfx-devel zlib-devel gettext-devel automake autoconf valgrind"
    FLAGS: "gccfedora.sh"
  tags:
  - docker

fedora_gcc-snapshot_sdl2_tests:
  stage: build
  script:
  - ./tools/ci/jobs/gccsnapshot_tests.sh --with-sdl2 --without-dyecmd --without-manaplusgame
  <<: *job-push
  image: fedora:rawhide
  variables:
    PMUPDATE: "dnf --nogpgcheck install --refresh -y @development-tools"
    PMINSTALL: "dnf --nogpgcheck install -y bash tar findutils mesa-libGL-devel gcc gcc-c++ make libpng-devel libcurl-devel openssl-devel libxml2-devel gcc SDL2-devel SDL2_net-devel SDL2_image-devel SDL2_ttf-devel SDL2_mixer-devel SDL2_gfx-devel zlib-devel gettext-devel automake autoconf valgrind"
    FLAGS: "gccfedora.sh"
  tags:
  - docker

fedora_gcc-snapshot:
  stage: build
  script:
  - ./tools/ci/jobs/gccsnapshot.sh
  - ./tools/ci/scripts/runtests.sh
  <<: *job-push
  image: fedora:rawhide
  variables:
    PMUPDATE: "dnf --nogpgcheck install --refresh -y @development-tools"
    PMINSTALL: "dnf --nogpgcheck install -y nc bash tar findutils gcc gcc-c++ make libpng-devel libcurl-devel openssl-devel libxml2-devel gcc SDL-devel SDL_net-devel SDL_image-devel SDL_ttf-devel SDL_mixer-devel SDL_gfx-devel zlib-devel gettext-devel automake autoconf"
    FLAGS: "gccfedora.sh"
  tags:
  - docker

fedora_gcc-snapshot_sdl2:
  stage: build
  script:
  - ./tools/ci/jobs/gccsnapshot.sh --with-sdl2
  - ./tools/ci/scripts/runtests.sh
  <<: *job-push
  image: fedora:rawhide
  variables:
    PMUPDATE: "dnf --nogpgcheck install --refresh -y @development-tools"
    PMINSTALL: "dnf --nogpgcheck install -y nc bash tar findutils mesa-libGL-devel gcc gcc-c++ make libpng-devel libcurl-devel openssl-devel libxml2-devel gcc SDL2-devel SDL2_net-devel SDL2_image-devel SDL2_ttf-devel SDL2_mixer-devel SDL2_gfx-devel zlib-devel gettext-devel automake autoconf"
    FLAGS: "gccfedora.sh"
  tags:
  - docker

# error compilation. cant find SDL.
.gcc-7_zlib_ng_develop:
  stage: build
  script:
  - ./tools/ci/scripts/downloadlib.sh ${LIBNAME} ${LIBVERSION}
  - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ./tools/ci/jobs/gcc7.sh
  - /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
  <<: *job-push
  variables:
    LIBNAME: zlib_ng
    LIBVERSION: develop
    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
              wget unzip gdb valgrind netcat-openbsd procps
  tags:
    - docker

# disabled due gitlab bug
.gcc-7_SDL_SDL-1.2_sanitize:
  stage: build
  script:
  - ./tools/ci/scripts/downloadlib.sh ${LIBNAME} ${LIBVERSION}
  - echo /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ${runenvz}
  - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ${runenvx} ${runenvz} env
  - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ${runenvx} ${runenvz} ./tools/ci/jobs/gcc7_sanitize.sh
  - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ${runenvx} ${runenvz} ./tools/ci/scripts/runtests.sh
  - ldd ./src/manaplus | grep "libasan"
  <<: *job-push
  variables:
    LIBNAME: SDL
    LIBVERSION: SDL-1.2
    PACKAGES: gcc-7 g++-7 
              make autoconf automake autopoint gettext pkg-config 
              libx11-dev libxext-dev libxt-dev libxv-dev x11proto-core-dev libgl1-mesa-dev libasound2-dev libglu1-mesa-dev libicu-dev 
              valgrind netcat-openbsd
              wget unzip
    runenvz: /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runzlib_master.sh
    runenvx: /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runlibxml2_master.sh
  tags:
    - docker

# disabled due gitlab bug
.gcc-7_SDL_default_sanitize:
  stage: build
  script:
  - ./tools/ci/scripts/downloadlib.sh ${LIBNAME} ${LIBVERSION}
  - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ${runenvx} ${runenvz} ./tools/ci/jobs/gcc7_sanitize.sh --with-sdl2
  - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ${runenvx} ${runenvz} ./tools/ci/scripts/runtests.sh
  - ldd ./src/manaplus | grep "libasan"
  <<: *job-push
  variables:
    LIBNAME: SDL
    LIBVERSION: default
    PACKAGES: gcc-7 g++-7 
              make autoconf automake autopoint gettext pkg-config 
              libx11-dev libxext-dev libxt-dev libxv-dev x11proto-core-dev libgl1-mesa-dev libasound2-dev libicu-dev 
              valgrind netcat-openbsd
              wget unzip
    runenvz: /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runzlib_master.sh
    runenvx: /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runlibxml2_master.sh
  tags:
    - docker


# disabled due gitlab bug
.gcc-7_SDL_SDL-1.2_old_sanitize:
  stage: build
  script:
  - ./tools/ci/scripts/downloadlib.sh ${LIBNAME} ${LIBVERSION}
  - echo /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ${runenvz}
  - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ${runenvx} ${runenvz} env
  - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ${runenvx} ${runenvz} ./tools/ci/jobs/gcc7_sanitize.sh
  - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ${runenvx} ${runenvz} ./tools/ci/scripts/runtests.sh
  - ldd ./src/manaplus | grep "libasan"
  <<: *job-push
  variables:
    LIBNAME: SDL
    LIBVERSION: SDL-1.2_old
    PACKAGES: gcc-7 g++-7 
              make autoconf automake autopoint gettext pkg-config 
              libx11-dev libxext-dev libxt-dev libxv-dev x11proto-core-dev libgl1-mesa-dev libasound2-dev libglu1-mesa-dev libicu-dev 
              valgrind netcat-openbsd
              libjpeg-dev libtiff-dev
              wget unzip
    runenvz: /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runzlib_v1.2.5.sh
    runenvx: /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runlibxml2_v2.9.1.sh
    POST_CXXFLAGS: "-Wno-undef"
  tags:
    - docker

# disabled due gitlab bug
.gcc-7_SDL_default_old_sanitize:
  stage: build
  script:
  - ./tools/ci/scripts/downloadlib.sh ${LIBNAME} ${LIBVERSION}
  - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ${runenvx} ${runenvz} ./tools/ci/jobs/gcc7_sanitize.sh --with-sdl2
  - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ${runenvx} ${runenvz} ./tools/ci/scripts/runtests.sh
  - ldd ./src/manaplus | grep "libasan"
  <<: *job-push
  variables:
    LIBNAME: SDL
    LIBVERSION: default_old
    PACKAGES: gcc-7 g++-7 
              make autoconf automake autopoint gettext pkg-config 
              libx11-dev libxext-dev libxt-dev libxv-dev x11proto-core-dev libgl1-mesa-dev libasound2-dev libicu-dev 
              valgrind netcat-openbsd
              libjpeg-dev libtiff-dev
              wget unzip
    runenvz: /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runzlib_v1.2.5.sh
    runenvx: /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runlibxml2_v2.9.1.sh
    POST_CXXFLAGS: "-Wno-undef"
  tags:
    - docker

deheader_libxml_opengl_tmwa:
  stage: build
  script:
  - export FLAGS="-DENABLE_LIBXML -DUSE_OPENGL -DUSE_X11 -DTMWA_SUPPORT"
  - ./tools/ci/jobs/deheader.sh
  - find ./src -type f \( -name "*.cpp" -o -name "*.h" \) -exec tools/ci/scripts/deheader.sh {} \;
  - ./tools/ci/jobs/deheader2.sh
  <<: *job-push
  <<: *job-deheader_shared

deheader_sdl2_libxml_opengl_tmwa:
  stage: build
  script:
  - export FLAGS="-DENABLE_LIBXML -DUSE_OPENGL -DUSE_X11 -DTMWA_SUPPORT -DUSE_SDL2"
  - ./tools/ci/jobs/deheader.sh
  - find ./src -type f \( -name "*.cpp" -o -name "*.h" \) -exec tools/ci/scripts/deheader.sh {} \;
  - ./tools/ci/jobs/deheader2.sh
  <<: *job-push
  <<: *job-deheader_sdl2_shared

deheader_libxml_tmwa:
  stage: build
  script:
  - export FLAGS="-DENABLE_LIBXML -DUSE_X11 -DTMWA_SUPPORT"
  - ./tools/ci/jobs/deheader.sh
  - find ./src -type f \( -name "*.cpp" -o -name "*.h" \) -exec tools/ci/scripts/deheader.sh {} \;
  - ./tools/ci/jobs/deheader2.sh
  <<: *job-push
  <<: *job-deheader_shared

deheader_sdl2_libxml_tmwa:
  stage: build
  script:
  - export FLAGS="-DENABLE_LIBXML -DUSE_X11 -DTMWA_SUPPORT -DUSE_SDL2"
  - ./tools/ci/jobs/deheader.sh
  - find ./src -type f \( -name "*.cpp" -o -name "*.h" \) -exec tools/ci/scripts/deheader.sh {} \;
  - ./tools/ci/jobs/deheader2.sh
  <<: *job-push
  <<: *job-deheader_sdl2_shared

deheader_tinyxml_opengl_tmwa:
  stage: build
  script:
  - export FLAGS="-DENABLE_TINYXML2 -DUSE_OPENGL -DUSE_X11 -DTMWA_SUPPORT"
  - ./tools/ci/jobs/deheader.sh
  - find ./src -type f \( -name "*.cpp" -o -name "*.h" \) -exec tools/ci/scripts/deheader.sh {} \;
  - ./tools/ci/jobs/deheader2.sh
  <<: *job-push
  variables:
    GIT_DEPTH: "1"
    INCLUDES: "-I/usr/include/SDL -I/usr/include/libxml2"
    LOGFILE: logs/deheader.log
    CXX: g++-5
    PACKAGES: python wget 
              gcc-5 g++-5 
              libtinyxml2-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

deheader_sdl2_tinyxml_opengl_tmwa:
  stage: build
  script:
  - export FLAGS="-DENABLE_TINYXML2 -DUSE_OPENGL -DUSE_X11 -DTMWA_SUPPORT -DUSE_SDL2"
  - ./tools/ci/jobs/deheader.sh
  - find ./src -type f \( -name "*.cpp" -o -name "*.h" \) -exec tools/ci/scripts/deheader.sh {} \;
  - ./tools/ci/jobs/deheader2.sh
  <<: *job-push
  variables:
    GIT_DEPTH: "1"
    INCLUDES: "-I/usr/include/SDL2 -I/usr/include/libxml2"
    LOGFILE: logs/deheader.log
    CXX: g++-5
    PACKAGES: python wget 
              gcc-5 g++-5 
              libtinyxml2-dev libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl2-gfx-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-net-dev libsdl2-ttf-dev

deheader_libxml_opengl:
  stage: build
  script:
  - export FLAGS="-DENABLE_LIBXML -DUSE_OPENGL -DUSE_X11"
  - ./tools/ci/jobs/deheader.sh
  - export skipPath="src/net/tmwa/"
  - find ./src -type f \( -name "*.cpp" -o -name "*.h" \) -exec tools/ci/scripts/deheader.sh {} \;
  - ./tools/ci/jobs/deheader2.sh
  <<: *job-push
  <<: *job-deheader_shared

deheader_sdl2_libxml_opengl:
  stage: build
  script:
  - export FLAGS="-DENABLE_LIBXML -DUSE_OPENGL -DUSE_X11 -DUSE_SDL2"
  - ./tools/ci/jobs/deheader.sh
  - export skipPath="src/net/tmwa/"
  - find ./src -type f \( -name "*.cpp" -o -name "*.h" \) -exec tools/ci/scripts/deheader.sh {} \;
  - ./tools/ci/jobs/deheader2.sh
  <<: *job-push
  <<: *job-deheader_sdl2_shared

clang-tidy:
  stage: build
  script:
  - ./tools/ci/jobs/clang_tidy.sh
  <<: *job-push
  variables:
    PACKAGES: clang clang-tidy 
              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
    FLAGS: "-readability-implicit-bool-cast,-clang-analyzer-optin.cplusplus.VirtualCall,-performance-unnecessary-value-param,-misc-unused-parameters,-modernize-use-default,-clang-analyzer-alpha.deadcode.UnreachableCode,-clang-analyzer-alpha.cplusplus.VirtualCall,-clang-analyzer-alpha.unix.Stream,-clang-analyzer-alpha.security.taint.TaintPropagation,-clang-analyzer-alpha.core.CastToStruct,-clang-analyzer-alpha.core.BoolAssignment"
    DFLAGS: "-DENABLE_LIBXML -DTMWA_SUPPORT -DDEBUGBUILD"
    INCLUDES: "-I/usr/include -I/usr/include/SDL -I/usr/include/libxml2"
  tags:
    - docker

clang-tidy_sdl2:
  stage: build
  script:
  - ./tools/ci/jobs/clang_tidy.sh
  <<: *job-push
  variables:
    PACKAGES: clang clang-tidy 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl2-gfx-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-net-dev libsdl2-ttf-dev
    FLAGS: "-readability-implicit-bool-cast,-clang-analyzer-optin.cplusplus.VirtualCall,-performance-unnecessary-value-param,-misc-unused-parameters,-modernize-use-default,-clang-analyzer-alpha.deadcode.UnreachableCode,-clang-analyzer-alpha.cplusplus.VirtualCall,-clang-analyzer-alpha.unix.Stream,-clang-analyzer-alpha.security.taint.TaintPropagation,-clang-analyzer-alpha.core.CastToStruct,-clang-analyzer-alpha.core.BoolAssignment,-cppcoreguidelines-pro-type-cstyle-cast"
    DFLAGS: "-DENABLE_LIBXML -DTMWA_SUPPORT -DDEBUGBUILD -DUSE_SDL2"
    INCLUDES: "-I/usr/include -I/usr/include/SDL2 -I/usr/include/libxml2"
  tags:
    - docker

gcc-7_openglerrors_i386:
  stage: build
  script:
  - ./tools/ci/jobs/gcc7.sh --enable-openglerrors
  - ./tools/ci/scripts/runtests.sh
  <<: *job-push
  image: vicamo/debian:sid-i386
  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
              gdb valgrind netcat-openbsd procps

gcc-7_openglerrors:
  stage: build
  script:
  - ./tools/ci/jobs/gcc7.sh --enable-openglerrors
  - ./tools/ci/scripts/runtests.sh
  <<: *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
              gdb valgrind netcat-openbsd procps

doxygen:
  stage: build
  script:
  - ./tools/ci/jobs/doxygen.sh
  artifacts:
    paths:
    - 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

gcc-5_h_pugi_all:
  stage: build
  script:
  - ./tools/ci/jobs/gcc5_h.sh -std=c++0x -DDEBUGBUILD -DTMWA_SUPPORT -DENABLE_NLS -DUSE_OPENGL -DENABLE_PUGIXML -I/usr/include/SDL
  - ./tools/ci/jobs/gcc5_h.sh -std=c++0x -DDEBUGBUILD -DTMWA_SUPPORT -DENABLE_LIBXML -DENABLE_PUGIXML -I/usr/include/SDL
  - ./tools/ci/jobs/gcc5_h.sh -std=c++0x -DDEBUGBUILD -DTMWA_SUPPORT -DENABLE_NLS -DENABLE_PUGIXML -I/usr/include/SDL
  - ./tools/ci/jobs/gcc5_h.sh -std=c++0x -DDEBUGBUILD -DTMWA_SUPPORT -DENABLE_NLS -DUSE_OPENGL -DENABLE_PUGIXML -DUNITTESTS -DUNITTESTS_CATCH -I/usr/include/SDL
  - ./tools/ci/jobs/gcc5_h.sh -std=c++0x -DDEBUGBUILD -DENABLE_NLS -DUSE_OPENGL -DENABLE_PUGIXML -I/usr/include/SDL
  <<: *job-push
  variables:
    PACKAGES: gcc-5 g++-5 
              make autoconf automake autopoint gettext 
              libpugixml-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

gcc-5_h_tinyxml2_all:
  stage: build
  script:
  - ./tools/ci/jobs/gcc5_h.sh -std=c++0x -DDEBUGBUILD -DTMWA_SUPPORT -DENABLE_NLS -DUSE_OPENGL -DENABLE_TINYXML2 -I/usr/include/SDL
  - ./tools/ci/jobs/gcc5_h.sh -std=c++0x -DDEBUGBUILD -DTMWA_SUPPORT -DENABLE_TINYXML2 -I/usr/include/SDL
  - ./tools/ci/jobs/gcc5_h.sh -std=c++0x -DDEBUGBUILD -DTMWA_SUPPORT -DENABLE_NLS -DENABLE_TINYXML2 -I/usr/include/SDL
  - ./tools/ci/jobs/gcc5_h.sh -std=c++0x -DDEBUGBUILD -DTMWA_SUPPORT -DENABLE_NLS -DUSE_OPENGL -DENABLE_TINYXML2 -DUNITTESTS -DUNITTESTS_CATCH -I/usr/include/SDL
  - ./tools/ci/jobs/gcc5_h.sh -std=c++0x -DDEBUGBUILD -DENABLE_NLS -DUSE_OPENGL -DENABLE_TINYXML2 -I/usr/include/SDL
  <<: *job-push
  variables:
    PACKAGES: gcc-5 g++-5 
              make autoconf automake autopoint gettext 
              libtinyxml2-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

gcc-5_h_sdl2:
  stage: build
  script:
  - ./tools/ci/jobs/gcc5_h.sh -std=c++0x -DDEBUGBUILD -DTMWA_SUPPORT -DENABLE_NLS -DUSE_OPENGL -DENABLE_LIBXML -DUSE_SDL2 -I/usr/include/SDL2
  - ./tools/ci/jobs/gcc5_h.sh -std=c++0x -DDEBUGBUILD -DTMWA_SUPPORT -DENABLE_LIBXML -DUSE_SDL2 -I/usr/include/SDL2
  - ./tools/ci/jobs/gcc5_h.sh -std=c++0x -DDEBUGBUILD -DTMWA_SUPPORT -DENABLE_NLS -DENABLE_LIBXML -DUSE_SDL2 -I/usr/include/SDL2
  - ./tools/ci/jobs/gcc5_h.sh -std=c++0x -DDEBUGBUILD -DTMWA_SUPPORT -DENABLE_NLS -DUSE_OPENGL -DENABLE_LIBXML -DUNITTESTS -DUNITTESTS_CATCH -DUSE_SDL2 -I/usr/include/SDL2
  <<: *job-push
  variables:
    PACKAGES: gcc-5 g++-5 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl2-gfx-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-net-dev libsdl2-ttf-dev

gcc-5_h_sdl2_i386:
  stage: build
  script:
  - ./tools/ci/jobs/gcc5_h.sh -std=c++0x -DDEBUGBUILD -DTMWA_SUPPORT -DENABLE_NLS -DUSE_OPENGL -DENABLE_LIBXML -DUSE_SDL2 -I/usr/include/SDL2
  - ./tools/ci/jobs/gcc5_h.sh -std=c++0x -DDEBUGBUILD -DTMWA_SUPPORT -DENABLE_LIBXML -DUSE_SDL2 -I/usr/include/SDL2
  - ./tools/ci/jobs/gcc5_h.sh -std=c++0x -DDEBUGBUILD -DTMWA_SUPPORT -DENABLE_NLS -DENABLE_LIBXML -DUSE_SDL2 -I/usr/include/SDL2
  - ./tools/ci/jobs/gcc5_h.sh -std=c++0x -DDEBUGBUILD -DTMWA_SUPPORT -DENABLE_NLS -DUSE_OPENGL -DENABLE_LIBXML -DUNITTESTS -DUNITTESTS_CATCH -DUSE_SDL2 -I/usr/include/SDL2
  image: vicamo/debian:sid-i386
  <<: *job-push
  variables:
    PACKAGES: gcc-5 g++-5 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl2-gfx-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-net-dev libsdl2-ttf-dev

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

mxe_gcc6_shared_32_tests:
  stage: build
  script:
  - tools\ci\jobs\windowstest.cmd files32
  - dir
  artifacts:
    paths:
    - logs
    when: always
    expire_in: 3 week
  dependencies:
    - mxe_gcc6_shared_32_testsbin
  when: manual
  except:
    - triggers
  tags:
    - windows

mxe_gcc6_shared_64_tests:
  stage: build
  script:
  - tools\ci\jobs\windowstest.cmd files64
  artifacts:
    paths:
    - logs
    when: always
    expire_in: 3 week
  dependencies:
    - mxe_gcc6_shared_64_testsbin
  when: manual
  except:
    - triggers
  tags:
    - windows

# 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

ok_job:
  stage: ok
  script:
  - pwd
  - echo $CI_BUILD_REF_NAME
  dependencies: []
  when: on_success
  variables:
    UPDATEREPOS: ""
    PMUPDATE: "echo"
    PMINSTALL: "echo"

fail_job:
  stage: fail
  script:
  - pwd
  - echo $CI_BUILD_REF_NAME
  dependencies: []
  when: on_failure
  variables:
    UPDATEREPOS: ""
    PMUPDATE: "echo"
    PMINSTALL: "echo"