aboutsummaryrefslogblamecommitdiff
path: root/.cirrus.yml
blob: 51a2940e51eb62a4b688ef5c266d7bc91ae01118 (plain) (tree)
1
2
3
4
5
6
7
8
9
 
                        

                                                                                   

                                      
                                   
        
            
          


                       
                 

     
         
                                                                 

                                                            


                        

                                      
                                                                 




                                      
                                                                 
                                                            



                          

                                 







                                                                 
                                                                         
                                                            



                        

                                 







                                                                           
                                                                               



                                                            

                                 
                  
                 
                                                 

               
              
         
                 


                                      
         
                                                                                                                      
                 
                                                                                 

                                                                                                                                     
              
                                           
                                 

              
                     

compute_engine_instance:
  # Image list available via
  # gcloud compute images list --project freebsd-org-cloud-dev --no-standard-images
  platform: freebsd
  image_project: freebsd-org-cloud-dev
  image: freebsd-13-2-release-amd64
  cpu: 8
  memory: 8G
  disk: 40

env:
  CIRRUS_CLONE_DEPTH: 1
  PKG_FORMAT: tar

task:
  matrix:
  - name: amd64-llvm15 World and kernel build and boot smoke test
    only_if: $CIRRUS_REPO_FULL_NAME != 'freebsd/freebsd-src'
    trigger_type: manual
    env:
      TARGET: amd64
      TARGET_ARCH: amd64
      TOOLCHAIN: llvm15
      TOOLCHAIN_PKG: ${TOOLCHAIN}-lite
  - name: amd64-llvm16 World and kernel build and boot smoke test
    env:
      TARGET: amd64
      TARGET_ARCH: amd64
      TOOLCHAIN: llvm16
      TOOLCHAIN_PKG: ${TOOLCHAIN}-lite
  - name: arm64-llvm15 World and kernel build and boot smoke test
    only_if: $CIRRUS_REPO_FULL_NAME != 'freebsd/freebsd-src'
    trigger_type: manual
    env:
      TARGET: arm64
      TARGET_ARCH: aarch64
      TOOLCHAIN: llvm15
      TOOLCHAIN_PKG: ${TOOLCHAIN}
  - name: arm64-llvm16 World and kernel build and boot smoke test
    only_if: $CIRRUS_REPO_FULL_NAME != 'freebsd/freebsd-src'
    trigger_type: manual
    env:
      TARGET: arm64
      TARGET_ARCH: aarch64
      TOOLCHAIN: llvm16
      TOOLCHAIN_PKG: ${TOOLCHAIN}
  - name: amd64-gcc12 World and kernel build and boot smoke test (manual)
    only_if: $CIRRUS_REPO_FULL_NAME != 'freebsd/freebsd-src'
    trigger_type: manual
    env:
      TARGET: amd64
      TARGET_ARCH: amd64
      TOOLCHAIN: amd64-gcc12
      TOOLCHAIN_PKG: ${TOOLCHAIN}
  - name: aarch64-gcc12 World and kernel build and boot smoke test (manual)
    only_if: $CIRRUS_REPO_FULL_NAME != 'freebsd/freebsd-src'
    trigger_type: manual
    env:
      TARGET: arm64
      TARGET_ARCH: aarch64
      TOOLCHAIN: aarch64-gcc12
      TOOLCHAIN_PKG: ${TOOLCHAIN}
  - name: amd64-gcc12 World and kernel build and boot smoke test (FreeBSD repo)
    only_if: $CIRRUS_REPO_FULL_NAME == 'freebsd/freebsd-src'
    env:
      TARGET: amd64
      TARGET_ARCH: amd64
      TOOLCHAIN: amd64-gcc12
      TOOLCHAIN_PKG: ${TOOLCHAIN}
  timeout_in: 120m
  install_script:
  - sh .cirrus-ci/pkg-install.sh ${TOOLCHAIN_PKG}
  setup_script:
  - uname -a
  - gpart show
  - df -m
  - pkg --version
  - pw useradd user
  - mkdir -p /usr/obj/$(pwd -P)
  - chown user:user /usr/obj/$(pwd -P)
  script:
  - su user -c "make -j$(sysctl -n hw.ncpu) CROSS_TOOLCHAIN=${TOOLCHAIN} WITHOUT_TOOLCHAIN=yes buildworld buildkernel"
  package_script:
  - su user -c "make CROSS_TOOLCHAIN=${TOOLCHAIN} WITHOUT_TOOLCHAIN=yes packages"
  package_check_script:
  - su user -c "/usr/libexec/flua tools/pkgbase/metalog_reader.lua -c /usr/obj/$(pwd -P)/${TARGET}.${TARGET_ARCH}/worldstage/METALOG"
  test_script:
  - sh .cirrus-ci/pkg-install.sh qemu-nox11
  - sh tools/boot/ci-qemu-test.sh
  post_script:
  - df -m
  - du -m -s /usr/obj