[
https://issues.apache.org/jira/browse/TIKA-4703?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Nicholas DiPiazza updated TIKA-4703:
------------------------------------
Description:
h2. Summary
Move Docker image building and publishing into the main
[apache/tika|https://github.com/apache/tika] repository, deprecating the
standalone Docker repos. This ensures Docker image releases are naturally tied
to Tika releases through the existing Maven workflow, rather than requiring
cross-repo coordination.
h2. Current State
* [tika-docker|https://github.com/apache/tika-docker] - standalone repo that
builds the tika-server Docker image, published to [apache/tika on Docker
Hub|https://hub.docker.com/r/apache/tika]
* [tika-grpc-docker|https://github.com/apache/tika-grpc-docker] - standalone
repo that builds the tika-grpc Docker image, published to [apache/tika-grpc on
Docker Hub|https://hub.docker.com/r/apache/tika-grpc]
h2. Problem
Having Docker builds in separate repos means:
* Docker image releases are decoupled from Tika releases - requires manual
coordination
* No guarantee Docker images match the released Tika version
* Extra maintenance burden across multiple repos
* Harder for contributors to understand the full release pipeline
h2. Proposed Approach
# Move Dockerfiles and related build config from {{tika-docker}} and
{{tika-grpc-docker}} into the main {{apache/tika}} repo
# Add GitHub Actions workflows to {{apache/tika}} that build and publish Docker
images as part of the release process
# Integrate with the existing Maven workflow so Docker builds happen naturally
alongside Java artifact publishing
# Docker images to publish:
#* {{apache/tika}} (tika-server) to [Docker
Hub|https://hub.docker.com/r/apache/tika]
#* {{apache/tika-grpc}} (tika-grpc) to [Docker
Hub|https://hub.docker.com/r/apache/tika-grpc]
# Support multi-architecture builds (amd64, arm64) if applicable
# Proper image tagging tied to Maven release versions (e.g. {{3.1.0}},
{{latest}})
# Deprecate {{tika-docker}} and {{tika-grpc-docker}} repos with README notices
pointing to {{apache/tika}}
h2. Acceptance Criteria
* Dockerfiles and build config live in the {{apache/tika}} repo
* GitHub Actions in {{apache/tika}} build and publish both Docker images on
release
* Docker image versions are automatically tied to Tika release versions
* {{tika-docker}} and {{tika-grpc-docker}} repos are marked as deprecated
was:
h2. Summary
Create GitHub Actions CI/CD pipelines for publishing Docker images for Apache
Tika Server and Apache Tika gRPC.
h2. Repositories
* [tika-docker|https://github.com/apache/tika-docker] - publishes to
[apache/tika on Docker Hub|https://hub.docker.com/r/apache/tika]
* [tika-grpc-docker|https://github.com/apache/tika-grpc-docker] - publishes to
[apache/tika-grpc on Docker Hub|https://hub.docker.com/r/apache/tika-grpc]
h2. Scope
# Create GitHub Actions workflow for *tika-docker* repo to build and publish
the tika-server Docker image to {{apache/tika}} on Docker Hub
# Create GitHub Actions workflow for *tika-grpc-docker* repo to build and
publish the tika-grpc Docker image to {{apache/tika-grpc}} on Docker Hub
# Workflows should support:
#* Building on push to main branch
#* Building and tagging on release/version tags
#* Multi-architecture builds (amd64, arm64) if applicable
#* Proper image tagging (latest, version tags)
# Configure Docker Hub credentials as GitHub secrets
# Add build status badges to repository READMEs
h2. Acceptance Criteria
* GitHub Actions workflows exist in both repositories
* Docker images are automatically published to Docker Hub on tagged releases
* Images are properly tagged with version numbers and {{latest}}
Summary: Integrate Docker image builds into apache/tika and deprecate
standalone Docker repos (was: Create GitHub Actions CI pipelines to publish
tika-docker and tika-grpc-docker images)
> Integrate Docker image builds into apache/tika and deprecate standalone
> Docker repos
> ------------------------------------------------------------------------------------
>
> Key: TIKA-4703
> URL: https://issues.apache.org/jira/browse/TIKA-4703
> Project: Tika
> Issue Type: Task
> Reporter: Nicholas DiPiazza
> Priority: Major
>
> h2. Summary
> Move Docker image building and publishing into the main
> [apache/tika|https://github.com/apache/tika] repository, deprecating the
> standalone Docker repos. This ensures Docker image releases are naturally
> tied to Tika releases through the existing Maven workflow, rather than
> requiring cross-repo coordination.
> h2. Current State
> * [tika-docker|https://github.com/apache/tika-docker] - standalone repo that
> builds the tika-server Docker image, published to [apache/tika on Docker
> Hub|https://hub.docker.com/r/apache/tika]
> * [tika-grpc-docker|https://github.com/apache/tika-grpc-docker] - standalone
> repo that builds the tika-grpc Docker image, published to [apache/tika-grpc
> on Docker Hub|https://hub.docker.com/r/apache/tika-grpc]
> h2. Problem
> Having Docker builds in separate repos means:
> * Docker image releases are decoupled from Tika releases - requires manual
> coordination
> * No guarantee Docker images match the released Tika version
> * Extra maintenance burden across multiple repos
> * Harder for contributors to understand the full release pipeline
> h2. Proposed Approach
> # Move Dockerfiles and related build config from {{tika-docker}} and
> {{tika-grpc-docker}} into the main {{apache/tika}} repo
> # Add GitHub Actions workflows to {{apache/tika}} that build and publish
> Docker images as part of the release process
> # Integrate with the existing Maven workflow so Docker builds happen
> naturally alongside Java artifact publishing
> # Docker images to publish:
> #* {{apache/tika}} (tika-server) to [Docker
> Hub|https://hub.docker.com/r/apache/tika]
> #* {{apache/tika-grpc}} (tika-grpc) to [Docker
> Hub|https://hub.docker.com/r/apache/tika-grpc]
> # Support multi-architecture builds (amd64, arm64) if applicable
> # Proper image tagging tied to Maven release versions (e.g. {{3.1.0}},
> {{latest}})
> # Deprecate {{tika-docker}} and {{tika-grpc-docker}} repos with README
> notices pointing to {{apache/tika}}
> h2. Acceptance Criteria
> * Dockerfiles and build config live in the {{apache/tika}} repo
> * GitHub Actions in {{apache/tika}} build and publish both Docker images on
> release
> * Docker image versions are automatically tied to Tika release versions
> * {{tika-docker}} and {{tika-grpc-docker}} repos are marked as deprecated
--
This message was sent by Atlassian Jira
(v8.20.10#820010)