Skip to content

Commit ff06bf3

Browse files
Cleans up build.gradle files and separates sample plugin integration test workflow
Signed-off-by: Darshit Chanpura <dchanp@amazon.com>
1 parent 98ff9fa commit ff06bf3

File tree

4 files changed

+102
-18
lines changed

4 files changed

+102
-18
lines changed

.github/workflows/ci.yml

+43-9
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ jobs:
102102
./build/reports/
103103
104104
report-coverage:
105-
needs: ["test", "integration-tests"]
105+
needs: ["test", "integration-tests", "spi-tests", "sample-plugin-integration-tests"]
106106
runs-on: ubuntu-latest
107107
steps:
108108
- uses: actions/checkout@v4
@@ -127,7 +127,6 @@ jobs:
127127
128128
integration-tests:
129129
name: integration-tests
130-
needs: publish-components-to-maven-local
131130
strategy:
132131
fail-fast: false
133132
matrix:
@@ -160,20 +159,55 @@ jobs:
160159
arguments: |
161160
:integrationTest -Dbuild.snapshot=false
162161
163-
- name: Run SampleResourcePlugin Integration Tests
164-
uses: gradle/gradle-build-action@v3
165-
with:
166-
cache-disabled: true
167-
arguments: |
168-
:opensearch-sample-resource-plugin:integrationTest -Dbuild.snapshot=false
169-
170162
- uses: actions/upload-artifact@v4
171163
if: always()
172164
with:
173165
name: integration-${{ matrix.platform }}-JDK${{ matrix.jdk }}-reports
174166
path: |
175167
./build/reports/
176168
169+
sample-plugin-integration-tests:
170+
name: sample-plugin-integration-tests
171+
needs: publish-components-to-maven-local
172+
strategy:
173+
fail-fast: false
174+
matrix:
175+
jdk: [21]
176+
platform: [ubuntu-latest, windows-latest]
177+
runs-on: ${{ matrix.platform }}
178+
179+
steps:
180+
- name: Set up JDK for build and test
181+
uses: actions/setup-java@v4
182+
with:
183+
distribution: temurin # Temurin is a distribution of adoptium
184+
java-version: ${{ matrix.jdk }}
185+
186+
- name: Checkout security
187+
uses: actions/checkout@v4
188+
189+
- name: Restore Maven Local Cache
190+
uses: actions/cache@v4.2.2
191+
with:
192+
path: ~/.m2/repository
193+
key: maven-local-${{ github.run_id }}
194+
restore-keys: |
195+
maven-local-
196+
197+
- name: Run SampleResourcePlugin Integration Tests
198+
uses: gradle/gradle-build-action@v3
199+
with:
200+
cache-disabled: true
201+
arguments: |
202+
:opensearch-sample-resource-plugin:integrationTest -Dbuild.snapshot=false
203+
204+
- uses: actions/upload-artifact@v4
205+
if: always()
206+
with:
207+
name: sample-plugin-integration-${{ matrix.platform }}-JDK${{ matrix.jdk }}-reports
208+
path: |
209+
./build/reports/
210+
177211
spi-tests:
178212
name: spi-tests
179213
needs: publish-components-to-maven-local

build.gradle

+3-3
Original file line numberDiff line numberDiff line change
@@ -569,9 +569,9 @@ allprojects {
569569
integrationTestImplementation 'org.slf4j:slf4j-api:2.0.12'
570570
integrationTestImplementation 'com.selectivem.collections:special-collections-complete:1.4.0'
571571
integrationTestImplementation "org.opensearch.plugin:lang-painless:${opensearch_version}"
572-
integrationTestImplementation project(path:":opensearch-security-common")
573-
integrationTestImplementation project(path:":opensearch-security-client")
574-
integrationTestImplementation project(path:":opensearch-resource-sharing-spi")
572+
integrationTestImplementation project(path:":opensearch-resource-sharing-spi", configuration: 'shadow')
573+
integrationTestImplementation project(path: ":${rootProject.name}-common", configuration: 'shadow')
574+
integrationTestImplementation project(path: ":${rootProject.name}-client", configuration: 'shadow')
575575
}
576576
}
577577

publish-test.sh

+54
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
#!/bin/bash
2+
3+
# Set version variables
4+
security_plugin_version=$(./gradlew properties -q | grep -E '^version:' | awk '{print $2}')
5+
security_plugin_version_no_snapshot=$(echo $security_plugin_version | sed 's/-SNAPSHOT//g')
6+
security_plugin_version_only_number=$(echo $security_plugin_version_no_snapshot | cut -d- -f1)
7+
test_qualifier=alpha2
8+
9+
# Debug print versions
10+
echo "Versions:"
11+
echo "security_plugin_version: $security_plugin_version"
12+
echo "security_plugin_version_no_snapshot: $security_plugin_version_no_snapshot"
13+
echo "security_plugin_version_only_number: $security_plugin_version_only_number"
14+
echo "test_qualifier: $test_qualifier"
15+
16+
echo "Publish SPI"
17+
./gradlew :opensearch-resource-sharing-spi:publishToMavenLocal && test -s ./spi/build/libs/opensearch-resource-sharing-spi-$security_plugin_version.jar
18+
./gradlew :opensearch-resource-sharing-spi:publishToMavenLocal -Dbuild.snapshot=false && test -s ./spi/build/libs/opensearch-resource-sharing-spi-$security_plugin_version_no_snapshot.jar
19+
./gradlew :opensearch-resource-sharing-spi:publishToMavenLocal -Dbuild.snapshot=false -Dbuild.version_qualifier=$test_qualifier && test -s ./spi/build/libs/opensearch-resource-sharing-spi-$security_plugin_version_only_number-$test_qualifier.jar
20+
./gradlew :opensearch-resource-sharing-spi:publishToMavenLocal -Dbuild.version_qualifier=$test_qualifier && test -s ./spi/build/libs/opensearch-resource-sharing-spi-$security_plugin_version_only_number-$test_qualifier-SNAPSHOT.jar
21+
22+
echo "Publish Common"
23+
./gradlew :opensearch-security-common:publishToMavenLocal && test -s ./common/build/libs/opensearch-security-common-$security_plugin_version.jar
24+
./gradlew :opensearch-security-common:publishToMavenLocal -Dbuild.snapshot=false && test -s ./common/build/libs/opensearch-security-common-$security_plugin_version_no_snapshot.jar
25+
./gradlew :opensearch-security-common:publishToMavenLocal -Dbuild.snapshot=false -Dbuild.version_qualifier=$test_qualifier && test -s ./common/build/libs/opensearch-security-common-$security_plugin_version_only_number-$test_qualifier.jar
26+
./gradlew :opensearch-security-common:publishToMavenLocal -Dbuild.version_qualifier=$test_qualifier && test -s ./common/build/libs/opensearch-security-common-$security_plugin_version_only_number-$test_qualifier-SNAPSHOT.jar
27+
28+
echo "Publish Client"
29+
./gradlew :opensearch-security-client:publishToMavenLocal && test -s ./client/build/libs/opensearch-security-client-$security_plugin_version.jar
30+
./gradlew :opensearch-security-client:publishToMavenLocal -Dbuild.snapshot=false && test -s ./client/build/libs/opensearch-security-client-$security_plugin_version_no_snapshot.jar
31+
./gradlew :opensearch-security-client:publishToMavenLocal -Dbuild.snapshot=false -Dbuild.version_qualifier=$test_qualifier && test -s ./client/build/libs/opensearch-security-client-$security_plugin_version_only_number-$test_qualifier.jar
32+
./gradlew :opensearch-security-client:publishToMavenLocal -Dbuild.version_qualifier=$test_qualifier && test -s ./client/build/libs/opensearch-security-client-$security_plugin_version_only_number-$test_qualifier-SNAPSHOT.jar
33+
34+
echo "Build artifacts"
35+
./gradlew assemble && \
36+
test -s ./build/distributions/opensearch-security-$security_plugin_version.zip && \
37+
test -s ./sample-resource-plugin/build/distributions/opensearch-sample-resource-plugin-$security_plugin_version.zip
38+
39+
./gradlew assemble -Dbuild.snapshot=false && \
40+
test -s ./build/distributions/opensearch-security-$security_plugin_version_no_snapshot.zip && \
41+
test -s ./sample-resource-plugin/build/distributions/opensearch-sample-resource-plugin-$security_plugin_version_no_snapshot.zip
42+
43+
./gradlew assemble -Dbuild.snapshot=false -Dbuild.version_qualifier=$test_qualifier && \
44+
test -s ./build/distributions/opensearch-security-$security_plugin_version_only_number-$test_qualifier.zip && \
45+
test -s ./sample-resource-plugin/build/distributions/opensearch-sample-resource-plugin-$security_plugin_version_only_number-$test_qualifier.zip
46+
47+
./gradlew assemble -Dbuild.version_qualifier=$test_qualifier && \
48+
test -s ./build/distributions/opensearch-security-$security_plugin_version_only_number-$test_qualifier-SNAPSHOT.zip && \
49+
test -s ./sample-resource-plugin/build/distributions/opensearch-sample-resource-plugin-$security_plugin_version_only_number-$test_qualifier-SNAPSHOT.zip
50+
51+
echo "Publish Plugin zip"
52+
./gradlew publishPluginZipPublicationToZipStagingRepository && \
53+
test -s ./build/distributions/opensearch-security-$security_plugin_version.zip && \
54+
test -s ./build/distributions/opensearch-security-$security_plugin_version.pom

sample-resource-plugin/build.gradle

+2-6
Original file line numberDiff line numberDiff line change
@@ -66,23 +66,19 @@ configurations.all {
6666
'org.mockito:mockito-core:5.15.2',
6767
'net.bytebuddy:byte-buddy:1.15.11',
6868
'commons-codec:commons-codec:1.16.1',
69-
'com.fasterxml.jackson.core:jackson-databind:2.18.2',
7069
'com.fasterxml.jackson.core:jackson-databind:2.18.2'
7170
}
7271
}
7372

7473
dependencies {
7574
// Main implementation dependencies
76-
compileOnly "org.opensearch:opensearch-resource-sharing-spi:${opensearch_build}"
77-
compileOnly "org.opensearch:opensearch-security-client:${opensearch_build}"
75+
compileOnly project(path: ":opensearch-resource-sharing-spi", configuration: 'shadow')
76+
compileOnly project(path: ":${rootProject.name}-client", configuration: 'shadow')
7877
compileOnly "com.fasterxml.jackson.core:jackson-databind:${versions.jackson_databind}"
7978

8079
// Integration test dependencies
8180
integrationTestImplementation rootProject.sourceSets.integrationTest.output
8281
integrationTestImplementation rootProject.sourceSets.main.output
83-
integrationTestImplementation "org.opensearch:opensearch-resource-sharing-spi:${opensearch_build}"
84-
integrationTestImplementation "org.opensearch:opensearch-security-common:${opensearch_build}"
85-
integrationTestImplementation "org.opensearch:opensearch-security-client:${opensearch_build}"
8682
}
8783

8884
sourceSets {

0 commit comments

Comments
 (0)