For general contribution guideline, please check the Apache Ozone repository.
Development of the ozone-runner
image happens on branch master
, relevant changes are cherry-picked to branch jdk11
.
The image can be built simply by running the helper script build.sh
:
$ ./build.sh
...
=> => naming to docker.io/apache/ozone-runner:dev
This will create a single-platform image for your architecture.
To try the image locally with Ozone acceptance tests, define the version to be used:
export OZONE_RUNNER_VERSION=dev
then run acceptance tests as needed.
If this is your first time working on the image, please enable GitHub Actions workflows after forking the repo.
Whenever changes are pushed to your fork, GitHub builds a multi-platform image (for amd64
and arm64
), and tags it with the commit SHA. These images can be shared with other developers for feedback. Workflow runs are listed at https://github.com/<username>/ozone-docker-runner/actions
, images at https://github.com/<username>/ozone-docker-runner/pkgs/container/ozone-runner
.
To run complete Ozone CI with the custom image:
- Create a new branch in your clone of
apache/ozone
. - Update
OZONE_RUNNER_IMAGE
toghcr.io/<username>/ozone-runner
in check.yml. - Update
docker.ozone-runner.version
to<commit SHA>
in hadoop-ozone/dist/pom.xml. - Commit the change and push to your fork of
apache/ozone
.
- Fetch changes to your local clone.
- Add a Git tag for the commit following the existing pattern
<date>-<n>-<flavor>
, where<n>
starts at 1, and is incremented if multiple images need to be published the same day)<flavor>
isjdk21
orjdk11
- Push the Git tag to the official repo (
apache/ozone-docker-runner
). This will trigger a workflow to apply the tag to the Docker image. - If the change is relevant for Ozone 1.x versions, cherry-pick it to the
jdk11
branch. - Set
Fix Version
of the Jira issue torunner-<date>-<n>-<flavor>