@@ -453,69 +453,6 @@ swagger_task:
453
453
type : text/plain
454
454
455
455
456
- win_installer_task :
457
- name : " Verify Win Installer Build"
458
- matrix :
459
- - env :
460
- CONTAINERS_MACHINE_PROVIDER : ' wsl'
461
- - env :
462
- CONTAINERS_MACHINE_PROVIDER : ' hyperv'
463
- alias : win_installer
464
- only_if : *no_rhel_release
465
- depends_on : *build
466
- ec2_instance : &windows
467
- image : " ${WINDOWS_AMI}"
468
- type : m5.large
469
- region : us-east-1
470
- platform : windows
471
- env : &winenv
472
- CIRRUS_WORKING_DIR : &wincwd "${LOCALAPPDATA}\\cirrus-ci-build"
473
- CIRRUS_SHELL : powershell
474
- PATH : " ${PATH};C:\\ ProgramData\\ chocolatey\\ bin"
475
- DISTRO_NV : " windows"
476
- PRIV_NAME : " rootless"
477
- # Fake version, we are only testing the installer functions, so version doesn't matter
478
- WIN_INST_VER : 9.9.9
479
- # It's HIGHLY desireable to use the same binary throughout CI. Otherwise, if
480
- # there's a toolchain or build-environment specific problem, it can be incredibly
481
- # difficult (and non-obvious) to debug.
482
- clone_script : &winclone |
483
- $ErrorActionPreference = 'Stop'
484
- $ProgressPreference = 'SilentlyContinue'
485
- New-Item -ItemType Directory -Force -Path "$ENV:CIRRUS_WORKING_DIR"
486
- Set-Location "$ENV:CIRRUS_WORKING_DIR"
487
- $uri = "${ENV:ART_URL}/Windows Cross/repo/repo.tar.zst"
488
- Write-Host "Downloading $uri"
489
- For($i = 0;;) {
490
- Try {
491
- Invoke-WebRequest -UseBasicParsing -ErrorAction Stop -OutFile "repo.tar.zst" `
492
- -Uri "$uri"
493
- Break
494
- } Catch {
495
- if (++$i -gt 6) {
496
- throw $_.Exception
497
- }
498
- Write-Host "Download failed - retrying:" $_.Exception.Response.StatusCode
499
- Start-Sleep -Seconds 10
500
- }
501
- }
502
- Write-Host "zstd -d repo.tar.zst"
503
- zstd -d repo.tar.zst
504
- if ($LASTEXITCODE -ne 0) {
505
- throw "Extract repo.tar.zst failed"
506
- Exit 1
507
- }
508
- Write-Host "arc unarchive repo.tar .\"
509
- arc unarchive repo.tar .\repo
510
- if ($LASTEXITCODE -ne 0) {
511
- throw "Unarchive repo.tar failed"
512
- Exit 1
513
- }
514
- Get-ChildItem -Path .
515
- Get-ChildItem -Path .\repo
516
- main_script : " .\\ repo\\ contrib\\ cirrus\\ win-installer-main.ps1"
517
-
518
-
519
456
# Verify podman is compatible with the docker python-module.
520
457
docker-py_test_task :
521
458
name : Docker-py Compat.
@@ -541,135 +478,6 @@ docker-py_test_task:
541
478
main_script : *main
542
479
always : *runner_stats
543
480
544
-
545
- # Does exactly what it says, execute the podman unit-tests on Fedora.
546
- unit_test_task :
547
- name : " Unit tests on $DISTRO_NV"
548
- alias : unit_test
549
- # Docs: ./contrib/cirrus/CIModes.md (Cirrus Task contexts and runtime modes)
550
- # only when: - main rules (see doc above); or
551
- # - unit test files are changed (contains a false positves such as test/e2e/
552
- # but that should not be an issue, it only runs when it doesn't have to)
553
- # - actual source code changed
554
- only_if : >-
555
- $CIRRUS_PR == '' ||
556
- $CIRRUS_CHANGE_TITLE =~ '.*CI:ALL.*' ||
557
- changesInclude('.cirrus.yml', 'Makefile', 'contrib/cirrus/**', 'vendor/**', 'test/tools/**', 'test/registries*.conf', 'hack/**', 'version/rawversion/*') ||
558
- changesInclude('**/*_test.go') ||
559
- (changesInclude('**/*.go', '**/*.c', '**/*.h') && !changesIncludeOnly('test/**', 'pkg/machine/e2e/**'))
560
- depends_on : *build
561
- matrix :
562
- - env : *stdenvars
563
- # Special-case: Rootless on latest Fedora (standard) VM
564
- - name : " Rootless unit on $DISTRO_NV"
565
- env :
566
- << : *stdenvars
567
- PRIV_NAME : rootless
568
- gce_instance : *standardvm
569
- env :
570
- TEST_FLAVOR : unit
571
- clone_script : *get_gosrc
572
- setup_script : *setup
573
- main_script : *main
574
- always : *logs_artifacts
575
-
576
-
577
- unit_test_windows_task :
578
- name : " Unit tests on Windows"
579
- alias : unit_test_windows
580
- # Docs: ./contrib/cirrus/CIModes.md (Cirrus Task contexts and runtime modes)
581
- # only when: - main rules (see doc above); or
582
- # - unit test files are changed (contains a false positves such as test/e2e/
583
- # but that should not be an issue, it only runs when it doesn't have to)
584
- # - actual source code changed
585
- only_if : >-
586
- $CIRRUS_PR == '' ||
587
- $CIRRUS_CHANGE_TITLE =~ '.*CI:ALL.*' ||
588
- changesInclude('.cirrus.yml', 'Makefile', 'contrib/cirrus/**', 'vendor/**', 'test/tools/**', 'test/registries*.conf', 'hack/**', 'version/rawversion/*') ||
589
- changesInclude('winmake.ps1') ||
590
- changesInclude('**/*_test.go') ||
591
- (changesInclude('**/*.go', '**/*.c', '**/*.h') && !changesIncludeOnly('test/**', 'pkg/machine/e2e/**'))
592
- # Special case, we do not run macos/windows builds on rhel branches.
593
- # Thus the machine task should not be run too, while we use only_if
594
- # everywhere to do so here it would mean we would need duplicate the
595
- # full big only_if condition which is more difficult to maintain so
596
- # use the skip here.
597
- skip : &skip_rhel_release |
598
- $CIRRUS_BRANCH =~ 'v[0-9\.]+-rhel' ||
599
- $CIRRUS_BASE_BRANCH =~ 'v[0-9\.]+-rhel'
600
- depends_on : *build
601
- ec2_instance : *windows
602
- timeout_in : 20m
603
- env :
604
- << : *winenv
605
- TEST_FLAVOR : unit
606
- clone_script : *winclone
607
- main_script : " .\\ repo\\ contrib\\ cirrus\\ win-unit-main.ps1"
608
- always :
609
- # Required for `contrib/cirrus/logformatter` to work properly
610
- html_artifacts :
611
- path : ./*.html
612
- type : text/html
613
-
614
-
615
- apiv2_test_task :
616
- name : " APIv2 test on $DISTRO_NV ($PRIV_NAME)"
617
- alias : apiv2_test
618
- # Docs: ./contrib/cirrus/CIModes.md (Cirrus Task contexts and runtime modes)
619
- # only when: - main rules (see doc above); or
620
- # - apiv2 test code is changed; or
621
- # - actual source code changed
622
- only_if : >-
623
- $CIRRUS_PR == '' ||
624
- $CIRRUS_CHANGE_TITLE =~ '.*CI:ALL.*' ||
625
- changesInclude('.cirrus.yml', 'Makefile', 'contrib/cirrus/**', 'vendor/**', 'test/tools/**', 'test/registries*.conf', 'hack/**', 'version/rawversion/*') ||
626
- changesInclude('test/apiv2/**', 'test/python/**') ||
627
- (changesInclude('**/*.go', '**/*.c', '**/*.h') && !changesIncludeOnly('test/**', 'pkg/machine/e2e/**'))
628
- depends_on : *build
629
- gce_instance : *standardvm
630
- env :
631
- << : *stdenvars
632
- TEST_FLAVOR : apiv2
633
- matrix :
634
- - env :
635
- PRIV_NAME : root
636
- - env :
637
- PRIV_NAME : rootless
638
- clone_script : *get_gosrc
639
- setup_script : *setup
640
- main_script : *main
641
- always : *logs_artifacts
642
-
643
-
644
- compose_test_task :
645
- name : " $TEST_FLAVOR test on $DISTRO_NV ($PRIV_NAME)"
646
- alias : compose_test
647
- # Docs: ./contrib/cirrus/CIModes.md (Cirrus Task contexts and runtime modes)
648
- # only when: - main rules (see doc above); or
649
- # - compose test code is changed; or
650
- # - actual source code changed
651
- only_if : >-
652
- $CIRRUS_PR == '' ||
653
- $CIRRUS_CHANGE_TITLE =~ '.*CI:ALL.*' ||
654
- changesInclude('.cirrus.yml', 'Makefile', 'contrib/cirrus/**', 'vendor/**', 'test/tools/**', 'test/registries*.conf', 'hack/**', 'version/rawversion/*') ||
655
- changesInclude('test/compose/**') ||
656
- (changesInclude('**/*.go', '**/*.c', '**/*.h') && !changesIncludeOnly('test/**', 'pkg/machine/e2e/**'))
657
- depends_on : *build
658
- gce_instance : *standardvm
659
- matrix :
660
- - env :
661
- PRIV_NAME : root
662
- - env :
663
- PRIV_NAME : rootless
664
- env :
665
- << : *stdenvars
666
- TEST_FLAVOR : compose_v2
667
- clone_script : *get_gosrc
668
- setup_script : *setup
669
- main_script : *main
670
- always : *logs_artifacts
671
-
672
-
673
481
# versions, as root, without involving the podman-remote client.
674
482
local_integration_test_task : &local_integration_test_task
675
483
# Integration-test task name convention:
@@ -759,155 +567,6 @@ rootless_integration_test_task:
759
567
main_script : *main
760
568
always : *int_logs_artifacts
761
569
762
-
763
- podman_machine_task :
764
- name : *std_name_fmt
765
- alias : podman_machine
766
- # Docs: ./contrib/cirrus/CIModes.md (Cirrus Task contexts and runtime modes)
767
- # only when: - main rules (see doc above); or
768
- # - machine code files are changed
769
- only_if : &only_if_machine_test >-
770
- $CIRRUS_PR == '' ||
771
- $CIRRUS_CHANGE_TITLE =~ '.*CI:ALL.*' ||
772
- changesInclude('.cirrus.yml', 'Makefile', 'contrib/cirrus/**', 'vendor/**', 'test/tools/**', 'test/registries*.conf', 'hack/**', 'version/rawversion/*') ||
773
- changesInclude('cmd/podman/machine/**', 'pkg/machine/**', '**/*machine*.go')
774
- depends_on : *build
775
- ec2_instance :
776
- image : " ${VM_IMAGE_NAME}"
777
- type : " ${EC2_INST_TYPE}"
778
- region : us-east-1
779
- timeout_in : 30m
780
- env :
781
- EC2_INST_TYPE : " m5zn.metal" # Bare-metal instance is required
782
- TEST_FLAVOR : " machine-linux"
783
- PRIV_NAME : " rootless" # intended use-case
784
- DISTRO_NV : " ${FEDORA_NAME}"
785
- VM_IMAGE_NAME : " ${FEDORA_AMI}"
786
- clone_script : *get_gosrc
787
- setup_script : *setup
788
- main_script : *main
789
- always : *int_logs_artifacts
790
-
791
-
792
- podman_machine_aarch64_task :
793
- name : *std_name_fmt
794
- alias : podman_machine_aarch64
795
- only_if : *only_if_machine_test
796
- depends_on : *build
797
- ec2_instance :
798
- << : *standard_build_ec2_aarch64
799
- timeout_in : 30m
800
- env :
801
- TEST_FLAVOR : " machine-linux"
802
- EC2_INST_TYPE : c6g.metal
803
- PRIV_NAME : " rootless" # intended use-case
804
- DISTRO_NV : " ${FEDORA_AARCH64_NAME}"
805
- VM_IMAGE_NAME : " ${FEDORA_AARCH64_AMI}"
806
- clone_script : &get_gosrc_aarch64 |
807
- cd /tmp
808
- echo "$ARTCURL/build_aarch64/repo/repo.tar.zst"
809
- time $ARTCURL/build_aarch64/repo/repo.tar.zst
810
- time tar -xf /tmp/repo.tar.zst -C $GOSRC
811
- setup_script : *setup
812
- main_script : *main
813
- always : *int_logs_artifacts
814
-
815
-
816
- podman_machine_windows_task :
817
- name : *std_name_fmt
818
- alias : podman_machine_windows
819
- # Docs: ./contrib/cirrus/CIModes.md
820
- only_if : *only_if_machine_test
821
- # Special case, we do not run macos/windows builds on rhel branches.
822
- # Thus the machine task should not be run too, while we use only_if
823
- # everywhere to do so here it would mean we would need duplicate the
824
- # full big only_if condition which is more difficult to maintain so
825
- # use the skip here.
826
- skip : *skip_rhel_release
827
- depends_on : *build
828
- ec2_instance :
829
- << : *windows
830
- type : z1d.metal
831
- platform : windows
832
- timeout_in : 60m
833
- env : *winenv
834
- matrix :
835
- - env :
836
- TEST_FLAVOR : " machine-wsl"
837
- - env :
838
- TEST_FLAVOR : " machine-hyperv"
839
- clone_script : *winclone
840
- # This depends on an instance with an local NVMe storage so we can make use of fast IO
841
- # Our machine tests are IO bound so this is rather imporant to speed them up a lot.
842
- setup_disk_script : |
843
- echo "Get-Disk"
844
- Get-Disk | Ft -autosize | out-string -width 4096
845
- # Hard coded to disk 0, assume that this is always the case for our ec2 instance.
846
- # It is not clear to me how I would filter by name because we still have two disks
847
- # with the same name.
848
- echo "Format and mount disk 0"
849
- $disk = Get-Disk 0
850
- $disk | Initialize-Disk -PartitionStyle MBR
851
- $disk | New-Partition -UseMaximumSize -MbrType IFS
852
- $Partition = Get-Partition -DiskNumber $disk.Number
853
- $Partition | Format-Volume -FileSystem NTFS -Confirm:$false
854
- $Partition | Add-PartitionAccessPath -AccessPath "Z:\"
855
- echo "Get-Volume"
856
- Get-Volume
857
- main_script : " .\\ repo\\ contrib\\ cirrus\\ win-podman-machine-main.ps1"
858
- always :
859
- wsl_logs_artifacts :
860
- path : ./*.zip
861
- # Required for `contrib/cirrus/logformatter` to work properly
862
- html_artifacts :
863
- path : ./*.html
864
- type : text/html
865
-
866
-
867
- podman_machine_mac_task :
868
- name : *std_name_fmt
869
- alias : podman_machine_mac
870
- only_if : *only_if_machine_test
871
- skip : *skip_rhel_release
872
- depends_on : *build
873
- persistent_worker : *mac_pw
874
- timeout_in : 60m
875
- env :
876
- << : *mac_env
877
- DISTRO_NV : " darwin"
878
- PRIV_NAME : " rootless" # intended use-case
879
- matrix :
880
- - env :
881
- # See contrib/cirrus/mac_runner.sh
882
- TEST_FLAVOR : " machine-applehv"
883
- - env :
884
- # See contrib/cirrus/mac_runner.sh
885
- TEST_FLAVOR : " machine-libkrun"
886
- clone_script : # artifacts from osx_alt_build_task
887
- - mkdir -p $CIRRUS_WORKING_DIR
888
- - cd $CIRRUS_WORKING_DIR
889
- - $ARTCURL/Build%20for%20MacOS%20amd64%2Barm64/repo/repo.tar.zst
890
- - tar -xf repo.tar.zst
891
- # This host is/was shared with potentially many other CI tasks.
892
- # The previous task may have been canceled or aborted.
893
- prep_script : *mac_cleanup
894
- setup_script : " contrib/cirrus/mac_setup.sh"
895
- env_script : " contrib/cirrus/mac_env.sh"
896
- # TODO: Timeout bumped b/c initial image download (~5min) and VM
897
- # resize (~2min) causes test-timeout (90s default). Should
898
- # tests deal with this internally?
899
- test_script :
900
- - " contrib/cirrus/mac_runner.sh"
901
- # This host is/was shared with potentially many other CI tasks.
902
- # Ensure nothing is left running while waiting for the next task.
903
- always :
904
- # Required for `contrib/cirrus/logformatter` to work properly
905
- html_artifacts :
906
- path : ./*.html
907
- type : text/html
908
- task_cleanup_script : *mac_cleanup
909
-
910
-
911
570
# Always run subsequent to integration tests. While parallelism is lost
912
571
# with runtime, debugging system-test failures can be more challenging
913
572
# for some golang developers. Otherwise the following tasks run across
@@ -949,7 +608,11 @@ local_system_test_aarch64_task: &local_system_test_task_aarch64
949
608
<< : *stdenvars_aarch64
950
609
TEST_FLAVOR : sys
951
610
DISTRO_NV : ${FEDORA_AARCH64_NAME}
952
- clone_script : *get_gosrc_aarch64
611
+ clone_script : &get_gosrc_aarch64 |
612
+ cd /tmp
613
+ echo "$ARTCURL/build_aarch64/repo/repo.tar.zst"
614
+ time $ARTCURL/build_aarch64/repo/repo.tar.zst
615
+ time tar -xf /tmp/repo.tar.zst -C $GOSRC
953
616
setup_script : *setup
954
617
main_script : *main
955
618
always : *logs_artifacts
@@ -1137,20 +800,11 @@ success_task:
1137
800
- build_success
1138
801
- bindings
1139
802
- swagger
1140
- - win_installer
1141
803
- docker-py_test
1142
- - unit_test
1143
- - unit_test_windows
1144
- - apiv2_test
1145
- - compose_test
1146
804
- local_integration_test
1147
805
- remote_integration_test
1148
806
- container_integration_test
1149
807
- rootless_integration_test
1150
- - podman_machine
1151
- - podman_machine_aarch64
1152
- - podman_machine_windows
1153
- - podman_machine_mac
1154
808
- local_system_test
1155
809
- local_system_test_aarch64
1156
810
- remote_system_test
0 commit comments