From 209306c3a65793393521bcf541df1ae06e586915 Mon Sep 17 00:00:00 2001 From: Craig Perkins Date: Thu, 5 Dec 2024 09:09:24 -0800 Subject: [PATCH 1/4] Fixed pipeline aggregation registration. Signed-off-by: AWSHurneyt --- .../main/kotlin/org/opensearch/alerting/AlertingPlugin.kt | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/alerting/src/main/kotlin/org/opensearch/alerting/AlertingPlugin.kt b/alerting/src/main/kotlin/org/opensearch/alerting/AlertingPlugin.kt index b8962b29d..8147c9049 100644 --- a/alerting/src/main/kotlin/org/opensearch/alerting/AlertingPlugin.kt +++ b/alerting/src/main/kotlin/org/opensearch/alerting/AlertingPlugin.kt @@ -97,6 +97,7 @@ import org.opensearch.common.settings.SettingsFilter import org.opensearch.commons.alerting.action.AlertingActions import org.opensearch.commons.alerting.action.DocLevelMonitorFanOutAction import org.opensearch.commons.alerting.aggregation.bucketselectorext.BucketSelectorExtAggregationBuilder +import org.opensearch.commons.alerting.aggregation.bucketselectorext.BucketSelectorIndices import org.opensearch.commons.alerting.model.BucketLevelTrigger import org.opensearch.commons.alerting.model.ChainedAlertTrigger import org.opensearch.commons.alerting.model.ClusterMetricsInput @@ -468,10 +469,8 @@ internal class AlertingPlugin : PainlessExtension, ActionPlugin, ScriptPlugin, R SearchPlugin.PipelineAggregationSpec( BucketSelectorExtAggregationBuilder.NAME, { sin: StreamInput -> BucketSelectorExtAggregationBuilder(sin) }, - { parser: XContentParser, agg_name: String -> - BucketSelectorExtAggregationBuilder.parse(agg_name, parser) - } - ) + { parser: XContentParser, agg_name: String -> BucketSelectorExtAggregationBuilder.parse(agg_name, parser) } + ).addResultReader({ sin: StreamInput -> BucketSelectorIndices(sin) }) ) } From 3dcf9ea6a8c96f449b3267d804b460dab012c39d Mon Sep 17 00:00:00 2001 From: AWSHurneyt Date: Fri, 24 Jan 2025 15:24:35 -0800 Subject: [PATCH 2/4] Updated unit tests. Signed-off-by: AWSHurneyt --- .../BucketSelectorExtAggregatorTests.kt | 24 ++++++++++++++----- 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/alerting/src/test/kotlin/org/opensearch/alerting/aggregation/bucketselectorext/BucketSelectorExtAggregatorTests.kt b/alerting/src/test/kotlin/org/opensearch/alerting/aggregation/bucketselectorext/BucketSelectorExtAggregatorTests.kt index 257a0a705..3dcc91647 100644 --- a/alerting/src/test/kotlin/org/opensearch/alerting/aggregation/bucketselectorext/BucketSelectorExtAggregatorTests.kt +++ b/alerting/src/test/kotlin/org/opensearch/alerting/aggregation/bucketselectorext/BucketSelectorExtAggregatorTests.kt @@ -102,10 +102,12 @@ class BucketSelectorExtAggregatorTests : AggregatorTestCase() { iw.addDocument(doc) }, Consumer { f: InternalFilters -> + val bucketSelectorIndices = f.buckets[0].aggregations.get("test_bucket_selector_ext") as BucketSelectorIndices assertThat( - (f.buckets[0].aggregations.get("test_bucket_selector_ext") as BucketSelectorIndices).bucketIndices[0], + bucketSelectorIndices.bucketIndices[0], CoreMatchers.equalTo(1) ) + assertEquals(BucketSelectorExtAggregationBuilder.NAME.preferredName, bucketSelectorIndices.writeableName) }, fieldType, fieldType1 ) @@ -162,10 +164,12 @@ class BucketSelectorExtAggregatorTests : AggregatorTestCase() { iw.addDocument(doc) }, Consumer { f: InternalFilters -> + val bucketSelectorIndices = f.buckets[0].aggregations.get("test_bucket_selector_ext") as BucketSelectorIndices assertThat( - (f.buckets[0].aggregations.get("test_bucket_selector_ext") as BucketSelectorIndices).bucketIndices.size, + bucketSelectorIndices.bucketIndices.size, CoreMatchers.equalTo(0) ) + assertEquals(BucketSelectorExtAggregationBuilder.NAME.preferredName, bucketSelectorIndices.writeableName) }, fieldType, fieldType1 ) @@ -183,10 +187,12 @@ class BucketSelectorExtAggregatorTests : AggregatorTestCase() { iw.addDocument(doc) }, Consumer { f: InternalFilters -> + val bucketSelectorIndices = f.buckets[0].aggregations.get("test_bucket_selector_ext") as BucketSelectorIndices assertThat( - (f.buckets[0].aggregations.get("test_bucket_selector_ext") as BucketSelectorIndices).bucketIndices[0], + bucketSelectorIndices.bucketIndices[0], CoreMatchers.equalTo(1) ) + assertEquals(BucketSelectorExtAggregationBuilder.NAME.preferredName, bucketSelectorIndices.writeableName) }, fieldType, fieldType1 ) @@ -226,10 +232,12 @@ class BucketSelectorExtAggregatorTests : AggregatorTestCase() { iw.addDocument(doc) }, Consumer { f: InternalFilters -> + val bucketSelectorIndices = f.buckets[0].aggregations.get("test_bucket_selector_ext") as BucketSelectorIndices assertThat( - (f.buckets[0].aggregations.get("test_bucket_selector_ext") as BucketSelectorIndices).bucketIndices.size, + bucketSelectorIndices.bucketIndices.size, CoreMatchers.equalTo(0) ) + assertEquals(BucketSelectorExtAggregationBuilder.NAME.preferredName, bucketSelectorIndices.writeableName) }, fieldType, fieldType1 ) @@ -270,10 +278,12 @@ class BucketSelectorExtAggregatorTests : AggregatorTestCase() { iw.addDocument(doc) }, Consumer { f: InternalFilters -> + val bucketSelectorIndices = f.buckets[0].aggregations.get("test_bucket_selector_ext") as BucketSelectorIndices assertThat( - (f.buckets[0].aggregations.get("test_bucket_selector_ext") as BucketSelectorIndices).bucketIndices[0], + bucketSelectorIndices.bucketIndices[0], CoreMatchers.equalTo(0) ) + assertEquals(BucketSelectorExtAggregationBuilder.NAME.preferredName, bucketSelectorIndices.writeableName) }, fieldType, fieldType1 ) @@ -318,10 +328,12 @@ class BucketSelectorExtAggregatorTests : AggregatorTestCase() { iw.addDocument(doc) }, Consumer { f: InternalFilter -> + val bucketSelectorIndices = f.aggregations.get("test_bucket_selector_ext") as BucketSelectorIndices assertThat( - (f.aggregations.get("test_bucket_selector_ext") as BucketSelectorIndices).bucketIndices[0], + bucketSelectorIndices.bucketIndices[0], CoreMatchers.equalTo(1) ) + assertEquals(BucketSelectorExtAggregationBuilder.NAME.preferredName, bucketSelectorIndices.writeableName) }, fieldType, fieldType1 ) From 99efc388e9e808e00520d39aa38b5f6eb42d3577 Mon Sep 17 00:00:00 2001 From: AWSHurneyt Date: Fri, 24 Jan 2025 15:45:10 -0800 Subject: [PATCH 3/4] Moved unit tests to common utils where those assets are currently located. Signed-off-by: AWSHurneyt --- .../BucketSelectorExtAggregatorTests.kt | 383 ------------------ 1 file changed, 383 deletions(-) delete mode 100644 alerting/src/test/kotlin/org/opensearch/alerting/aggregation/bucketselectorext/BucketSelectorExtAggregatorTests.kt diff --git a/alerting/src/test/kotlin/org/opensearch/alerting/aggregation/bucketselectorext/BucketSelectorExtAggregatorTests.kt b/alerting/src/test/kotlin/org/opensearch/alerting/aggregation/bucketselectorext/BucketSelectorExtAggregatorTests.kt deleted file mode 100644 index 3dcc91647..000000000 --- a/alerting/src/test/kotlin/org/opensearch/alerting/aggregation/bucketselectorext/BucketSelectorExtAggregatorTests.kt +++ /dev/null @@ -1,383 +0,0 @@ -/* - * Copyright OpenSearch Contributors - * SPDX-License-Identifier: Apache-2.0 - */ - -package org.opensearch.alerting.aggregation.bucketselectorext - -import org.apache.lucene.document.Document -import org.apache.lucene.document.SortedNumericDocValuesField -import org.apache.lucene.document.SortedSetDocValuesField -import org.apache.lucene.index.DirectoryReader -import org.apache.lucene.search.MatchAllDocsQuery -import org.apache.lucene.search.Query -import org.apache.lucene.tests.index.RandomIndexWriter -import org.apache.lucene.util.BytesRef -import org.hamcrest.CoreMatchers -import org.opensearch.common.CheckedConsumer -import org.opensearch.common.settings.Settings -import org.opensearch.commons.alerting.aggregation.bucketselectorext.BucketSelectorExtAggregationBuilder -import org.opensearch.commons.alerting.aggregation.bucketselectorext.BucketSelectorExtFilter -import org.opensearch.commons.alerting.aggregation.bucketselectorext.BucketSelectorIndices -import org.opensearch.index.mapper.KeywordFieldMapper.KeywordFieldType -import org.opensearch.index.mapper.MappedFieldType -import org.opensearch.index.mapper.NumberFieldMapper -import org.opensearch.index.mapper.NumberFieldMapper.NumberFieldType -import org.opensearch.index.query.MatchAllQueryBuilder -import org.opensearch.script.MockScriptEngine -import org.opensearch.script.Script -import org.opensearch.script.ScriptEngine -import org.opensearch.script.ScriptModule -import org.opensearch.script.ScriptService -import org.opensearch.script.ScriptType -import org.opensearch.search.aggregations.Aggregation -import org.opensearch.search.aggregations.Aggregator -import org.opensearch.search.aggregations.AggregatorTestCase -import org.opensearch.search.aggregations.bucket.filter.FilterAggregationBuilder -import org.opensearch.search.aggregations.bucket.filter.FiltersAggregationBuilder -import org.opensearch.search.aggregations.bucket.filter.InternalFilter -import org.opensearch.search.aggregations.bucket.filter.InternalFilters -import org.opensearch.search.aggregations.bucket.terms.IncludeExclude -import org.opensearch.search.aggregations.bucket.terms.TermsAggregationBuilder -import org.opensearch.search.aggregations.metrics.AvgAggregationBuilder -import org.opensearch.search.aggregations.metrics.ValueCountAggregationBuilder -import java.io.IOException -import java.util.Collections -import java.util.function.Consumer -import java.util.function.Function - -class BucketSelectorExtAggregatorTests : AggregatorTestCase() { - - private var SCRIPTNAME = "bucket_selector_script" - private var paramName = "the_avg" - private var paramValue = 19.0 - - override fun getMockScriptService(): ScriptService { - - val scriptEngine = MockScriptEngine( - MockScriptEngine.NAME, - Collections.singletonMap( - SCRIPTNAME, - Function, Any> { script: Map -> - script[paramName].toString().toDouble() == paramValue - } - ), - emptyMap() - ) - val engines: Map = Collections.singletonMap(scriptEngine.type, scriptEngine) - return ScriptService(Settings.EMPTY, engines, ScriptModule.CORE_CONTEXTS) - } - - @Throws(Exception::class) - fun `test bucket selector script`() { - val fieldType: MappedFieldType = NumberFieldType("number_field", NumberFieldMapper.NumberType.INTEGER) - val fieldType1: MappedFieldType = KeywordFieldType("the_field") - - val filters: FiltersAggregationBuilder = FiltersAggregationBuilder("placeholder", MatchAllQueryBuilder()) - .subAggregation( - TermsAggregationBuilder("the_terms").field("the_field") - .subAggregation(AvgAggregationBuilder("the_avg").field("number_field")) - ) - .subAggregation( - BucketSelectorExtAggregationBuilder( - "test_bucket_selector_ext", - Collections.singletonMap("the_avg", "the_avg.value"), - Script(ScriptType.INLINE, MockScriptEngine.NAME, SCRIPTNAME, emptyMap()), - "the_terms", - null - ) - ) - paramName = "the_avg" - paramValue = 19.0 - testCase( - filters, MatchAllDocsQuery(), - CheckedConsumer { iw: RandomIndexWriter -> - var doc = Document() - doc.add(SortedSetDocValuesField("the_field", BytesRef("test1"))) - doc.add(SortedNumericDocValuesField("number_field", 20)) - iw.addDocument(doc) - doc = Document() - doc.add(SortedSetDocValuesField("the_field", BytesRef("test2"))) - doc.add(SortedNumericDocValuesField("number_field", 19)) - iw.addDocument(doc) - }, - Consumer { f: InternalFilters -> - val bucketSelectorIndices = f.buckets[0].aggregations.get("test_bucket_selector_ext") as BucketSelectorIndices - assertThat( - bucketSelectorIndices.bucketIndices[0], - CoreMatchers.equalTo(1) - ) - assertEquals(BucketSelectorExtAggregationBuilder.NAME.preferredName, bucketSelectorIndices.writeableName) - }, - fieldType, fieldType1 - ) - } - - @Throws(Exception::class) - fun `test bucket selector filter include`() { - val fieldType: MappedFieldType = NumberFieldType("number_field", NumberFieldMapper.NumberType.INTEGER) - val fieldType1: MappedFieldType = KeywordFieldType("the_field") - - val selectorAgg1: FiltersAggregationBuilder = FiltersAggregationBuilder("placeholder", MatchAllQueryBuilder()) - .subAggregation( - TermsAggregationBuilder("the_terms").field("the_field") - .subAggregation(AvgAggregationBuilder("the_avg").field("number_field")) - ) - .subAggregation( - BucketSelectorExtAggregationBuilder( - "test_bucket_selector_ext", - Collections.singletonMap("the_avg", "the_avg.value"), - Script(ScriptType.INLINE, MockScriptEngine.NAME, SCRIPTNAME, emptyMap()), - "the_terms", - BucketSelectorExtFilter(IncludeExclude(arrayOf("test1"), arrayOf())) - ) - ) - - val selectorAgg2: FiltersAggregationBuilder = FiltersAggregationBuilder("placeholder", MatchAllQueryBuilder()) - .subAggregation( - TermsAggregationBuilder("the_terms").field("the_field") - .subAggregation(AvgAggregationBuilder("the_avg").field("number_field")) - ) - .subAggregation( - BucketSelectorExtAggregationBuilder( - "test_bucket_selector_ext", - Collections.singletonMap("the_avg", "the_avg.value"), - Script(ScriptType.INLINE, MockScriptEngine.NAME, SCRIPTNAME, emptyMap()), - "the_terms", - BucketSelectorExtFilter(IncludeExclude(arrayOf("test2"), arrayOf())) - ) - ) - - paramName = "the_avg" - paramValue = 19.0 - - testCase( - selectorAgg1, MatchAllDocsQuery(), - CheckedConsumer { iw: RandomIndexWriter -> - var doc = Document() - doc.add(SortedSetDocValuesField("the_field", BytesRef("test1"))) - doc.add(SortedNumericDocValuesField("number_field", 20)) - iw.addDocument(doc) - doc = Document() - doc.add(SortedSetDocValuesField("the_field", BytesRef("test2"))) - doc.add(SortedNumericDocValuesField("number_field", 19)) - iw.addDocument(doc) - }, - Consumer { f: InternalFilters -> - val bucketSelectorIndices = f.buckets[0].aggregations.get("test_bucket_selector_ext") as BucketSelectorIndices - assertThat( - bucketSelectorIndices.bucketIndices.size, - CoreMatchers.equalTo(0) - ) - assertEquals(BucketSelectorExtAggregationBuilder.NAME.preferredName, bucketSelectorIndices.writeableName) - }, - fieldType, fieldType1 - ) - - testCase( - selectorAgg2, MatchAllDocsQuery(), - CheckedConsumer { iw: RandomIndexWriter -> - var doc = Document() - doc.add(SortedSetDocValuesField("the_field", BytesRef("test1"))) - doc.add(SortedNumericDocValuesField("number_field", 20)) - iw.addDocument(doc) - doc = Document() - doc.add(SortedSetDocValuesField("the_field", BytesRef("test2"))) - doc.add(SortedNumericDocValuesField("number_field", 19)) - iw.addDocument(doc) - }, - Consumer { f: InternalFilters -> - val bucketSelectorIndices = f.buckets[0].aggregations.get("test_bucket_selector_ext") as BucketSelectorIndices - assertThat( - bucketSelectorIndices.bucketIndices[0], - CoreMatchers.equalTo(1) - ) - assertEquals(BucketSelectorExtAggregationBuilder.NAME.preferredName, bucketSelectorIndices.writeableName) - }, - fieldType, fieldType1 - ) - } - - @Throws(Exception::class) - fun `test bucket selector filter exclude`() { - val fieldType: MappedFieldType = NumberFieldType("number_field", NumberFieldMapper.NumberType.INTEGER) - val fieldType1: MappedFieldType = KeywordFieldType("the_field") - - val selectorAgg1: FiltersAggregationBuilder = FiltersAggregationBuilder("placeholder", MatchAllQueryBuilder()) - .subAggregation( - TermsAggregationBuilder("the_terms").field("the_field") - .subAggregation(AvgAggregationBuilder("the_avg").field("number_field")) - ) - .subAggregation( - BucketSelectorExtAggregationBuilder( - "test_bucket_selector_ext", - Collections.singletonMap("the_avg", "the_avg.value"), - Script(ScriptType.INLINE, MockScriptEngine.NAME, SCRIPTNAME, emptyMap()), - "the_terms", - BucketSelectorExtFilter(IncludeExclude(arrayOf(), arrayOf("test2"))) - ) - ) - paramName = "the_avg" - paramValue = 19.0 - testCase( - selectorAgg1, MatchAllDocsQuery(), - CheckedConsumer { iw: RandomIndexWriter -> - var doc = Document() - doc.add(SortedSetDocValuesField("the_field", BytesRef("test1"))) - doc.add(SortedNumericDocValuesField("number_field", 20)) - iw.addDocument(doc) - doc = Document() - doc.add(SortedSetDocValuesField("the_field", BytesRef("test2"))) - doc.add(SortedNumericDocValuesField("number_field", 19)) - iw.addDocument(doc) - }, - Consumer { f: InternalFilters -> - val bucketSelectorIndices = f.buckets[0].aggregations.get("test_bucket_selector_ext") as BucketSelectorIndices - assertThat( - bucketSelectorIndices.bucketIndices.size, - CoreMatchers.equalTo(0) - ) - assertEquals(BucketSelectorExtAggregationBuilder.NAME.preferredName, bucketSelectorIndices.writeableName) - }, - fieldType, fieldType1 - ) - } - - @Throws(Exception::class) - fun `test bucket selector filter numeric key`() { - val fieldType: MappedFieldType = NumberFieldType("number_field", NumberFieldMapper.NumberType.INTEGER) - val fieldType1: MappedFieldType = KeywordFieldType("the_field") - - val selectorAgg1: FiltersAggregationBuilder = FiltersAggregationBuilder("placeholder", MatchAllQueryBuilder()) - .subAggregation( - TermsAggregationBuilder("number_agg").field("number_field") - .subAggregation(ValueCountAggregationBuilder("count").field("number_field")) - ) - .subAggregation( - BucketSelectorExtAggregationBuilder( - "test_bucket_selector_ext", - Collections.singletonMap("count", "count"), - Script(ScriptType.INLINE, MockScriptEngine.NAME, SCRIPTNAME, emptyMap()), - "number_agg", - BucketSelectorExtFilter(IncludeExclude(doubleArrayOf(19.0), doubleArrayOf())) - ) - ) - - paramName = "count" - paramValue = 1.0 - testCase( - selectorAgg1, MatchAllDocsQuery(), - CheckedConsumer { iw: RandomIndexWriter -> - var doc = Document() - doc.add(SortedSetDocValuesField("the_field", BytesRef("test1"))) - doc.add(SortedNumericDocValuesField("number_field", 20)) - iw.addDocument(doc) - doc = Document() - doc.add(SortedSetDocValuesField("the_field", BytesRef("test2"))) - doc.add(SortedNumericDocValuesField("number_field", 19)) - iw.addDocument(doc) - }, - Consumer { f: InternalFilters -> - val bucketSelectorIndices = f.buckets[0].aggregations.get("test_bucket_selector_ext") as BucketSelectorIndices - assertThat( - bucketSelectorIndices.bucketIndices[0], - CoreMatchers.equalTo(0) - ) - assertEquals(BucketSelectorExtAggregationBuilder.NAME.preferredName, bucketSelectorIndices.writeableName) - }, - fieldType, fieldType1 - ) - } - - @Throws(Exception::class) - fun `test bucket selector nested parent path`() { - val fieldType: MappedFieldType = NumberFieldType("number_field", NumberFieldMapper.NumberType.INTEGER) - val fieldType1: MappedFieldType = KeywordFieldType("the_field") - - val selectorAgg1: FilterAggregationBuilder = FilterAggregationBuilder("placeholder", MatchAllQueryBuilder()) - .subAggregation( - FilterAggregationBuilder("parent_agg", MatchAllQueryBuilder()) - .subAggregation( - TermsAggregationBuilder("term_agg").field("the_field") - .subAggregation(AvgAggregationBuilder("the_avg").field("number_field")) - ) - ) - .subAggregation( - BucketSelectorExtAggregationBuilder( - "test_bucket_selector_ext", - Collections.singletonMap("the_avg", "the_avg.value"), - Script(ScriptType.INLINE, MockScriptEngine.NAME, SCRIPTNAME, emptyMap()), - "parent_agg>term_agg", - null - ) - ) - paramName = "the_avg" - paramValue = 19.0 - testCaseInternalFilter( - selectorAgg1, MatchAllDocsQuery(), - CheckedConsumer { iw: RandomIndexWriter -> - var doc = Document() - doc.add(SortedSetDocValuesField("the_field", BytesRef("test1"))) - - doc.add(SortedNumericDocValuesField("number_field", 20)) - iw.addDocument(doc) - doc = Document() - doc.add(SortedSetDocValuesField("the_field", BytesRef("test2"))) - - doc.add(SortedNumericDocValuesField("number_field", 19)) - iw.addDocument(doc) - }, - Consumer { f: InternalFilter -> - val bucketSelectorIndices = f.aggregations.get("test_bucket_selector_ext") as BucketSelectorIndices - assertThat( - bucketSelectorIndices.bucketIndices[0], - CoreMatchers.equalTo(1) - ) - assertEquals(BucketSelectorExtAggregationBuilder.NAME.preferredName, bucketSelectorIndices.writeableName) - }, - fieldType, fieldType1 - ) - } - - @Throws(IOException::class) - private fun testCase( - aggregationBuilder: FiltersAggregationBuilder, - query: Query, - buildIndex: CheckedConsumer, - verify: Consumer, - vararg fieldType: MappedFieldType - ) { - newDirectory().use { directory -> - val indexWriter = RandomIndexWriter(random(), directory) - buildIndex.accept(indexWriter) - indexWriter.close() - DirectoryReader.open(directory).use { indexReader -> - val indexSearcher = newIndexSearcher(indexReader) - val filters: InternalFilters - filters = searchAndReduce(indexSearcher, query, aggregationBuilder, *fieldType) - verify.accept(filters) - } - } - } - - @Throws(IOException::class) - private fun testCaseInternalFilter( - aggregationBuilder: FilterAggregationBuilder, - query: Query, - buildIndex: CheckedConsumer, - verify: Consumer, - vararg fieldType: MappedFieldType - ) { - newDirectory().use { directory -> - val indexWriter = RandomIndexWriter(random(), directory) - buildIndex.accept(indexWriter) - indexWriter.close() - DirectoryReader.open(directory).use { indexReader -> - val indexSearcher = newIndexSearcher(indexReader) - val filters: InternalFilter - filters = searchAndReduce(indexSearcher, query, aggregationBuilder, *fieldType) - verify.accept(filters) - } - } - } -} From 724cac24a4d7bfd7ab7032d388c547b2968ca517 Mon Sep 17 00:00:00 2001 From: AWSHurneyt Date: Mon, 27 Jan 2025 16:39:22 -0800 Subject: [PATCH 4/4] Adjusted workflows to refresh dependencies. Signed-off-by: AWSHurneyt --- .github/workflows/multi-node-test-workflow.yml | 2 +- .github/workflows/security-test-workflow.yml | 4 ++-- .github/workflows/test-workflow.yml | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/multi-node-test-workflow.yml b/.github/workflows/multi-node-test-workflow.yml index d69664b8d..b033c5f66 100644 --- a/.github/workflows/multi-node-test-workflow.yml +++ b/.github/workflows/multi-node-test-workflow.yml @@ -44,4 +44,4 @@ jobs: - name: Run integration tests with multi node config run: | chown -R 1000:1000 `pwd` - su `id -un 1000` -c "whoami && java -version && ./gradlew integTest -PnumNodes=3" + su `id -un 1000` -c "whoami && java -version && ./gradlew integTest -PnumNodes=3 --refresh-dependencies" diff --git a/.github/workflows/security-test-workflow.yml b/.github/workflows/security-test-workflow.yml index 0a0a8320d..b341af0ac 100644 --- a/.github/workflows/security-test-workflow.yml +++ b/.github/workflows/security-test-workflow.yml @@ -33,7 +33,7 @@ jobs: java-version: ${{ matrix.java }} - name: Build Alerting # Only assembling since the full build is governed by other workflows - run: ./gradlew assemble + run: ./gradlew assemble --refresh-dependencies - name: Pull and Run Docker run: | plugin=`basename $(ls alerting/build/distributions/*.zip)` @@ -87,7 +87,7 @@ jobs: if [ $security -gt 0 ] then echo "Security plugin is available" - ./gradlew :alerting:integTest -Dtests.rest.cluster=localhost:9200 -Dtests.cluster=localhost:9200 -Dtests.clustername=docker-cluster -Dsecurity=true -Dhttps=true -Duser=admin -Dpassword=myStrongPassword123! + ./gradlew :alerting:integTest --refresh-dependencies -Dtests.rest.cluster=localhost:9200 -Dtests.cluster=localhost:9200 -Dtests.clustername=docker-cluster -Dsecurity=true -Dhttps=true -Duser=admin -Dpassword=myStrongPassword123! else echo "Security plugin is NOT available skipping this run as tests without security have already been run" fi diff --git a/.github/workflows/test-workflow.yml b/.github/workflows/test-workflow.yml index 1f80164d0..8439c45af 100644 --- a/.github/workflows/test-workflow.yml +++ b/.github/workflows/test-workflow.yml @@ -47,7 +47,7 @@ jobs: - name: Build and run with Gradle run: | chown -R 1000:1000 `pwd` - su `id -un 1000` -c "whoami && java -version && ./gradlew assemble integTest" + su `id -un 1000` -c "whoami && java -version && ./gradlew assemble integTest --refresh-dependencies" - name: Create Artifact Path run: | mkdir -p alerting-artifacts @@ -99,7 +99,7 @@ jobs: java-version: ${{ matrix.java }} - name: Build and run with Gradle working-directory: ${{ env.WORKING_DIR }} - run: ./gradlew assemble ${{ env.BUILD_ARGS }} + run: ./gradlew assemble ${{ env.BUILD_ARGS }} --refresh-dependencies env: _JAVA_OPTIONS: ${{ matrix.os_java_options }} - name: Create Artifact Path