-
-
Notifications
You must be signed in to change notification settings - Fork 256
Setting up new build jobs, mirrors,... when a new openjdk version is branched from jdk(head)
Prerequistes:
- Write access to be able to push to the Adoptium mirror repositories (permission group ???).
- Access to Jenkins utils jobs: https://ci.adoptopenjdk.net/job/build-scripts/job/utils/
- Request from the Eclipse Help Desk a new adoptium github repository is created:
- New repository: https://github.com/adoptium/jdk\<NN>
- Access permissions should be the same as existing repostories, eg.copy https://github.com/adoptium/jdk18u
- Example Help Desk issue: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/issues/1405
- Once the new repository has been created, populate it with a mirror of the upstream openjdk repository:
git clone --mirror [email protected]:openjdk/jdkNN.git
cd jdkNN.git
git push --mirror [email protected]:adoptium/jdkNN.git
Ignore any errors attempting to push to branch "main". Verify repository populated successfully with branch "master".
-
Delete any upstream "pr/nn" branches
-
Clone the new adoptium repo:
git clone [email protected]:adoptium/jdkNN.git
- Create the "dev" branch with necessary patches:
git checkout -b dev origin/master
Apply "Adoptium" patches, "Files changed" => https://github.com/adoptium/jdk/compare/master...dev
Commit changes and push:
git push origin dev
- Create the "release" branch with necessary patches:
git checkout -b release origin/master
Apply "Adoptium" patches, "Files changed" => https://github.com/adoptium/jdk/compare/master...release
Commit changes and push:
git push origin release
- Create the skara mirror job:
- Duplicate existing job https://ci.adoptopenjdk.net/view/git-mirrors/job/git-mirrors/job/git-skara-jdk/
- Name git-skara-jdkNN, also edit Build->Execute shell command to call:
bash ./skaraMirror.sh jdkNN
-
Build the new git-skara-jdkNN job. It should now mirror any new upstream openjdk commits to master, merge with dev, and create the release branch. Verify the job completes successfully and the repository content looks correct.
-
Raise an Eclipse Help Desk issue to change the "default" branch to "master", and to delete the "main" branch.
- Does https://github.com/adoptium/temurinNN-binaries exist?
- If not create an Eclipse Help Desk issue to create a new repository using temurin18-binaries as an example for permissions.
- Create README.md based on https://github.com/adoptium/temurin18-binaries/README.md
- Create the pipeline job configuration: https://github.com/adoptium/ci-jenkins-pipelines/tree/master/pipelines/jobs/configurations , using the previous version file contents as a basis:
- Create jdkNN.groovy
- Create jdkNN_pipeline_config.groovy
- Create PR and merge
- Duplicate an existing job: https://ci.adoptopenjdk.net/job/build-scripts/job/utils/job/pipeline_jobs_generator_jdk17u/ and name pipeline_jobs_generator_jdkNN
- Change JAVA_VERSION parameter to "jdkNN"
- Build the pipeline_jobs_generator_jdkNN job, and ensure the new pipeline build jobs are created: https://ci.adoptopenjdk.net/job/build-scripts/job/jobs/
- Replicate for the evaluation_ and release_ pipeline_jobs_generator's as well.
- Build the newly generate pipeline job : https://ci.adoptopenjdk.net/job/build-scripts/job/openjdkNN-pipeline/
- Verify all build successfully
- https://ci.adoptopenjdk.net/job/build-scripts/job/utils/job/pipeline_jobs_generator_jdk/configure, update JAVA_VERSION to the new jdk(head) version.
- Run the updated job to update the jdk(head) build jobs
- Go to Configure for job https://ci.adoptopenjdk.net/job/build-scripts/job/release/job/refactor_openjdk_release_tool/ and add the new jdk head to the VERSION choices parameter
- Create an Eclipse Help Desk issue to create the new jdk head binaries repo, base on previous, eg.https://github.com/adoptium/temurin19-binaries (eg.https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/issues/1504)