File tree Expand file tree Collapse file tree 3 files changed +92
-0
lines changed Expand file tree Collapse file tree 3 files changed +92
-0
lines changed Original file line number Diff line number Diff line change
1
+ #! /bin/bash
2
+
3
+ # Check if a filename was provided as an argument
4
+ if [ -z " $1 " ]; then
5
+ echo " Usage: $0 <dependency_file>"
6
+ exit 1
7
+ fi
8
+
9
+ DEPENDENCY_FILE=" $1 "
10
+ MAVEN_COMMAND=" mvn verify -Penable-integration-tests -Dclirr.skip -Dcheckstyle.skip -Dfmt.skip "
11
+
12
+ # Read the file line by line
13
+ while IFS= read -r line; do
14
+ # Ignore comments and blank lines
15
+ if [[ " ${line} " =~ ^[[:space:]]* # ]] || [[ -z "${line}" ]]; then
16
+ continue
17
+ fi
18
+
19
+ # Extract the dependency name and version
20
+ # We use 'cut' to split the line by '=' and trim whitespace
21
+ # The sed command is used to remove potential trailing whitespace from the version number
22
+ dependency= $( echo " ${line} " | cut -d' =' -f1 | tr -d ' [:space:]' )
23
+ version= $( echo " ${line} " | cut -d' =' -f2 | sed ' s/^[[:space:]]*//;s/[[:space:]]*$//' )
24
+
25
+ # Append the formatted property to the Maven command
26
+ MAVEN_COMMAND+= " -D${dependency.version} =${version} "
27
+ done < " ${DEPENDENCY_FILE} "
28
+
29
+ # Run the generated maven command
30
+ $MAVEN_COMMAND
Original file line number Diff line number Diff line change
1
+ name : Dependency Compatibility Test
2
+
3
+ on :
4
+ workflow_dispatch :
5
+ schedule :
6
+ - cron : ' 0 1 * * *' # Nightly at 1am
7
+
8
+ jobs :
9
+ dependency-compatibility-test :
10
+ runs-on : ubuntu-latest
11
+
12
+ steps :
13
+ - name : Checkout repository
14
+ uses : actions/checkout@v4
15
+ - name : Set up JDK 21
16
+ uses : actions/setup-java@v4
17
+ with :
18
+ java-version : ' 21'
19
+ distribution : ' temurin'
20
+ cache : maven
21
+ - name : Perform Dependency Compatibility Testing
22
+ run : ./.github/scripts/test_dependency_compatibility.sh dependencies.txt
Original file line number Diff line number Diff line change
1
+ # 1P Parent-Pom
2
+ javax.annotation-api=1.3.2
3
+ grpc=1.74.0
4
+ google.auth=1.37.1
5
+ google.http-client=1.47.1
6
+ gson=2.13.1
7
+ guava=33.4.8-jre
8
+ protobuf=4.31.1
9
+ opentelemetry=1.52.0
10
+ errorprone=4.15.1
11
+ j2objc-annotations=3.0.0
12
+ threetenbp=1.7.1
13
+ slf4j=2.0.17
14
+
15
+ # 1P Shared-Deps
16
+ grpc-gcp=1.6.1
17
+ google.oauth-client=1.39.0
18
+ google.api-client=2.8.0
19
+
20
+ # 3P Shared-Deps
21
+ threeten-extra=1.8.0
22
+ opencensus=0.31.0
23
+ findbugs=3.0.2
24
+ # Ignore this for now as maven is trying resolve this to be jackson v2.19.2.2
25
+ # jackson=2.19.2
26
+ errorprone=2.41.0
27
+ codec=1.19.0
28
+ httpcomponents.httpcore=4.4.16
29
+ httpcomponents.httpclient=4.5.14
30
+ apache-httpclient-5=5.5
31
+ apache-httpcore-5=5.3.4
32
+ perfmark-api=0.27.0
33
+ j2objc-annotations=3.0.0
34
+ google.cloud.opentelemetry=0.36.0
35
+ opentelemetry-semconv=1.34.0
36
+ flogger=0.9
37
+ arrow=18.3.0
38
+ dev.cel=0.10.1
39
+ com.google.crypto.tink=1.18.0
40
+ io.opentelemetry.contrib.opentelemetry-gcp-resources=1.48.0-alpha
You can’t perform that action at this time.
0 commit comments