Skip to content

Commit b7565b7

Browse files
chore: update protobuf + other deps, add upgrade hook (#70)
* chore: update protobuf * chore: add other missing deps * ci: add upgrade hook support
1 parent 172f191 commit b7565b7

File tree

6 files changed

+125
-1
lines changed

6 files changed

+125
-1
lines changed
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
name: Upgrade Repository Version
2+
3+
on:
4+
repository_dispatch:
5+
types: [upgrade-version]
6+
7+
jobs:
8+
upgrade-version:
9+
runs-on: ubuntu-24.04
10+
11+
permissions:
12+
pull-requests: write
13+
contents: write
14+
15+
steps:
16+
- name: Check out code
17+
uses: actions/checkout@v4
18+
19+
- name: Set up Python
20+
uses: actions/setup-python@v4
21+
with:
22+
python-version: '3.13'
23+
24+
- name: Install Python Dependencies
25+
run: |
26+
python -m pip install --upgrade pip
27+
pip install -r scripts/requirements.txt
28+
29+
- name: Set Variables
30+
run: |
31+
echo "REPOSITORY=${{ github.event.client_payload.repository }}" >> $GITHUB_ENV
32+
echo "VERSION=${{ github.event.client_payload.version }}" >> $GITHUB_ENV
33+
34+
- name: Upgrade Version in TOML
35+
run: |
36+
python scripts/upgrade-version.py ${{ env.REPOSITORY }} ${{ env.VERSION }}
37+
38+
- name: Get Token from Github App
39+
uses: tibdex/github-app-token@v2
40+
id: generate-token
41+
with:
42+
app_id: ${{ secrets.GH_CI_APP_ID }}
43+
private_key: ${{ secrets.GH_CI_APP_PRIVATE_KEY }}
44+
repositories: >-
45+
["hypertrace-bom"]
46+
47+
- name: Create Pull Request
48+
id: create_pr
49+
uses: peter-evans/create-pull-request@v6
50+
with:
51+
token: ${{ steps.generate-token.outputs.token }}
52+
base: main
53+
title: "chore(${{ env.REPOSITORY }}): Upgrade ${{ env.VERSION }}"
54+
commit-message: "chore(${{ env.REPOSITORY }}): Upgrade ${{ env.VERSION }}"
55+
body: "Upgrading (${{ env.REPOSITORY }}) to ${{ env.VERSION }}"
56+
branch: update-version-${{ env.REPOSITORY }}-${{ env.VERSION }}
57+
add-paths: |
58+
gradle/libs.versions.toml
59+
60+
- name: Enable Auto Merge Pull Request
61+
uses: peter-evans/enable-pull-request-automerge@v3
62+
with:
63+
token: ${{ steps.generate-token.outputs.token }}
64+
pull-request-number: ${{ steps.create_pr.outputs.pull-request-number }}
65+
merge-method: squash
66+
67+
- name: Auto Approve Pull Request
68+
uses: hmarr/auto-approve-action@v4
69+
with:
70+
github-token: ${{ secrets.GITHUB_TOKEN }}
71+
pull-request-number: ${{ steps.create_pr.outputs.pull-request-number }}

gradle/libs.versions.toml

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[versions]
2-
protoc = "3.25.5"
2+
protoc = "3.25.8"
33
grpc = "1.68.3"
44
hypertrace-framework = "0.1.89"
55
hypertrace-grpcutils = "0.13.14"
@@ -16,11 +16,14 @@ junit = "5.10.0"
1616
mockito = "5.8.0"
1717

1818
[libraries]
19+
apache-httpcomponents-httpclient = { module = "org.apache.httpcomponents:httpclient", version = "4.5.13" }
20+
awaitility = { module = "org.awaitility:awaitility", version = "4.0.3" }
1921
guava = { module = "com.google.guava:guava", version = "32.1.2-jre" }
2022
rholder-guava-retrying = { module = "com.github.rholder:guava-retrying", version = "2.0.0" }
2123
gson = { module = "com.google.code.gson:gson", version = "2.13.1" }
2224
guice = { module = "com.google.inject:guice", version = "6.0.0" }
2325
guice7 = { module = "com.google.inject:guice", version = "7.0.0" }
26+
guice-servlet = { module = "com.google.inject.extensions:guice-servlet", version = "7.0.0" }
2427
google-re2j = { module = "com.google.re2j:re2j", version = "1.7" }
2528
typesafe-config = { module = "com.typesafe:config", version = "1.4.2" }
2629
lombok = { module = "org.projectlombok:lombok", version = "1.18.30" }
@@ -32,11 +35,17 @@ grpc-api = { module = "io.grpc:grpc-api" }
3235
grpc-netty = { module = "io.grpc:grpc-netty" }
3336
grpc-context = { module = "io.grpc:grpc-context" }
3437
grpc-inprocess = { module = "io.grpc:grpc-inprocess" }
38+
grpc-services = { module = "io.grpc:grpc-services" }
3539
jackson-bom = { module = "com.fasterxml.jackson:jackson-bom", version = "2.16.1" }
3640
jackson-databind = { module = "com.fasterxml.jackson.core:jackson-databind" }
3741
jackson-datatype-jsr310 = { module = "com.fasterxml.jackson.datatype:jackson-datatype-jsr310" }
3842
jackson-datatype-jdk8 = { module = "com.fasterxml.jackson.datatype:jackson-datatype-jdk8" }
43+
jakarta-inject-api = { module = "jakarta.inject:jakarta.inject-api", version = "2.0.1" }
44+
jakarta-servlet-api = { module = "jakarta.servlet:jakarta.servlet-api", version = "6.0.0" }
3945
jetty-bom = { module = "org.eclipse.jetty:jetty-bom", version.ref = "jetty" }
46+
jetty-servlet = { module = "org.eclipse.jetty:jetty-servlet" }
47+
jetty-server = { module = "org.eclipse.jetty:jetty-server" }
48+
jetty-servlets = { module = "org.eclipse.jetty:jetty-servlets" }
4049
netty-bom = { module = "io.netty:netty-bom", version.ref = "netty" }
4150
protobuf-java = { module = "com.google.protobuf:protobuf-java", version.ref = "protoc" }
4251
protobuf-javautil = { module = "com.google.protobuf:protobuf-java-util", version.ref = "protoc" }
@@ -54,6 +63,7 @@ kafka-clients = { module = "org.apache.kafka:kafka-clients" }
5463

5564
hypertrace-grpcutils-context = { module = "org.hypertrace.core.grpcutils:grpc-context-utils", version.ref = "hypertrace-grpcutils" }
5665
hypertrace-grpcutils-client = { module = "org.hypertrace.core.grpcutils:grpc-client-utils", version.ref = "hypertrace-grpcutils" }
66+
hypertrace-grpcutils-server = { module = "org.hypertrace.core.grpcutils:grpc-server-utils", version.ref = "hypertrace-grpcutils" }
5767
hypertrace-grpcutils-rx-client = { module = "org.hypertrace.core.grpcutils:grpc-client-rx-utils", version.ref = "hypertrace-grpcutils" }
5868
hypertrace-grpcutils-rx-server = { module = "org.hypertrace.core.grpcutils:grpc-server-rx-utils", version.ref = "hypertrace-grpcutils" }
5969

@@ -98,6 +108,7 @@ hypertrace-repository = { id = "org.hypertrace.repository-plugin", version = "0.
98108
hypertrace-ciutils = { id = "org.hypertrace.ci-utils-plugin", version = "0.4.0" }
99109
hypertrace-publish = { id = "org.hypertrace.publish-plugin", version = "1.1.1" }
100110
hypertrace-jacoco = { id = "org.hypertrace.jacoco-report-plugin", version = "0.3.0" }
111+
hypertrace-java-convention = { id = "org.hypertrace.java-convention", version = "0.4.0" }
101112
hypertrace-integrationtest = { id = "org.hypertrace.integration-test-plugin", version = "0.3.0" }
102113
hypertrace-codestyle = { id = "org.hypertrace.code-style-plugin", version = "2.2.0" }
103114
hypertrace-docker-publish = { id = "org.hypertrace.docker-publish-plugin", version = "0.11.3" }

hypertrace-bom/build.gradle.kts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ dependencies {
1616
constraints {
1717
api(libs.hypertrace.grpcutils.context)
1818
api(libs.hypertrace.grpcutils.client)
19+
api(libs.hypertrace.grpcutils.server)
1920
api(libs.hypertrace.grpcutils.rx.client)
2021
api(libs.hypertrace.grpcutils.rx.server)
2122
api(libs.hypertrace.framework.grpc)
@@ -53,5 +54,10 @@ dependencies {
5354
api(libs.commons.text)
5455
api(libs.graphql.java)
5556
api(libs.jsr305)
57+
api(libs.apache.httpcomponents.httpclient)
58+
api(libs.awaitility)
59+
api(libs.guice.servlet)
60+
api(libs.jakarta.inject.api)
61+
api(libs.jakarta.servlet.api)
5662
}
5763
}

scripts/requirements.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
tomlkit

scripts/upgrade-version.py

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
import sys
2+
import tomlkit
3+
4+
# key: github repository in the format org/repository
5+
# value: version.ref for the corresponding repository in gradle/libs.versions.toml
6+
REPOSITORY_TOML_KEYS = {
7+
"hypertrace/java-grpc-utils": "hypertrace-grpcutils",
8+
"hypertrace/service-framework": "hypertrace-framework",
9+
"hypertrace/kafka-streams-framework": "hypertrace-kafka",
10+
"hypertrace/config-service": "hypertrace-configservice",
11+
}
12+
13+
repository = sys.argv[1]
14+
version = sys.argv[2]
15+
16+
toml_file = 'gradle/libs.versions.toml'
17+
18+
with open(toml_file, 'r') as f:
19+
toml_data = tomlkit.load(f)
20+
21+
toml_key = REPOSITORY_TOML_KEYS[repository]
22+
toml_data['versions'][toml_key] = version
23+
24+
with open(toml_file, 'w') as f:
25+
tomlkit.dump(toml_data, f)

test-consumer/build.gradle.kts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ dependencies {
66
api(platform(projects.hypertraceBom))
77
api(libs.hypertrace.grpcutils.context)
88
api(libs.hypertrace.grpcutils.client)
9+
api(libs.hypertrace.grpcutils.server)
910
api(libs.hypertrace.grpcutils.rx.client)
1011
api(libs.hypertrace.grpcutils.rx.server)
1112
api(libs.hypertrace.framework.grpc)
@@ -30,6 +31,7 @@ dependencies {
3031
api(libs.gson)
3132
api(libs.google.re2j)
3233
api(libs.guice7)
34+
api(libs.guice.servlet)
3335
api(libs.typesafe.config)
3436
api(libs.lombok)
3537
api(libs.protobuf.java)
@@ -44,6 +46,7 @@ dependencies {
4446
api(libs.grpc.context)
4547
api(libs.grpc.inprocess)
4648
api(libs.grpc.netty)
49+
api(libs.grpc.services)
4750
api(libs.slf4j2.api)
4851
api(libs.log4j.slf4j2.impl)
4952
api(libs.javax.annotation)
@@ -59,6 +62,13 @@ dependencies {
5962
api(libs.hypertrace.framework.spi.jakarta)
6063
api(libs.hypertrace.integrationtest.framework.jakarta)
6164
api(libs.hypertrace.framework.documentstore.metrics.jakarta)
65+
api(libs.apache.httpcomponents.httpclient)
66+
api(libs.awaitility)
67+
api(libs.jakarta.inject.api)
68+
api(libs.jakarta.servlet.api)
69+
api(libs.jetty.server)
70+
api(libs.jetty.servlet)
71+
api(libs.jetty.servlets)
6272
}
6373

6474
tasks.register("verifyResolution") {

0 commit comments

Comments
 (0)