Skip to content

Creating new jdkNNu (updates) repro mirror from the jdkNN release mirror

Stewart X Addison edited this page May 1, 2024 · 14 revisions

When and why?

When a new jdk release is created upstream eg.jdk-19, a new upstream repo is branch from jdk(head), so https://github.com/openjdk/jdk19, this is then mirrored to https://github.com/adoptium/jdk19. Once shipped upstream moves to development of updates for the following .0.N updates, this is done in a new repro https://github.com/openjdk/jdk19u, known as the "updates" repo. We need to create a new mirror for this "updates" repo after the initial release has been shipped.

How?

  1. Pre-req: You must have "write/push" access to the jdkNN github repositories.
  2. Create the new mirror jdkNNu repository using otterdog: https://github.com/adoptium/.eclipsefdn Create a new PR for file https://github.com/adoptium/.eclipsefdn/blob/main/otterdog/adoptium.jsonnet and add a definition like this (Sample PR). If creating a jdkNNu, also archive the origin jdkXX release (Sample PR):
    newMirrorRepo('jdkNNu') {},
Steps 3-6 are no longer required to be run manually and the first run of the [skara mirror jobs](https://ci.adoptium.net/job/git-mirrors/job/adoptium/) should populate the repository
  1. Duplicate the jdkNN mirror to the new jdkNNu mirror repository:
git clone --bare https://github.com/adoptium/jdkNN
cd jdkNN.git
git push --mirror git@github.com:adoptium/jdkNNu.git
  1. Clone mirror-scripts locally:
git clone git@github.com:adoptium/mirror-scripts.git
cd mirror-scripts.git
  1. Run skara mirror script to update the new jdkNNu mirror to the latest upstream "updates" repository:
./skaraMirror.sh jdkNNu

Resolve any conflicts if needed.

  1. Rename the existing skara mirror job jdkNN to jdkNNu:
bash ./skaraMirror.sh jdkNNu
  1. Then follow instructions here for updating the pipeline job generators, but use jdkNNu instead of jdkNN: https://github.com/adoptium/temurin-build/wiki/Setting-up-new-build-jobs,-mirrors,...-when-a-new-openjdk-version-is-branched-from-jdk(head)#create-pipeline_jobs_generator_jdknn-job-and-configuration