Skip to content

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

Andrew Leonard edited this page Sep 25, 2023 · 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 rep[ositories.
  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:
    orgs.newRepo('jdk20u') {
    allow_update_branch: false,
    default_branch: "master",
    dependabot_security_updates_enabled: true,
    secret_scanning: "disabled",
    secret_scanning_push_protection: "disabled",
    web_commit_signoff_required: false,
    },
  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 [email protected]:adoptium/jdkNNu.git
  1. Clone mirror-scripts locally:
git clone [email protected]: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. Then follow instructions here for updating the pipeline job generators: 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