summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilip Kuryloski <kuryloskip@vmware.com>2021-03-09 11:31:19 +0100
committerPhilip Kuryloski <kuryloskip@vmware.com>2021-03-09 11:31:19 +0100
commit8bbdf3f818e5cc84d4c4fdfe2eaf32556d4fdb72 (patch)
tree25dcc92babb7802f563473c82e6074d6df04eee0
parent55137107e09a45d43026c1ba41ad79b35621d077 (diff)
downloadrabbitmq-server-git-8bbdf3f818e5cc84d4c4fdfe2eaf32556d4fdb72.tar.gz
WIP: GitHub Actions without docker images 6
-rw-r--r--.github/workflows/test-erlang-otp-23.1.yaml202
-rw-r--r--.github/workflows/test-erlang-otp-git.yaml202
-rw-r--r--workflow_sources/test/ct.lib.yml14
-rw-r--r--workflow_sources/test/dep.star3
-rw-r--r--workflow_sources/test/finish.lib.yml15
-rw-r--r--workflow_sources/test/util.star4
6 files changed, 211 insertions, 229 deletions
diff --git a/.github/workflows/test-erlang-otp-23.1.yaml b/.github/workflows/test-erlang-otp-23.1.yaml
index 591796165b..14461e207b 100644
--- a/.github/workflows/test-erlang-otp-23.1.yaml
+++ b/.github/workflows/test-erlang-otp-23.1.yaml
@@ -8520,111 +8520,6 @@ jobs:
with:
name: rabbit-ct-vhost-logs-mixed-v3.8.9
path: deps/rabbit/*-ct-logs-*.tar.xz
- rabbit:
- name: rabbit
- needs:
- - rabbit-checks
- - rabbit-ct-amqqueue_backward_compatibility
- - rabbit-ct-backing_queue
- - rabbit-ct-channel_interceptor
- - rabbit-ct-channel_operation_timeout
- - rabbit-ct-cluster
- - rabbit-ct-cluster_rename
- - rabbit-ct-clustering_management
- - rabbit-ct-config_schema
- - rabbit-ct-confirms_rejects
- - rabbit-ct-consumer_timeout
- - rabbit-ct-crashing_queues
- - rabbit-ct-dead_lettering
- - rabbit-ct-definition_import
- - rabbit-ct-disconnect_detected_during_alarm
- - rabbit-ct-dynamic_ha
- - rabbit-ct-dynamic_qq
- - rabbit-ct-eager_sync
- - rabbit-ct-feature_flags
- - rabbit-ct-lazy_queue
- - rabbit-ct-list_consumers_sanity_check
- - rabbit-ct-list_queues_online_and_offline
- - rabbit-ct-maintenance_mode
- - rabbit-ct-many_node_ha
- - rabbit-ct-message_size_limit
- - rabbit-ct-metrics
- - rabbit-ct-mirrored_supervisor
- - rabbit-ct-msg_store
- - rabbit-ct-peer_discovery_classic_config
- - rabbit-ct-peer_discovery_dns
- - rabbit-ct-per_user_connection_channel_limit
- - rabbit-ct-per_user_connection_channel_limit_partitions
- - rabbit-ct-per_user_connection_channel_tracking
- - rabbit-ct-per_user_connection_tracking
- - rabbit-ct-per_vhost_connection_limit
- - rabbit-ct-per_vhost_connection_limit_partitions
- - rabbit-ct-per_vhost_msg_store
- - rabbit-ct-per_vhost_queue_limit
- - rabbit-ct-policy
- - rabbit-ct-priority_queue
- - rabbit-ct-priority_queue_recovery
- - rabbit-ct-product_info
- - rabbit-ct-proxy_protocol
- - rabbit-ct-publisher_confirms_parallel
- - rabbit-ct-queue_length_limits
- - rabbit-ct-queue_master_location
- - rabbit-ct-queue_parallel
- - rabbit-ct-queue_type
- - rabbit-ct-quorum_queue
- - rabbit-ct-rabbit_confirms
- - rabbit-ct-rabbit_core_metrics_gc
- - rabbit-ct-rabbit_fifo
- - rabbit-ct-rabbit_fifo_int
- - rabbit-ct-rabbit_fifo_prop
- - rabbit-ct-rabbit_fifo_v0
- - rabbit-ct-rabbit_msg_record
- - rabbit-ct-rabbit_stream_queue
- - rabbit-ct-rabbitmq_queues_cli_integration
- - rabbit-ct-rabbitmqctl_integration
- - rabbit-ct-rabbitmqctl_shutdown
- - rabbit-ct-signal_handling
- - rabbit-ct-simple_ha
- - rabbit-ct-single_active_consumer
- - rabbit-ct-sync_detection
- - rabbit-ct-term_to_binary_compat_prop
- - rabbit-ct-topic_permission
- - rabbit-ct-unit_access_control
- - rabbit-ct-unit_access_control_authn_authz_context_propagation
- - rabbit-ct-unit_access_control_credential_validation
- - rabbit-ct-unit_amqp091_content_framing
- - rabbit-ct-unit_amqp091_server_properties
- - rabbit-ct-unit_app_management
- - rabbit-ct-unit_cluster_formation_locking_mocks
- - rabbit-ct-unit_collections
- - rabbit-ct-unit_config_value_encryption
- - rabbit-ct-unit_connection_tracking
- - rabbit-ct-unit_credit_flow
- - rabbit-ct-unit_disk_monitor
- - rabbit-ct-unit_disk_monitor_mocks
- - rabbit-ct-unit_file_handle_cache
- - rabbit-ct-unit_gen_server2
- - rabbit-ct-unit_gm
- - rabbit-ct-unit_log_config
- - rabbit-ct-unit_log_management
- - rabbit-ct-unit_operator_policy
- - rabbit-ct-unit_pg_local
- - rabbit-ct-unit_plugin_directories
- - rabbit-ct-unit_plugin_versioning
- - rabbit-ct-unit_policy_validators
- - rabbit-ct-unit_priority_queue
- - rabbit-ct-unit_queue_consumers
- - rabbit-ct-unit_stats_and_metrics
- - rabbit-ct-unit_supervisor2
- - rabbit-ct-unit_vm_memory_monitor
- - rabbit-ct-upgrade_preparation
- - rabbit-ct-vhost
- runs-on: ubuntu-18.04
- if: '!contains(github.event.head_commit.message, ''[ci skip]'') && (success() || failure())'
- steps:
- - name: FAN IN rabbit SUITES
- run: |
- echo "Success"
amqp_client:
name: amqp_client
needs:
@@ -9977,7 +9872,102 @@ jobs:
- xref
- dialyze
- rabbit_common
- - rabbit
+ - rabbit-checks
+ - rabbit-ct-amqqueue_backward_compatibility
+ - rabbit-ct-backing_queue
+ - rabbit-ct-channel_interceptor
+ - rabbit-ct-channel_operation_timeout
+ - rabbit-ct-cluster
+ - rabbit-ct-cluster_rename
+ - rabbit-ct-clustering_management
+ - rabbit-ct-config_schema
+ - rabbit-ct-confirms_rejects
+ - rabbit-ct-consumer_timeout
+ - rabbit-ct-crashing_queues
+ - rabbit-ct-dead_lettering
+ - rabbit-ct-definition_import
+ - rabbit-ct-disconnect_detected_during_alarm
+ - rabbit-ct-dynamic_ha
+ - rabbit-ct-dynamic_qq
+ - rabbit-ct-eager_sync
+ - rabbit-ct-feature_flags
+ - rabbit-ct-lazy_queue
+ - rabbit-ct-list_consumers_sanity_check
+ - rabbit-ct-list_queues_online_and_offline
+ - rabbit-ct-maintenance_mode
+ - rabbit-ct-many_node_ha
+ - rabbit-ct-message_size_limit
+ - rabbit-ct-metrics
+ - rabbit-ct-mirrored_supervisor
+ - rabbit-ct-msg_store
+ - rabbit-ct-peer_discovery_classic_config
+ - rabbit-ct-peer_discovery_dns
+ - rabbit-ct-per_user_connection_channel_limit
+ - rabbit-ct-per_user_connection_channel_limit_partitions
+ - rabbit-ct-per_user_connection_channel_tracking
+ - rabbit-ct-per_user_connection_tracking
+ - rabbit-ct-per_vhost_connection_limit
+ - rabbit-ct-per_vhost_connection_limit_partitions
+ - rabbit-ct-per_vhost_msg_store
+ - rabbit-ct-per_vhost_queue_limit
+ - rabbit-ct-policy
+ - rabbit-ct-priority_queue
+ - rabbit-ct-priority_queue_recovery
+ - rabbit-ct-product_info
+ - rabbit-ct-proxy_protocol
+ - rabbit-ct-publisher_confirms_parallel
+ - rabbit-ct-queue_length_limits
+ - rabbit-ct-queue_master_location
+ - rabbit-ct-queue_parallel
+ - rabbit-ct-queue_type
+ - rabbit-ct-quorum_queue
+ - rabbit-ct-rabbit_confirms
+ - rabbit-ct-rabbit_core_metrics_gc
+ - rabbit-ct-rabbit_fifo
+ - rabbit-ct-rabbit_fifo_int
+ - rabbit-ct-rabbit_fifo_prop
+ - rabbit-ct-rabbit_fifo_v0
+ - rabbit-ct-rabbit_msg_record
+ - rabbit-ct-rabbit_stream_queue
+ - rabbit-ct-rabbitmq_queues_cli_integration
+ - rabbit-ct-rabbitmqctl_integration
+ - rabbit-ct-rabbitmqctl_shutdown
+ - rabbit-ct-signal_handling
+ - rabbit-ct-simple_ha
+ - rabbit-ct-single_active_consumer
+ - rabbit-ct-sync_detection
+ - rabbit-ct-term_to_binary_compat_prop
+ - rabbit-ct-topic_permission
+ - rabbit-ct-unit_access_control
+ - rabbit-ct-unit_access_control_authn_authz_context_propagation
+ - rabbit-ct-unit_access_control_credential_validation
+ - rabbit-ct-unit_amqp091_content_framing
+ - rabbit-ct-unit_amqp091_server_properties
+ - rabbit-ct-unit_app_management
+ - rabbit-ct-unit_cluster_formation_locking_mocks
+ - rabbit-ct-unit_collections
+ - rabbit-ct-unit_config_value_encryption
+ - rabbit-ct-unit_connection_tracking
+ - rabbit-ct-unit_credit_flow
+ - rabbit-ct-unit_disk_monitor
+ - rabbit-ct-unit_disk_monitor_mocks
+ - rabbit-ct-unit_file_handle_cache
+ - rabbit-ct-unit_gen_server2
+ - rabbit-ct-unit_gm
+ - rabbit-ct-unit_log_config
+ - rabbit-ct-unit_log_management
+ - rabbit-ct-unit_operator_policy
+ - rabbit-ct-unit_pg_local
+ - rabbit-ct-unit_plugin_directories
+ - rabbit-ct-unit_plugin_versioning
+ - rabbit-ct-unit_policy_validators
+ - rabbit-ct-unit_priority_queue
+ - rabbit-ct-unit_queue_consumers
+ - rabbit-ct-unit_stats_and_metrics
+ - rabbit-ct-unit_supervisor2
+ - rabbit-ct-unit_vm_memory_monitor
+ - rabbit-ct-upgrade_preparation
+ - rabbit-ct-vhost
- amqp_client
- amqp10_client
- amqp10_common
diff --git a/.github/workflows/test-erlang-otp-git.yaml b/.github/workflows/test-erlang-otp-git.yaml
index 9f256dec47..b074ba355e 100644
--- a/.github/workflows/test-erlang-otp-git.yaml
+++ b/.github/workflows/test-erlang-otp-git.yaml
@@ -3555,111 +3555,6 @@ jobs:
with:
name: rabbit-ct-vhost-logs
path: deps/rabbit/*-ct-logs-*.tar.xz
- rabbit:
- name: rabbit
- needs:
- - rabbit-checks
- - rabbit-ct-amqqueue_backward_compatibility
- - rabbit-ct-backing_queue
- - rabbit-ct-channel_interceptor
- - rabbit-ct-channel_operation_timeout
- - rabbit-ct-cluster
- - rabbit-ct-cluster_rename
- - rabbit-ct-clustering_management
- - rabbit-ct-config_schema
- - rabbit-ct-confirms_rejects
- - rabbit-ct-consumer_timeout
- - rabbit-ct-crashing_queues
- - rabbit-ct-dead_lettering
- - rabbit-ct-definition_import
- - rabbit-ct-disconnect_detected_during_alarm
- - rabbit-ct-dynamic_ha
- - rabbit-ct-dynamic_qq
- - rabbit-ct-eager_sync
- - rabbit-ct-feature_flags
- - rabbit-ct-lazy_queue
- - rabbit-ct-list_consumers_sanity_check
- - rabbit-ct-list_queues_online_and_offline
- - rabbit-ct-maintenance_mode
- - rabbit-ct-many_node_ha
- - rabbit-ct-message_size_limit
- - rabbit-ct-metrics
- - rabbit-ct-mirrored_supervisor
- - rabbit-ct-msg_store
- - rabbit-ct-peer_discovery_classic_config
- - rabbit-ct-peer_discovery_dns
- - rabbit-ct-per_user_connection_channel_limit
- - rabbit-ct-per_user_connection_channel_limit_partitions
- - rabbit-ct-per_user_connection_channel_tracking
- - rabbit-ct-per_user_connection_tracking
- - rabbit-ct-per_vhost_connection_limit
- - rabbit-ct-per_vhost_connection_limit_partitions
- - rabbit-ct-per_vhost_msg_store
- - rabbit-ct-per_vhost_queue_limit
- - rabbit-ct-policy
- - rabbit-ct-priority_queue
- - rabbit-ct-priority_queue_recovery
- - rabbit-ct-product_info
- - rabbit-ct-proxy_protocol
- - rabbit-ct-publisher_confirms_parallel
- - rabbit-ct-queue_length_limits
- - rabbit-ct-queue_master_location
- - rabbit-ct-queue_parallel
- - rabbit-ct-queue_type
- - rabbit-ct-quorum_queue
- - rabbit-ct-rabbit_confirms
- - rabbit-ct-rabbit_core_metrics_gc
- - rabbit-ct-rabbit_fifo
- - rabbit-ct-rabbit_fifo_int
- - rabbit-ct-rabbit_fifo_prop
- - rabbit-ct-rabbit_fifo_v0
- - rabbit-ct-rabbit_msg_record
- - rabbit-ct-rabbit_stream_queue
- - rabbit-ct-rabbitmq_queues_cli_integration
- - rabbit-ct-rabbitmqctl_integration
- - rabbit-ct-rabbitmqctl_shutdown
- - rabbit-ct-signal_handling
- - rabbit-ct-simple_ha
- - rabbit-ct-single_active_consumer
- - rabbit-ct-sync_detection
- - rabbit-ct-term_to_binary_compat_prop
- - rabbit-ct-topic_permission
- - rabbit-ct-unit_access_control
- - rabbit-ct-unit_access_control_authn_authz_context_propagation
- - rabbit-ct-unit_access_control_credential_validation
- - rabbit-ct-unit_amqp091_content_framing
- - rabbit-ct-unit_amqp091_server_properties
- - rabbit-ct-unit_app_management
- - rabbit-ct-unit_cluster_formation_locking_mocks
- - rabbit-ct-unit_collections
- - rabbit-ct-unit_config_value_encryption
- - rabbit-ct-unit_connection_tracking
- - rabbit-ct-unit_credit_flow
- - rabbit-ct-unit_disk_monitor
- - rabbit-ct-unit_disk_monitor_mocks
- - rabbit-ct-unit_file_handle_cache
- - rabbit-ct-unit_gen_server2
- - rabbit-ct-unit_gm
- - rabbit-ct-unit_log_config
- - rabbit-ct-unit_log_management
- - rabbit-ct-unit_operator_policy
- - rabbit-ct-unit_pg_local
- - rabbit-ct-unit_plugin_directories
- - rabbit-ct-unit_plugin_versioning
- - rabbit-ct-unit_policy_validators
- - rabbit-ct-unit_priority_queue
- - rabbit-ct-unit_queue_consumers
- - rabbit-ct-unit_stats_and_metrics
- - rabbit-ct-unit_supervisor2
- - rabbit-ct-unit_vm_memory_monitor
- - rabbit-ct-upgrade_preparation
- - rabbit-ct-vhost
- runs-on: ubuntu-18.04
- if: '!contains(github.event.head_commit.message, ''[ci skip]'') && (success() || failure())'
- steps:
- - name: FAN IN rabbit SUITES
- run: |
- echo "Success"
amqp_client:
name: amqp_client
needs:
@@ -5011,7 +4906,102 @@ jobs:
- prepare
- xref
- rabbit_common
- - rabbit
+ - rabbit-checks
+ - rabbit-ct-amqqueue_backward_compatibility
+ - rabbit-ct-backing_queue
+ - rabbit-ct-channel_interceptor
+ - rabbit-ct-channel_operation_timeout
+ - rabbit-ct-cluster
+ - rabbit-ct-cluster_rename
+ - rabbit-ct-clustering_management
+ - rabbit-ct-config_schema
+ - rabbit-ct-confirms_rejects
+ - rabbit-ct-consumer_timeout
+ - rabbit-ct-crashing_queues
+ - rabbit-ct-dead_lettering
+ - rabbit-ct-definition_import
+ - rabbit-ct-disconnect_detected_during_alarm
+ - rabbit-ct-dynamic_ha
+ - rabbit-ct-dynamic_qq
+ - rabbit-ct-eager_sync
+ - rabbit-ct-feature_flags
+ - rabbit-ct-lazy_queue
+ - rabbit-ct-list_consumers_sanity_check
+ - rabbit-ct-list_queues_online_and_offline
+ - rabbit-ct-maintenance_mode
+ - rabbit-ct-many_node_ha
+ - rabbit-ct-message_size_limit
+ - rabbit-ct-metrics
+ - rabbit-ct-mirrored_supervisor
+ - rabbit-ct-msg_store
+ - rabbit-ct-peer_discovery_classic_config
+ - rabbit-ct-peer_discovery_dns
+ - rabbit-ct-per_user_connection_channel_limit
+ - rabbit-ct-per_user_connection_channel_limit_partitions
+ - rabbit-ct-per_user_connection_channel_tracking
+ - rabbit-ct-per_user_connection_tracking
+ - rabbit-ct-per_vhost_connection_limit
+ - rabbit-ct-per_vhost_connection_limit_partitions
+ - rabbit-ct-per_vhost_msg_store
+ - rabbit-ct-per_vhost_queue_limit
+ - rabbit-ct-policy
+ - rabbit-ct-priority_queue
+ - rabbit-ct-priority_queue_recovery
+ - rabbit-ct-product_info
+ - rabbit-ct-proxy_protocol
+ - rabbit-ct-publisher_confirms_parallel
+ - rabbit-ct-queue_length_limits
+ - rabbit-ct-queue_master_location
+ - rabbit-ct-queue_parallel
+ - rabbit-ct-queue_type
+ - rabbit-ct-quorum_queue
+ - rabbit-ct-rabbit_confirms
+ - rabbit-ct-rabbit_core_metrics_gc
+ - rabbit-ct-rabbit_fifo
+ - rabbit-ct-rabbit_fifo_int
+ - rabbit-ct-rabbit_fifo_prop
+ - rabbit-ct-rabbit_fifo_v0
+ - rabbit-ct-rabbit_msg_record
+ - rabbit-ct-rabbit_stream_queue
+ - rabbit-ct-rabbitmq_queues_cli_integration
+ - rabbit-ct-rabbitmqctl_integration
+ - rabbit-ct-rabbitmqctl_shutdown
+ - rabbit-ct-signal_handling
+ - rabbit-ct-simple_ha
+ - rabbit-ct-single_active_consumer
+ - rabbit-ct-sync_detection
+ - rabbit-ct-term_to_binary_compat_prop
+ - rabbit-ct-topic_permission
+ - rabbit-ct-unit_access_control
+ - rabbit-ct-unit_access_control_authn_authz_context_propagation
+ - rabbit-ct-unit_access_control_credential_validation
+ - rabbit-ct-unit_amqp091_content_framing
+ - rabbit-ct-unit_amqp091_server_properties
+ - rabbit-ct-unit_app_management
+ - rabbit-ct-unit_cluster_formation_locking_mocks
+ - rabbit-ct-unit_collections
+ - rabbit-ct-unit_config_value_encryption
+ - rabbit-ct-unit_connection_tracking
+ - rabbit-ct-unit_credit_flow
+ - rabbit-ct-unit_disk_monitor
+ - rabbit-ct-unit_disk_monitor_mocks
+ - rabbit-ct-unit_file_handle_cache
+ - rabbit-ct-unit_gen_server2
+ - rabbit-ct-unit_gm
+ - rabbit-ct-unit_log_config
+ - rabbit-ct-unit_log_management
+ - rabbit-ct-unit_operator_policy
+ - rabbit-ct-unit_pg_local
+ - rabbit-ct-unit_plugin_directories
+ - rabbit-ct-unit_plugin_versioning
+ - rabbit-ct-unit_policy_validators
+ - rabbit-ct-unit_priority_queue
+ - rabbit-ct-unit_queue_consumers
+ - rabbit-ct-unit_stats_and_metrics
+ - rabbit-ct-unit_supervisor2
+ - rabbit-ct-unit_vm_memory_monitor
+ - rabbit-ct-upgrade_preparation
+ - rabbit-ct-vhost
- amqp_client
- amqp10_client
- amqp10_common
diff --git a/workflow_sources/test/ct.lib.yml b/workflow_sources/test/ct.lib.yml
index d42cef4780..27094ff26c 100644
--- a/workflow_sources/test/ct.lib.yml
+++ b/workflow_sources/test/ct.lib.yml
@@ -105,17 +105,3 @@ steps:
#@ end
#@ end
#@ end
-
-#@ def collect_job(dep, erlang_version=None):
-name: #@ dep.name
-needs: #@ [dep.name + "-checks"] + [dep.name + "-ct-" + suite.name for suite in dep.suites]
-runs-on: ubuntu-18.04
-#! See https://docs.github.com/en/free-pro-team@latest/actions/reference/context-and-expression-syntax-for-github-actions#job-status-check-functions
-#! as to why '(success() || failure())' is needed
-if: #@ skip_ci_condition() + " && (success() || failure())"
-#@yaml/text-templated-strings
-steps:
-- name: #@ "FAN IN {} SUITES".format(dep.name)
- run: |
- echo "Success"
-#@ end \ No newline at end of file
diff --git a/workflow_sources/test/dep.star b/workflow_sources/test/dep.star
index b52d20c1cc..5595efc6ce 100644
--- a/workflow_sources/test/dep.star
+++ b/workflow_sources/test/dep.star
@@ -1,5 +1,5 @@
load("rabbitmq_cli.lib.yml", "rabbitmq_cli_job")
-load("ct.lib.yml", "checks_job", "ct_suites_job", "collect_job")
+load("ct.lib.yml", "checks_job", "ct_suites_job")
load("tests.lib.yml", "tests_job")
def dep_jobs(dep, erlang_version=None):
@@ -12,7 +12,6 @@ def dep_jobs(dep, erlang_version=None):
for suite in dep.suites:
jobs[dep.name + "-ct-" + suite.name] = ct_suites_job(dep, suite.name, erlang_version=erlang_version)
end
- jobs[dep.name] = collect_job(dep, erlang_version=erlang_version)
else:
jobs[dep.name] = tests_job(dep, erlang_version=erlang_version)
end
diff --git a/workflow_sources/test/finish.lib.yml b/workflow_sources/test/finish.lib.yml
index 528d17e490..390047e99b 100644
--- a/workflow_sources/test/finish.lib.yml
+++ b/workflow_sources/test/finish.lib.yml
@@ -1,5 +1,6 @@
#@ load("@ytt:data", "data")
#@ load("helpers.star", "ci_image", "ci_image_tag", "skip_ci_condition")
+#@ load("util.star", "flatten")
#@ def gcs_path():
#@ c = ['monorepo_github_actions_conclusions']
@@ -8,10 +9,22 @@
#@ return '/'.join(c)
#@ end
+#@ def dep_jobs(dep):
+#@ if not getattr(dep, "skip_tests", False):
+#@ if getattr(dep, "test_suites_in_parallel", False):
+#@ return [dep.name + "-checks"] + [dep.name + "-ct-" + suite.name for suite in dep.suites]
+#@ else:
+#@ return [dep.name]
+#@ end
+#@ else:
+#@ return []
+#@ end
+#@ end
+
#@ def finish_jobs(prepare_jobs_names, erlang_version=None):
finish:
name: finish
- needs: #@ prepare_jobs_names + [dep.name for dep in data.values.deps if not getattr(dep, "skip_tests", False)]
+ needs: #@ flatten([prepare_jobs_names] + [dep_jobs(dep) for dep in data.values.deps])
runs-on: ubuntu-18.04
#! See https://docs.github.com/en/free-pro-team@latest/actions/reference/context-and-expression-syntax-for-github-actions#job-status-check-functions
#! as to why '(success() || failure())' is needed
diff --git a/workflow_sources/test/util.star b/workflow_sources/test/util.star
index f08c9a8e7a..5a8bf2bfe7 100644
--- a/workflow_sources/test/util.star
+++ b/workflow_sources/test/util.star
@@ -2,6 +2,10 @@ def is_unique(l):
return len(l) == len(set(l))
end
+def flatten(l):
+ return [item for sublist in l for item in sublist]
+end
+
def merge(dicts):
r = {}
for d in dicts: