summaryrefslogblamecommitdiffstats
path: root/.gitlab-ci.d/crossbuilds.yml
blob: 2198abb400ed110eba4b2a8815f36df6b23de400 (plain) (tree)
1
2
3
4
5
6
7
8
                        

                                              
              



                                      



                                                                      
                                                                  
 



                                                                         
                                 







                                              
                                                                      
                                                                    

                                                 
                      





                                              

                                                                      
                                                                  

                   
                                  

                                     



                             
                                

                                     



                             
                                  

                                     



                             
                                

                                     



                             
                                  

                                     



                             
                                

                                     


                             

                                  

                                    





                                

                                    



                            
                  
                                  

                                    



                            
                                

                                    



                            
                                  

                                      



                              
                                

                                      



                              
                                  

                                        



                                
                                

                                        



                                
                                  

                                       



                               
                                

                                       



                               
                                  

                                     



                             
                                

                                     


                             

                                 

                                     

                             
                                       
 





                                        
                                                                      
 
                   
                                  

                                     
            
                             

                   
                                  

                                     
            
                             


                                 

                                     


                             
                                                     


                                 

                                     


                             
                                                     
.cross_system_build_job:
  stage: build
  image: $CI_REGISTRY_IMAGE/qemu/$IMAGE:latest
  timeout: 80m
  script:
    - mkdir build
    - cd build
    - PKG_CONFIG_PATH=$PKG_CONFIG_PATH
      ../configure --enable-werror --disable-docs $QEMU_CONFIGURE_OPTS
        --disable-user --target-list-exclude="arm-softmmu cris-softmmu
          i386-softmmu microblaze-softmmu mips-softmmu mipsel-softmmu
          mips64-softmmu ppc-softmmu sh4-softmmu xtensa-softmmu"
    - make -j$(expr $(nproc) + 1) all check-build $MAKE_CHECK_ARGS

# Job to cross-build specific accelerators.
#
# Set the $ACCEL variable to select the specific accelerator (default to
# KVM), and set extra options (such disabling other accelerators) via the
# $EXTRA_CONFIGURE_OPTS variable.
.cross_accel_build_job:
  stage: build
  image: $CI_REGISTRY_IMAGE/qemu/$IMAGE:latest
  timeout: 30m
  script:
    - mkdir build
    - cd build
    - PKG_CONFIG_PATH=$PKG_CONFIG_PATH
      ../configure --enable-werror --disable-docs $QEMU_CONFIGURE_OPTS
        --disable-tools --enable-${ACCEL:-kvm} $EXTRA_CONFIGURE_OPTS
    - make -j$(expr $(nproc) + 1) all check-build

.cross_user_build_job:
  stage: build
  image: $CI_REGISTRY_IMAGE/qemu/$IMAGE:latest
  script:
    - mkdir build
    - cd build
    - PKG_CONFIG_PATH=$PKG_CONFIG_PATH
      ../configure --enable-werror --disable-docs $QEMU_CONFIGURE_OPTS
        --disable-system
    - make -j$(expr $(nproc) + 1) all check-build $MAKE_CHECK_ARGS

cross-armel-system:
  extends: .cross_system_build_job
  needs:
    job: armel-debian-cross-container
  variables:
    IMAGE: debian-armel-cross

cross-armel-user:
  extends: .cross_user_build_job
  needs:
    job: armel-debian-cross-container
  variables:
    IMAGE: debian-armel-cross

cross-armhf-system:
  extends: .cross_system_build_job
  needs:
    job: armhf-debian-cross-container
  variables:
    IMAGE: debian-armhf-cross

cross-armhf-user:
  extends: .cross_user_build_job
  needs:
    job: armhf-debian-cross-container
  variables:
    IMAGE: debian-armhf-cross

cross-arm64-system:
  extends: .cross_system_build_job
  needs:
    job: arm64-debian-cross-container
  variables:
    IMAGE: debian-arm64-cross

cross-arm64-user:
  extends: .cross_user_build_job
  needs:
    job: arm64-debian-cross-container
  variables:
    IMAGE: debian-arm64-cross

cross-i386-system:
  extends: .cross_system_build_job
  needs:
    job: i386-fedora-cross-container
  variables:
    IMAGE: fedora-i386-cross
    MAKE_CHECK_ARGS: check-qtest

cross-i386-user:
  extends: .cross_user_build_job
  needs:
    job: i386-fedora-cross-container
  variables:
    IMAGE: fedora-i386-cross
    MAKE_CHECK_ARGS: check

cross-mips-system:
  extends: .cross_system_build_job
  needs:
    job: mips-debian-cross-container
  variables:
    IMAGE: debian-mips-cross

cross-mips-user:
  extends: .cross_user_build_job
  needs:
    job: mips-debian-cross-container
  variables:
    IMAGE: debian-mips-cross

cross-mipsel-system:
  extends: .cross_system_build_job
  needs:
    job: mipsel-debian-cross-container
  variables:
    IMAGE: debian-mipsel-cross

cross-mipsel-user:
  extends: .cross_user_build_job
  needs:
    job: mipsel-debian-cross-container
  variables:
    IMAGE: debian-mipsel-cross

cross-mips64el-system:
  extends: .cross_system_build_job
  needs:
    job: mips64el-debian-cross-container
  variables:
    IMAGE: debian-mips64el-cross

cross-mips64el-user:
  extends: .cross_user_build_job
  needs:
    job: mips64el-debian-cross-container
  variables:
    IMAGE: debian-mips64el-cross

cross-ppc64el-system:
  extends: .cross_system_build_job
  needs:
    job: ppc64el-debian-cross-container
  variables:
    IMAGE: debian-ppc64el-cross

cross-ppc64el-user:
  extends: .cross_user_build_job
  needs:
    job: ppc64el-debian-cross-container
  variables:
    IMAGE: debian-ppc64el-cross

cross-s390x-system:
  extends: .cross_system_build_job
  needs:
    job: s390x-debian-cross-container
  variables:
    IMAGE: debian-s390x-cross

cross-s390x-user:
  extends: .cross_user_build_job
  needs:
    job: s390x-debian-cross-container
  variables:
    IMAGE: debian-s390x-cross

cross-s390x-kvm-only:
  extends: .cross_accel_build_job
  needs:
    job: s390x-debian-cross-container
  variables:
    IMAGE: debian-s390x-cross
    EXTRA_CONFIGURE_OPTS: --disable-tcg

cross-mips64el-kvm-only:
  extends: .cross_accel_build_job
  needs:
    job: mips64el-debian-cross-container
  variables:
    IMAGE: debian-mips64el-cross
    EXTRA_CONFIGURE_OPTS: --disable-tcg --target-list=mips64el-softmmu

cross-win32-system:
  extends: .cross_system_build_job
  needs:
    job: win32-fedora-cross-container
  variables:
    IMAGE: fedora-win32-cross

cross-win64-system:
  extends: .cross_system_build_job
  needs:
    job: win64-fedora-cross-container
  variables:
    IMAGE: fedora-win64-cross

cross-amd64-xen-only:
  extends: .cross_accel_build_job
  needs:
    job: amd64-debian-cross-container
  variables:
    IMAGE: debian-amd64-cross
    ACCEL: xen
    EXTRA_CONFIGURE_OPTS: --disable-tcg --disable-kvm

cross-arm64-xen-only:
  extends: .cross_accel_build_job
  needs:
    job: arm64-debian-cross-container
  variables:
    IMAGE: debian-arm64-cross
    ACCEL: xen
    EXTRA_CONFIGURE_OPTS: --disable-tcg --disable-kvm