Skip to content

Commit ddecd27

Browse files
committed
Run all simulator tests
1 parent c944865 commit ddecd27

1 file changed

Lines changed: 29 additions & 161 deletions

File tree

.github/workflows/ci.yml

Lines changed: 29 additions & 161 deletions
Original file line numberDiff line numberDiff line change
@@ -24,172 +24,40 @@ concurrency:
2424
cancel-in-progress: true
2525

2626
jobs:
27+
matrix-prep-config:
28+
runs-on: ubuntu-latest
29+
steps:
30+
- uses: actions/checkout@v3
31+
with:
32+
fetch-depth: 1
33+
- id: generate-test-matrix
34+
run: |
35+
# This script is used to generate the list of tests to be included in the test matrix.
36+
TEST_PER_JOB=30
37+
matrix="'"
38+
count=0
39+
for file in $(find test/integration/ -name "*.py" | grep -v "__init__.py" | sed 's/test\/integration\///' | sed 's/.py$//'); do
40+
if [ $((count%TEST_PER_JOB)) == 0 ] && [ $count != 0 ]; then
41+
matrix="$matrix','"
42+
elif [ $count != 0 ]; then
43+
matrix="$matrix|"
44+
fi
45+
matrix="$matrix$file"
46+
count=$((count+1))
47+
done
48+
matrix="$matrix'"
49+
echo "tests=[$matrix]" >> $GITHUB_OUTPUT
50+
outputs:
51+
tests: ${{ steps.generate-test-matrix.outputs.tests }}
2752
build:
28-
if: github.repository == 'apache/cloudstack'
2953
runs-on: ubuntu-22.04
54+
needs:
55+
- matrix-prep-config
3056

3157
strategy:
3258
fail-fast: false
3359
matrix:
34-
tests: [ "smoke/test_accounts
35-
smoke/test_affinity_groups
36-
smoke/test_affinity_groups_projects
37-
smoke/test_annotations
38-
smoke/test_async_job
39-
smoke/test_attach_multiple_volumes
40-
smoke/test_backup_recovery_dummy
41-
smoke/test_certauthority_root
42-
smoke/test_console_endpoint
43-
smoke/test_create_list_domain_account_project
44-
smoke/test_create_network
45-
smoke/test_deploy_vgpu_enabled_vm
46-
smoke/test_deploy_virtio_scsi_vm
47-
smoke/test_deploy_vm_extra_config_data
48-
smoke/test_deploy_vm_iso
49-
smoke/test_deploy_vm_iso_uefi
50-
smoke/test_deploy_vm_root_resize
51-
smoke/test_deploy_vm_with_userdata
52-
smoke/test_deploy_vms_in_parallel
53-
smoke/test_deploy_vms_with_varied_deploymentplanners
54-
smoke/test_diagnostics
55-
smoke/test_direct_download
56-
smoke/test_disk_offerings
57-
smoke/test_disk_provisioning_types
58-
smoke/test_domain_disk_offerings
59-
smoke/test_domain_network_offerings
60-
smoke/test_domain_service_offerings
61-
smoke/test_domain_vpc_offerings",
62-
"smoke/test_dynamicroles
63-
smoke/test_enable_account_settings_for_domain
64-
smoke/test_enable_role_based_users_in_projects
65-
smoke/test_events_resource
66-
smoke/test_global_settings
67-
smoke/test_guest_vlan_range
68-
smoke/test_host_maintenance
69-
smoke/test_hostha_kvm
70-
smoke/test_hostha_simulator
71-
smoke/test_internal_lb
72-
smoke/test_ipv6_infra
73-
smoke/test_iso
74-
smoke/test_kubernetes_clusters
75-
smoke/test_kubernetes_supported_versions
76-
smoke/test_list_ids_parameter
77-
smoke/test_loadbalance
78-
smoke/test_login
79-
smoke/test_2fa
80-
smoke/test_metrics_api
81-
smoke/test_migration
82-
smoke/test_multipleips_per_nic
83-
smoke/test_nested_virtualization
84-
smoke/test_set_sourcenat",
85-
"smoke/test_network
86-
smoke/test_network_acl
87-
smoke/test_network_ipv6
88-
smoke/test_network_permissions
89-
smoke/test_nic
90-
smoke/test_nic_adapter_type
91-
smoke/test_non_contigiousvlan
92-
smoke/test_outofbandmanagement
93-
smoke/test_outofbandmanagement_nestedplugin
94-
smoke/test_over_provisioning
95-
smoke/test_password_server
96-
smoke/test_persistent_network
97-
smoke/test_portable_publicip
98-
smoke/test_portforwardingrules
99-
smoke/test_primary_storage
100-
smoke/test_privategw_acl
101-
smoke/test_privategw_acl_ovs_gre
102-
smoke/test_projects
103-
smoke/test_public_ip_range
104-
smoke/test_pvlan
105-
smoke/test_regions
106-
smoke/test_register_userdata
107-
smoke/test_reset_configuration_settings
108-
smoke/test_reset_vm_on_reboot
109-
smoke/test_resource_accounting
110-
smoke/test_resource_detail",
111-
"smoke/test_router_dhcphosts
112-
smoke/test_router_dns
113-
smoke/test_router_dnsservice
114-
smoke/test_routers
115-
smoke/test_routers_iptables_default_policy
116-
smoke/test_routers_network_ops
117-
smoke/test_scale_vm
118-
smoke/test_secondary_storage
119-
smoke/test_service_offerings
120-
smoke/test_snapshots
121-
smoke/test_ssvm
122-
smoke/test_staticroles
123-
smoke/test_templates
124-
smoke/test_update_security_group
125-
smoke/test_usage
126-
smoke/test_usage_events
127-
smoke/test_vm_deployment_planner
128-
smoke/test_vm_schedule
129-
smoke/test_vm_life_cycle
130-
smoke/test_vm_lifecycle_unmanage_import
131-
smoke/test_vm_snapshot_kvm
132-
smoke/test_vm_snapshots
133-
smoke/test_volumes
134-
smoke/test_vpc_ipv6
135-
smoke/test_vpc_redundant
136-
smoke/test_vpc_router_nics
137-
smoke/test_vpc_vpn",
138-
"component/find_hosts_for_migration
139-
component/test_acl_isolatednetwork
140-
component/test_acl_isolatednetwork_delete
141-
component/test_acl_listsnapshot",
142-
"component/test_acl_listvm
143-
component/test_acl_listvolume",
144-
"component/test_acl_sharednetwork
145-
component/test_acl_sharednetwork_deployVM-impersonation
146-
component/test_user_private_gateway
147-
component/test_user_shared_network",
148-
"component/test_affinity_groups_projects
149-
component/test_allocation_states
150-
component/test_assign_vm",
151-
"component/test_concurrent_snapshots_limit
152-
component/test_cpu_domain_limits
153-
component/test_cpu_limits
154-
component/test_cpu_max_limits
155-
component/test_cpu_project_limits
156-
component/test_deploy_vm_userdata_multi_nic",
157-
"component/test_egress_fw_rules
158-
component/test_invalid_gw_nm
159-
component/test_ip_reservation",
160-
"component/test_lb_secondary_ip
161-
component/test_list_nics
162-
component/test_list_pod
163-
component/test_memory_limits",
164-
"component/test_mm_domain_limits
165-
component/test_mm_max_limits
166-
component/test_mm_project_limits
167-
component/test_network_offering
168-
component/test_non_contiguous_vlan",
169-
"component/test_persistent_networks
170-
component/test_project_configs
171-
component/test_project_limits
172-
component/test_project_resources",
173-
"component/test_project_usage
174-
component/test_protocol_number_security_group
175-
component/test_public_ip
176-
component/test_resource_limits",
177-
"component/test_regions_accounts
178-
component/test_routers
179-
component/test_snapshots
180-
component/test_stopped_vm
181-
component/test_tags
182-
component/test_templates
183-
component/test_updateResourceCount
184-
component/test_update_vm",
185-
"component/test_volumes
186-
component/test_vpc
187-
component/test_vpc_distributed_routing_offering
188-
component/test_vpc_network
189-
component/test_vpc_offerings
190-
component/test_vpc_routers
191-
component/test_vpn_users",
192-
"component/test_vpc_network_lbrules" ]
60+
tests: ${{ fromJSON(needs.matrix-prep-config.outputs.tests) }}
19361

19462
steps:
19563
- uses: actions/checkout@v3
@@ -282,7 +150,7 @@ jobs:
282150
TESTS="${{ matrix.tests }}"
283151
echo "Tests in this job: $TESTS"
284152
285-
TESTS=($(echo $TESTS | tr -d '\n' | tr -s ' '))
153+
TESTS=($(echo $TESTS | tr '|' '\n' | tr -s ' '))
286154
for suite in "${TESTS[@]}" ; do
287155
echo -e "Currently running test: $suite\n"
288156
time nosetests-3.4 --with-xunit --xunit-file=integration-test-results/$suite.xml --with-marvin --marvin-config=setup/dev/advanced.cfg test/integration/$suite.py -s -a tags=advanced,required_hardware=false --zone=Sandbox-simulator --hypervisor=simulator || true ;

0 commit comments

Comments
 (0)