.cirrus.yml 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. # Cirrus CI gives open-source projects free 16.0 CPUs,
  2. # we use 4 CPUs x 3 tasks = 12 CPUs.
  3. # https://cirrus-ci.org/faq/#are-there-any-limits
  4. #
  5. # Undocumented constraints;
  6. # - The maximum memory limit is 4G times the number of CPUs.
  7. # - The number of CPUs should be multiple of 2.
  8. task:
  9. name: Vagrant
  10. compute_engine_instance:
  11. image_project: cirrus-images
  12. image: family/docker-kvm
  13. platform: linux
  14. nested_virtualization: true
  15. cpu: 4
  16. memory: 16G
  17. env:
  18. GOTEST: gotestsum --
  19. # By default, Cirrus CI doesn't have HOME defined
  20. HOME: /root
  21. matrix:
  22. BOX: fedora/37-cloud-base
  23. # v7.0.0 does not boot. v6.0.0 was not released.
  24. BOX: rockylinux/8@5.0.0
  25. install_libvirt_vagrant_script: |
  26. # if another process is keeping a lock, wait for 60 seconds for it to release the lock.
  27. apt-get -o DPkg::Lock::Timeout=60 update
  28. apt-get -o DPkg::Lock::Timeout=60 install -y libvirt-daemon libvirt-daemon-system vagrant vagrant-libvirt
  29. systemctl enable --now libvirtd
  30. vagrant_cache:
  31. folder: /root/.vagrant.d
  32. fingerprint_script: uname --kernel-release --kernel-version && cat Vagrantfile
  33. vagrant_up_script: |
  34. vagrant up --no-tty
  35. integration_script: |
  36. vagrant up --provision-with=selinux,install-runc,install-gotestsum,test-integration
  37. cri_integration_script: |
  38. vagrant up --provision-with=selinux,install-runc,install-gotestsum,test-cri-integration
  39. cri_test_script: |
  40. vagrant up --provision-with=selinux,install-runc,install-gotestsum,test-cri
  41. task:
  42. name: CGroupsV2 - rootless CRI test
  43. env:
  44. HOME: /root
  45. compute_engine_instance:
  46. image_project: cirrus-images
  47. image: family/docker-kvm
  48. platform: linux
  49. nested_virtualization: true
  50. cpu: 4
  51. memory: 16G
  52. install_libvirt_vagrant_script: |
  53. # if another process is keeping a lock, wait for 60 seconds for it to release the lock.
  54. apt-get -o DPkg::Lock::Timeout=60 update
  55. apt-get -o DPkg::Lock::Timeout=60 install -y libvirt-daemon libvirt-daemon-system vagrant vagrant-libvirt
  56. systemctl enable --now libvirtd
  57. vagrant_cache:
  58. folder: /root/.vagrant.d
  59. fingerprint_script: uname -a; cat Vagrantfile
  60. vagrant_up_script: |
  61. vagrant up --provision-with=install-rootless-podman --no-tty
  62. podman_build_script: |
  63. # Execute rootless podman to create the UserNS env
  64. vagrant ssh -- podman build --target cri-in-userns -t cri-in-userns -f /vagrant/contrib/Dockerfile.test /vagrant
  65. test_script: |
  66. vagrant ssh -- podman run --rm --privileged cri-in-userns