Skip to content

feat: use debian base image for java-library-generation #3817

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
May 30, 2025

Conversation

diegomarquezp
Copy link
Contributor

@diegomarquezp diegomarquezp commented May 29, 2025

This PR switches the base image of java-library-generation to python-3.13.2-slim, based on debian-slim.

https://hub.docker.com/layers/library/python/3.13.2-slim/images/sha256-8feb1b384bf6755cd1a180d65ec065c742aa1602f026993c33475be6ade2fb2e

Our image is an infrastructure image not meant to be used by our final users.

This solves the ongoing "compatibility layer" problems previously caused by our GLIBC compatibility layer.

For context on this change: doc

@product-auto-label product-auto-label bot added the size: s Pull request size is small. label May 29, 2025
@product-auto-label product-auto-label bot added size: m Pull request size is medium. and removed size: s Pull request size is small. labels May 29, 2025
Copy link

@diegomarquezp diegomarquezp marked this pull request as ready for review May 29, 2025 21:14
@diegomarquezp diegomarquezp requested review from zhumin8 and blakeli0 May 29, 2025 21:14
Copy link

Quality Gate Passed Quality Gate passed for 'java_showcase_integration_tests'

Issues
0 New issues
0 Accepted issues

Measures
0 Security Hotspots
0.0% Coverage on New Code
0.0% Duplication on New Code

See analysis details on SonarQube Cloud

Copy link
Collaborator

@blakeli0 blakeli0 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Adding @jinseopkim0 from infrastructure point of view.

@@ -34,27 +34,7 @@ RUN mvn install -B -ntp -DskipTests -Dclirr.skip -Dcheckstyle.skip
RUN cp "/root/.m2/repository/com/google/api/gapic-generator-java/${DOCKER_GAPIC_GENERATOR_VERSION}/gapic-generator-java-${DOCKER_GAPIC_GENERATOR_VERSION}.jar" \
"./gapic-generator-java.jar"

FROM docker.io/library/alpine:3.21.2@sha256:56fa17d2a7e7f168a043a2712e63aed1f8543aeafdcee47c58dcffe38ed51099 as glibc-compat
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you remind me why we chose alpine in the first place?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Alpine is promoted as a lightweight base image that happens to be secure due to it's smaller attack surface.

Moving to debian-slim gives us a slightly heavier image but compatible with glibc.

@blakeli0 blakeli0 requested a review from jinseopkim0 May 29, 2025 21:50

# 3.12.7-alpine3.20
FROM us-docker.pkg.dev/artifact-foundry-prod/docker-3p-trusted/python@sha256:b83d5ec7274bee17d2f4bd0bfbb082f156241e4513f0a37c70500e1763b1d90d as final
# 3.12.3-slim-bookworm
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this older version of the public image above? docker.io/library/python:3.13.2-slim

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It unfortunately is, since Airlock has a delay. I thought it's a good temporary base image in the meantime.
I'm planning to update to the slim image I requested to import into Airlock.

@diegomarquezp diegomarquezp merged commit 94d0b30 into main May 30, 2025
84 of 91 checks passed
@diegomarquezp diegomarquezp deleted the hermetic-build-debian branch May 30, 2025 16:46
zhumin8 pushed a commit that referenced this pull request Jun 2, 2025
🤖 I have created a release *beep* *boop*
---


<details><summary>2.59.0</summary>

##
[2.59.0](v2.58.0...v2.59.0)
(2025-06-02)


### Features

* add logic to set universe domain to ServiceAccountJwtAccessCredentials
([#3806](#3806))
([5b45708](5b45708))
* use debian base image for `java-library-generation`
([#3817](#3817))
([94d0b30](94d0b30))


### Bug Fixes

* manage graalvm image versions via Hermetic Build templates _only_
([#3800](#3800))
([244c5dc](244c5dc))


### Dependencies

* update dependency com.google.oauth-client:google-oauth-client-bom to
v1.39.0
([#3813](#3813))
([196a7ca](196a7ca))
* update google api dependencies
([#3791](#3791))
([45ef2e0](45ef2e0))
* update google auth library dependencies to v1.36.0
([#3814](#3814))
([07f834a](07f834a))
* update grpc dependencies to 1.71.0
([#3807](#3807))
([49a7ae5](49a7ae5))
* Upgrade Protobuf-Java to v3.25.8
([#3810](#3810))
([ab90662](ab90662))
</details>

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
lqiu96 pushed a commit that referenced this pull request Jun 10, 2025
lqiu96 pushed a commit that referenced this pull request Jun 10, 2025
🤖 I have created a release *beep* *boop*
---


<details><summary>2.59.0</summary>

##
[2.59.0](v2.58.0...v2.59.0)
(2025-06-02)


### Features

* add logic to set universe domain to ServiceAccountJwtAccessCredentials
([#3806](#3806))
([5b45708](5b45708))
* use debian base image for `java-library-generation`
([#3817](#3817))
([94d0b30](94d0b30))


### Bug Fixes

* manage graalvm image versions via Hermetic Build templates _only_
([#3800](#3800))
([244c5dc](244c5dc))


### Dependencies

* update dependency com.google.oauth-client:google-oauth-client-bom to
v1.39.0
([#3813](#3813))
([196a7ca](196a7ca))
* update google api dependencies
([#3791](#3791))
([45ef2e0](45ef2e0))
* update google auth library dependencies to v1.36.0
([#3814](#3814))
([07f834a](07f834a))
* update grpc dependencies to 1.71.0
([#3807](#3807))
([49a7ae5](49a7ae5))
* Upgrade Protobuf-Java to v3.25.8
([#3810](#3810))
([ab90662](ab90662))
</details>

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
svc-squareup-copybara pushed a commit to cashapp/misk that referenced this pull request Jun 26, 2025
| Package | Type | Package file | Manager | Update | Change |
|---|---|---|---|---|---|
|
[com.google.api.grpc:proto-google-common-protos](https://github.com/googleapis/sdk-platform-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`2.58.2` -> `2.59.0` |
| [com.google.api:gax](https://github.com/googleapis/sdk-platform-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`2.67.2` -> `2.68.0` |
|
[com.google.errorprone:error_prone_annotations](https://errorprone.info)
([source](https://github.com/google/error-prone)) | dependencies |
misk/gradle/libs.versions.toml | gradle | minor | `2.38.0` -> `2.39.0` |
|
[org.jetbrains.kotlinx.binary-compatibility-validator](https://github.com/Kotlin/binary-compatibility-validator)
| plugin | misk/gradle/libs.versions.toml | gradle | minor | `0.17.0` ->
`0.18.0` |
|
[com.autonomousapps.dependency-analysis](https://github.com/autonomousapps/dependency-analysis-android-gradle-plugin)
| plugin | misk/gradle/libs.versions.toml | gradle | minor | `2.18.0` ->
`2.19.0` |
| [software.amazon.awssdk:sdk-core](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.31.69` -> `2.31.70` |
| [software.amazon.awssdk:sqs](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.31.69` -> `2.31.70` |
|
[software.amazon.awssdk:dynamodb-enhanced](https://aws.amazon.com/sdkforjava)
| dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.31.69` -> `2.31.70` |
| [software.amazon.awssdk:dynamodb](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.31.69` -> `2.31.70` |
| [software.amazon.awssdk:aws-core](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.31.69` -> `2.31.70` |
| [software.amazon.awssdk:bom](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.31.69` -> `2.31.70` |
| [software.amazon.awssdk:auth](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.31.69` -> `2.31.70` |

---

### Release Notes

<details>
<summary>googleapis/sdk-platform-java
(com.google.api.grpc:proto-google-common-protos)</summary>

###
[`v2.59.0`](https://github.com/googleapis/sdk-platform-java/blob/HEAD/CHANGELOG.md#2590-2025-06-02)

##### Features

- add logic to set universe domain to ServiceAccountJwtAccessCredentials
([#&#8203;3806](googleapis/sdk-platform-java#3806))
([5b45708](googleapis/sdk-platform-java@5b45708))
- use debian base image for `java-library-generation`
([#&#8203;3817](googleapis/sdk-platform-java#3817))
([94d0b30](googleapis/sdk-platform-java@94d0b30))

##### Bug Fixes

- manage graalvm image versions via Hermetic Build templates *only*
([#&#8203;3800](googleapis/sdk-platform-java#3800))
([244c5dc](googleapis/sdk-platform-java@244c5dc))

##### Dependencies

- update dependency com.google.oauth-client:google-oauth-client-bom to
v1.39.0
([#&#8203;3813](googleapis/sdk-platform-java#3813))
([196a7ca](googleapis/sdk-platform-java@196a7ca))
- update google api dependencies
([#&#8203;3791](googleapis/sdk-platform-java#3791))
([45ef2e0](googleapis/sdk-platform-java@45ef2e0))
- update google auth library dependencies to v1.36.0
([#&#8203;3814](googleapis/sdk-platform-java#3814))
([07f834a](googleapis/sdk-platform-java@07f834a))
- update grpc dependencies to 1.71.0
([#&#8203;3807](googleapis/sdk-platform-java#3807))
([49a7ae5](googleapis/sdk-platform-java@49a7ae5))
- Upgrade Protobuf-Java to v3.25.8
([#&#8203;3810](googleapis/sdk-platform-java#3810))
([ab90662](googleapis/sdk-platform-java@ab90662))

</details>

<details>
<summary>google/error-prone
(com.google.errorprone:error_prone_annotations)</summary>

###
[`v2.39.0`](https://github.com/google/error-prone/releases/tag/v2.39.0):
Error Prone 2.39.0

Changes:

- Temporarily downgrade to Guava 33.4.0
([#&#8203;5108](google/error-prone#5108))

Checks:

- [`BooleanLiteral`](https://errorprone.info/bugpattern/BooleanLiteral):
Prefer `true` to `Boolean.TRUE`
-
[`ExpensiveLenientFormatString`](https://errorprone.info/bugpattern/ExpensiveLenientFormatString):
Renamed from `PreconditionsExpensiveString`, detects unnecessary calls
to `String.format` in the arguments of lenient formatting methods.
-
[`UnnecessaryQualifier`](https://errorprone.info/bugpattern/UnnecessaryQualifier):
Detects `@Qualifier` or `@BindingAnnotation` annotations that have no
effect, and can be removed

Issues:
[#&#8203;4996](google/error-prone#4996),
[#&#8203;5045](google/error-prone#5045)

Full changelog:
google/error-prone@v2.38.0...v2.39.0

</details>

<details>
<summary>Kotlin/binary-compatibility-validator
(org.jetbrains.kotlinx.binary-compatibility-validator)</summary>

###
[`v0.18.0`](https://github.com/Kotlin/binary-compatibility-validator/releases/tag/0.18.0)

[Compare
Source](Kotlin/binary-compatibility-validator@0.17.0...0.18.0)

#### What's Changed

- Supported KLIB cross compilation enabled in Kotlin 2.1.0
[#&#8203;299](Kotlin/binary-compatibility-validator#299)
- Fixed issue with early properties evaluation
[#&#8203;286](Kotlin/binary-compatibility-validator#286)
- Started excluding local classes created by Parcelize
[#&#8203;300](Kotlin/binary-compatibility-validator#300)

Thanks to [@&#8203;TheMrMilchmann](https://github.com/TheMrMilchmann),
[@&#8203;osipxd](https://github.com/osipxd), and
[@&#8203;Goooler](https://github.com/Goooler) for their contributions!

</details>

<details>
<summary>autonomousapps/dependency-analysis-android-gradle-plugin
(com.autonomousapps.dependency-analysis)</summary>

###
[`v2.19.0`](https://github.com/autonomousapps/dependency-analysis-android-gradle-plugin/blob/HEAD/CHANGELOG.md#Version-2190)

- \[Feat]: support advices for Android test fixtures source sets
- \[Feat]: support typesafe project accessors in IssueHandler
- \[Fix]: bump kotlin-metadata-jvm to 2.1.21 to support K2.2 projects.
- \[Chore]: move publishing to new `central.sonatype.com` repo.

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 6pm every weekday,before 2am
every weekday" in timezone Australia/Melbourne, Automerge - At any time
(no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Never, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://github.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Renovate
Bot](https://github.com/renovatebot/renovate).

GitOrigin-RevId: d85db8eca9307834b88f72100e0026a94e3b4aa2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
size: m Pull request size is medium.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants