Skip to content

Latest commit

 

History

History
73 lines (50 loc) · 3.24 KB

CONTRIBUTING.md

File metadata and controls

73 lines (50 loc) · 3.24 KB

Contributing

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.

Local Build and Test

Building

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.

Testing

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.

GitHub Workflows

If this is your first time working on the image, please enable GitHub Actions workflows after forking the repo.

Building

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.

Testing

To run complete Ozone CI with the custom image:

  1. Create a new branch in your clone of apache/ozone.
  2. Update OZONE_RUNNER_IMAGE to ghcr.io/<username>/ozone-runner in check.yml.
  3. Update docker.ozone-runner.version to <commit SHA> in hadoop-ozone/dist/pom.xml.
  4. Commit the change and push to your fork of apache/ozone.

Publishing Docker Tags (for committers)

  1. Fetch changes to your local clone.
  2. 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> is jdk21 or jdk11
  3. 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.
  4. If the change is relevant for Ozone 1.x versions, cherry-pick it to the jdk11 branch.
  5. Set Fix Version of the Jira issue to runner-<date>-<n>-<flavor>