Skip to content

Open-API: Stop publishing REST fixture runtime jar - #16214

Closed
kevinjqliu wants to merge 8 commits into
apache:mainfrom
kevinjqliu:kevinjqliu/open-api
Closed

Open-API: Stop publishing REST fixture runtime jar#16214
kevinjqliu wants to merge 8 commits into
apache:mainfrom
kevinjqliu:kevinjqliu/open-api

Conversation

@kevinjqliu

@kevinjqliu kevinjqliu commented May 5, 2026

Copy link
Copy Markdown
Contributor

Summary

Stop publishing the OpenAPI REST fixture as a shaded runtime jar. Docker now uses :iceberg-open-api:stageRESTFixtureRuntime to stage the test-fixtures jar, runtime dependencies, LICENSE, and NOTICE under open-api/build/iceberg-rest-server/, then launches RESTCatalogServer with java -cp.

I'll follow up with another PR to fix the content of the LICENSE/NOTICE files

Changes

  • Remove the OpenAPI Shadow plugin and runtime shadowJar.
  • Keep Docker runtime staging out of normal :iceberg-open-api:build.
  • Update Docker, CVE scan, and README references to the staged runtime task.
  • Keep the published testFixturesJar for test consumers, with standard archive metadata.

Testing

  • ./gradlew :iceberg-open-api:stageRESTFixtureRuntime
  • ./gradlew :iceberg-open-api:build --dry-run
  • docker build + docker run smoke test: container became healthy and /v1/config returned endpoints.

@kevinjqliu
kevinjqliu force-pushed the kevinjqliu/open-api branch from 9261ef1 to f2ee703 Compare May 6, 2026 22:06
@kevinjqliu kevinjqliu changed the title Open-API: Slim down REST fixture shadow JAR and externalize cloud bundles Open-API: Replace shadow JAR with distribution plugin for REST fixture May 6, 2026
@kevinjqliu
kevinjqliu marked this pull request as ready for review May 7, 2026 01:49
@kevinjqliu

Copy link
Copy Markdown
Contributor Author

this is ready for first round of review.

Please take a look at build.gradle, .github/workflows/publish-iceberg-rest-fixture-docker.yml, docker/iceberg-rest-fixture/Dockerfile
and then open-api/runtime-deps.txt and runtime-deps.gradle

once those are good, please check open-api/LICENSE and open-api/NOTICE

@manuzhang

Copy link
Copy Markdown
Member

I'm wondering whether we need all those jars and bundles for docker image and integration tests in iceberg-python and iceberg-rust.

Comment thread .github/workflows/publish-iceberg-rest-fixture-docker.yml Outdated
@kevinjqliu
kevinjqliu force-pushed the kevinjqliu/open-api branch from adfc237 to 31831d0 Compare June 7, 2026 23:40
@github-actions github-actions Bot added docs and removed OPENAPI labels Jun 7, 2026
@kevinjqliu
kevinjqliu force-pushed the kevinjqliu/open-api branch from 40d608b to 5d3b794 Compare June 8, 2026 00:49
@kevinjqliu kevinjqliu changed the title Open-API: Replace shadow JAR with distribution plugin for REST fixture Open-API: Drop runtime jar; stage REST fixture image via Gradle Jun 8, 2026
@kevinjqliu
kevinjqliu force-pushed the kevinjqliu/open-api branch 4 times, most recently from a0e2845 to 33b9c5c Compare June 8, 2026 21:27
@kevinjqliu kevinjqliu changed the title Open-API: Drop runtime jar; stage REST fixture image via Gradle Open-API: Drop shadowJar; stage REST fixture image classpath via Gradle Jun 8, 2026
@kevinjqliu kevinjqliu changed the title Open-API: Drop shadowJar; stage REST fixture image classpath via Gradle Open-API: Drop bundled runtime jar; build REST fixture Docker image from staged classpath Jun 8, 2026
@kevinjqliu
kevinjqliu force-pushed the kevinjqliu/open-api branch from 33b9c5c to f291147 Compare June 8, 2026 21:31
@kevinjqliu kevinjqliu changed the title Open-API: Drop bundled runtime jar; build REST fixture Docker image from staged classpath Open-API: Stop publishing REST fixture runtime jar Jun 17, 2026
…rom staged classpath

Replaces the iceberg-open-api shadowJar with a Sync task that lays out the REST catalog test-fixtures runtime as a directory of jars plus LICENSE/NOTICE under build/iceberg-rest-server/. The iceberg-rest-fixture Docker image copies that directory and launches the server via java -cp ".../libs/*" org.apache.iceberg.rest.RESTCatalogServer. The publish-iceberg-rest-fixture-docker and cve-scan workflows are updated to run the new installRESTServer task; the open-api CVE scan entry now scans every dependency jar individually.
@kevinjqliu
kevinjqliu force-pushed the kevinjqliu/open-api branch from 899981e to 1cd4a96 Compare June 27, 2026 20:27
@kevinjqliu

Copy link
Copy Markdown
Contributor Author

After this, I will follow up with more PRs to

  1. Prune as many unnecessary dependencies as possible from the rest fixture image
  2. Fix the LICENSE/NOTICE file

@github-actions

Copy link
Copy Markdown

This pull request has been marked as stale due to 30 days of inactivity. It will be closed in 1 week if no further activity occurs. If you think that’s incorrect or this pull request requires a review, please simply write any comment. If closed, you can revive the PR at any time and @mention a reviewer or discuss it on the dev@iceberg.apache.org list. Thank you for your contributions.

@github-actions github-actions Bot added the stale label Jul 30, 2026
@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown

This pull request has been closed due to lack of activity. This is not a judgement on the merit of the PR in any way. It is just a way of keeping the PR queue manageable. If you think that is incorrect, or the pull request requires review, you can revive the PR at any time.

@github-actions github-actions Bot closed this Aug 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants