diff --git a/GITLAB_KAS_VERSION b/GITLAB_KAS_VERSION index 2e0b428c416..b8402259306 100644 --- a/GITLAB_KAS_VERSION +++ b/GITLAB_KAS_VERSION @@ -1 +1 @@ -15.5.1 +15.6.0-rc1 diff --git a/config/metrics/counts_7d/20210216180620_incident_management_total_unique_counts_weekly.yml b/config/metrics/counts_7d/20210216180620_incident_management_total_unique_counts_weekly.yml index 7bc0d698f3a..03ea343b1da 100644 --- a/config/metrics/counts_7d/20210216180620_incident_management_total_unique_counts_weekly.yml +++ b/config/metrics/counts_7d/20210216180620_incident_management_total_unique_counts_weekly.yml @@ -10,8 +10,11 @@ value_type: number status: active time_frame: 7d data_source: redis_hll -instrumentation_class: RedisHLLMetric +instrumentation_class: AggregatedMetric options: + aggregate: + operator: OR + attribute: user_id events: - incident_management_incident_created - incident_management_incident_reopened diff --git a/qa/qa/page/base.rb b/qa/qa/page/base.rb index 81c518bb4c6..5fbfff3181b 100644 --- a/qa/qa/page/base.rb +++ b/qa/qa/page/base.rb @@ -158,16 +158,17 @@ module QA all(element_selector_css(name), **kwargs) end - def check_element(name, click_by_js = false, visibility = false) - if find_element(name, visible: visibility).checked? + def check_element(name, click_by_js = false, **kwargs) + kwargs[:visible] = false unless kwargs.key?(:visible) + if find_element(name, **kwargs).checked? QA::Runtime::Logger.debug("#{name} is already checked") return end retry_until(sleep_interval: 1) do - click_checkbox_or_radio(name, click_by_js, visibility) - checked = find_element(name, visible: visibility).checked? + click_checkbox_or_radio(name, click_by_js, **kwargs) + checked = find_element(name, **kwargs).checked? QA::Runtime::Logger.debug(checked ? "#{name} was checked" : "#{name} was not checked") @@ -175,16 +176,17 @@ module QA end end - def uncheck_element(name, click_by_js = false, visibility = false) - unless find_element(name, visible: visibility).checked? + def uncheck_element(name, click_by_js = false, **kwargs) + kwargs[:visible] = false unless kwargs.key?(:visible) + unless find_element(name, **kwargs).checked? QA::Runtime::Logger.debug("#{name} is already unchecked") return end retry_until(sleep_interval: 1) do - click_checkbox_or_radio(name, click_by_js, visibility) - unchecked = !find_element(name, visible: visibility).checked? + click_checkbox_or_radio(name, click_by_js, kwargs) + unchecked = !find_element(name, **kwargs).checked? QA::Runtime::Logger.debug(unchecked ? "#{name} was unchecked" : "#{name} was not unchecked") @@ -193,16 +195,17 @@ module QA end # Method for selecting radios - def choose_element(name, click_by_js = false, visibility = false) - if find_element(name, visible: visibility).checked? + def choose_element(name, click_by_js = false, **kwargs) + kwargs[:visible] = false unless kwargs.key?(:visible) + if find_element(name, **kwargs).checked? QA::Runtime::Logger.debug("#{name} is already selected") return end retry_until(sleep_interval: 1) do - click_checkbox_or_radio(name, click_by_js, visibility) - selected = find_element(name, visible: visibility).checked? + click_checkbox_or_radio(name, click_by_js, **kwargs) + selected = find_element(name, **kwargs).checked? QA::Runtime::Logger.debug(selected ? "#{name} was selected" : "#{name} was not selected") @@ -458,6 +461,10 @@ module QA true end + def click_by_javascript(element) + page.execute_script("arguments[0].click();", element) + end + class DSL attr_reader :views @@ -474,8 +481,8 @@ module QA private - def click_checkbox_or_radio(name, click_by_js, visibility) - box = find_element(name, visible: visibility) + def click_checkbox_or_radio(name, click_by_js, **kwargs) + box = find_element(name, **kwargs) # Some checkboxes and radio buttons are hidden by their labels and cannot be clicked directly click_by_js ? page.execute_script("arguments[0].click();", box) : box.click end diff --git a/qa/qa/support/page/logging.rb b/qa/qa/support/page/logging.rb index 6dfb348a347..79ea4a8d001 100644 --- a/qa/qa/support/page/logging.rb +++ b/qa/qa/support/page/logging.rb @@ -54,18 +54,25 @@ module QA elements end - def check_element(name, click_by_js = nil) - log("checking :#{highlight_element(name)}", :info) + def check_element(name, click_by_js = false, **kwargs) + log_by_js("checking", name, click_by_js, **kwargs) super end - def uncheck_element(name, click_by_js = nil) - log("unchecking :#{highlight_element(name)}", :info) + def uncheck_element(name, click_by_js = false, **kwargs) + log_by_js("unchecking", name, click_by_js, **kwargs) super end + def log_by_js(action, name, click_by_js, **kwargs) + msg = action + msg += " via JS" if click_by_js + msg += " :#{highlight_element(name)} with args #{kwargs}" + log(msg, :info) + end + def click_element_coordinates(name, **kwargs) log(%(clicking the coordinates of :#{highlight_element(name)}), :info) diff --git a/workhorse/go.mod b/workhorse/go.mod index ec78a85e413..28d1eb5f975 100644 --- a/workhorse/go.mod +++ b/workhorse/go.mod @@ -4,10 +4,10 @@ go 1.17 require ( github.com/Azure/azure-storage-blob-go v0.14.0 - github.com/BurntSushi/toml v1.2.0 + github.com/BurntSushi/toml v1.2.1 github.com/FZambia/sentinel v1.1.1 github.com/alecthomas/chroma/v2 v2.3.0 - github.com/aws/aws-sdk-go v1.44.116 + github.com/aws/aws-sdk-go v1.44.121 github.com/disintegration/imaging v1.6.2 github.com/getsentry/raven-go v0.2.0 github.com/golang-jwt/jwt/v4 v4.4.2 diff --git a/workhorse/go.sum b/workhorse/go.sum index 67392ede877..c4f8f62c551 100644 --- a/workhorse/go.sum +++ b/workhorse/go.sum @@ -124,8 +124,8 @@ github.com/Azure/go-autorest/tracing v0.6.0 h1:TYi4+3m5t6K48TGI9AUdb+IzbnSxvnvUM github.com/Azure/go-autorest/tracing v0.6.0/go.mod h1:+vhtPC754Xsa23ID7GlGsrdKBpUA79WCAKPPZVC2DeU= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/toml v0.4.1/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= -github.com/BurntSushi/toml v1.2.0 h1:Rt8g24XnyGTyglgET/PRUNlrUeu9F5L+7FilkXfZgs0= -github.com/BurntSushi/toml v1.2.0/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= +github.com/BurntSushi/toml v1.2.1 h1:9F2/+DoOYIOksmaJFPw1tGFy1eDnIJXg+UHjuD8lTak= +github.com/BurntSushi/toml v1.2.1/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/CloudyKit/fastprinter v0.0.0-20200109182630-33d98a066a53/go.mod h1:+3IMCy2vIlbG1XG/0ggNQv0SvxCAIpPM5b1nCz56Xno= github.com/CloudyKit/jet/v3 v3.0.0/go.mod h1:HKQPgSJmdK8hdoAbKUUWajkHyHo4RaU5rMdUywE7VMo= @@ -179,8 +179,8 @@ github.com/aws/aws-sdk-go v1.15.27/go.mod h1:mFuSZ37Z9YOHbQEwBWztmVzqXrEkub65tZo github.com/aws/aws-sdk-go v1.17.4/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= github.com/aws/aws-sdk-go v1.37.0/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro= github.com/aws/aws-sdk-go v1.43.31/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= -github.com/aws/aws-sdk-go v1.44.116 h1:NpLIhcvLWXJZAEwvPj3TDHeqp7DleK6ZUVYyW01WNHY= -github.com/aws/aws-sdk-go v1.44.116/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= +github.com/aws/aws-sdk-go v1.44.121 h1:ahBRUqUp4qLyGmSM5KKn+TVpZkRmtuLxTWw+6Hq/ebs= +github.com/aws/aws-sdk-go v1.44.121/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= github.com/aws/aws-sdk-go-v2 v1.16.2 h1:fqlCk6Iy3bnCumtrLz9r3mJ/2gUT0pJ0wLFVIdWh+JA= github.com/aws/aws-sdk-go-v2 v1.16.2/go.mod h1:ytwTPBG6fXTZLxxeeCCWj2/EMYp/xDUgX+OET6TLNNU= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.1 h1:SdK4Ppk5IzLs64ZMvr6MrSficMtjY2oS0WOORXTlxwU=