Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ensure all builds can run on multiple machines #1044

Open
sxa opened this issue Apr 17, 2019 · 17 comments
Open

Ensure all builds can run on multiple machines #1044

sxa opened this issue Apr 17, 2019 · 17 comments
Labels
ansible Issues related to our ansible playbooks in the infrastructure repo arm Issues that affect or relate to the ARM OS bug Issues that are problems in the code as reported by the community installer Issues that relate to our installer jobs or installer repo macos Issues that affect or relate to the MAC OS openj9 Issues that are enhancements or bugs raised against the OpenJ9 group testing Issues that enhance or fix our test suites windows Issues that affect or relate to the WINDOWS OS
Milestone

Comments

@sxa
Copy link
Member

sxa commented Apr 17, 2019

This may be a duplicate, but we have some jobs that are currently locked onto specific build machines. For redundancy reasons this is a bad idea. Reasons are likely historic and hopefully not valid any more but we need to validate this and modify the tags:

EDIT 22/4/2020: The list below is now far smaller so of the original list we only have Corretto JDK8 explicitly locked to a hostname now (although others are locked for other tagging reasons - see comments)

./pipelines/jobs/configurations/jdk9_pipeline_config.groovy:                additionalNodeLabels: 'build-macstadium-macos1010-1',
./pipelines/jobs/configurations/jdk8_pipeline_config.groovy:                        corretto: 'build-macstadium-macos1010-1',
./pipelines/jobs/configurations/jdk10_pipeline_config.groovy:                additionalNodeLabels: 'build-macstadium-macos1010-1',

Original list for historic reference:

[sxa@sxat470p pipelines]$ find . -type f -print | xargs grep build- | grep groovy:
./build/openjdk11_pipeline.groovy:                        hotspot: 'build-macstadium-macos1010-1',
./build/openjdk11_pipeline.groovy:                        openj9:  'build-macstadium-macos1010-2'
./build/openjdk11_pipeline.groovy:                additionalNodeLabels : 'build-macstadium-macos1010-2',
./build/prTester/pr_test_pipeline.groovy:                    BUILD_FOLDER        : "build-scripts-pr-tester/build-test",
./build/openjdk8_pipeline.groovy:                        hotspot : 'build-macstadium-macos1010-1',
./build/openjdk8_pipeline.groovy:                        corretto: 'build-macstadium-macos1010-1',
./build/openjdk8_pipeline.groovy:                        openj9  : 'build-macstadium-macos1010-2'
./build/openjdk8_pipeline.groovy:                additionalNodeLabels : 'build-macstadium-macos1010-2',
./build/openjdk8_pipeline.groovy:                        openj9  : 'build-joyent-centos69-x64-1'
./build/openjdk_pipeline.groovy:                additionalNodeLabels: 'build-macstadium-macos1010-1',
./build/common/openjdk_build_pipeline.groovy: *  1. Check out and build JDK by calling build-farm/make-adopt-build-farm.sh
./build/common/openjdk_build_pipeline.groovy:                    def signJob = context.build job: "build-scripts/release/sign_build",
./build/common/openjdk_build_pipeline.groovy:                            projectName: "build-scripts/release/sign_build",
./build/common/openjdk_build_pipeline.groovy:        def installerJob = context.build job: "build-scripts/release/create_installer_mac",
./build/common/openjdk_build_pipeline.groovy:                projectName: "build-scripts/release/create_installer_mac",
./build/common/openjdk_build_pipeline.groovy:        def installerJob = context.build job: "build-scripts/release/create_installer_windows",
./build/common/openjdk_build_pipeline.groovy:                projectName: "build-scripts/release/create_installer_windows",
./build/common/openjdk_build_pipeline.groovy:                                    context.sh(script: "./build-farm/make-adopt-build-farm.sh")
./build/common/build_base_file.groovy:                context.build job: 'build-scripts/release/refactor_openjdk_release_tool',
./build/openjdk9_pipeline.groovy:                additionalNodeLabels: 'build-macstadium-macos1010-1',
./build/openjdk10_pipeline.groovy:                additionalNodeLabels: 'build-macstadium-macos1010-1',
[sxa@sxat470p pipelines]$ 

jdk8u-windows-x64-openj9 is also locked to build-softlayer-win2012r2-x64-1 for some reason at present - likely because we've historically had custom setups on the windows boxes due to the lack of a standard playbook and have installed some custom compilers and appropriate tags on certain machines

@sxa sxa added ansible Issues related to our ansible playbooks in the infrastructure repo windows Issues that affect or relate to the WINDOWS OS labels Apr 17, 2019
@sxa sxa added this to the April 2019 milestone Apr 17, 2019
@lumpfish
Copy link
Contributor

lumpfish commented Apr 17, 2019

Also, https://ci.adoptopenjdk.net/job/build-scripts/job/release/job/create_installer_windows/ appears to be tied to a machine (maybe wix needs to be on more machines?):

(pending—Waiting for next available executor on ‘build-softlayer-win2012r2-x64-1’) 

@karianna karianna modified the milestones: April 2019, May 2019 May 1, 2019
@karianna karianna modified the milestones: May 2019, June 2019 Jun 3, 2019
@karianna karianna modified the milestones: June 2019, July 2019 Jul 5, 2019
@sxa sxa pinned this issue Dec 30, 2019
@sxa sxa added this to the January 2020 milestone Dec 30, 2019
@karianna karianna modified the milestones: January 2020, February 2020 Feb 3, 2020
@sxa
Copy link
Member Author

sxa commented Mar 3, 2020

Docker build jobs also appear machine-specific

@sxa sxa modified the milestones: February 2020, March 2020 Mar 3, 2020
@sxa
Copy link
Member Author

sxa commented Mar 26, 2020

  • aarch64 build machine
  • AIX xlc16 machine

@sxa
Copy link
Member Author

sxa commented Apr 22, 2020

macos builds (Checked JDK11/J9) are tied to macos10.14&&build&&mac&&x64 which is only served by build-macstaduim-macos1014-1

@karianna karianna modified the milestones: April 2020, May 2020 May 4, 2020
@sxa
Copy link
Member Author

sxa commented May 18, 2020

JDK8/J9/Win32 is locked to build-softlayer-win2012r2-x64-1

@sxa
Copy link
Member Author

sxa commented May 20, 2020

All AIX/J9 builds currently locked to https://ci.adoptopenjdk.net/computer/test-ibm-aix71-ppc64-1 (Requires AIX 7.1.5)

@sxa
Copy link
Member Author

sxa commented May 22, 2020

JMC builds seem tied to the build-scalway-ubuntu system as demonstrated by adoptium/infrastructure#1336

@karianna karianna added this to the September 2020 milestone Sep 1, 2020
@sxa
Copy link
Member Author

sxa commented Oct 19, 2020

OpenJ9 JDK8 builds now released as they can run on either of the new windows ibmcloud systems

@karianna karianna modified the milestones: September 2020, November 2020 Nov 3, 2020
@M-Davies M-Davies added the bug Issues that are problems in the code as reported by the community label Nov 27, 2020
@karianna karianna modified the milestones: November 2020, December 2020 Jan 3, 2021
@sxa
Copy link
Member Author

sxa commented Jan 6, 2021

NOTES:

@M-Davies
Copy link
Contributor

@sxa
Copy link
Member Author

sxa commented Feb 12, 2021

@sxa Can this be moved to https://github.com/AdoptOpenJDK/ci-jenkins-pipelines?

Debatable - it's not purely a fix to the tags in there, it's also about making sure appropariate systems are available. I don't care too much where it is though.

@sxa
Copy link
Member Author

sxa commented Feb 18, 2021

Related: adoptium/infrastructure#1948
At the moment, only Azure systems are tagged for WiX (installer) jobs.

@sxa
Copy link
Member Author

sxa commented Feb 18, 2021

Note: The OpenJ9 builds (At least JDK8) are restricted to these two machines (not labelled to run on azure unlike others)

@karianna karianna modified the milestones: December 2020, February 2021 Feb 18, 2021
@sxa
Copy link
Member Author

sxa commented Mar 5, 2021

Alibaba aarch64 builds are currently locked onto one machine (they have to run on alibaba hardware for now - we'll almost certainly have to allow both machines to be options for building. Today it got locked out because the docker_build_multiarch job got scheduled on there.

@sxa sxa modified the milestones: February 2021, March 2021 Mar 5, 2021
@sxa
Copy link
Member Author

sxa commented Mar 20, 2021

SUMMARY

Many of these have now been resolved. From the top:

Remaining:

@github-actions github-actions bot added arm Issues that affect or relate to the ARM OS installer Issues that relate to our installer jobs or installer repo macos Issues that affect or relate to the MAC OS openj9 Issues that are enhancements or bugs raised against the OpenJ9 group testing Issues that enhance or fix our test suites labels Mar 21, 2022
@zdtsw zdtsw unpinned this issue Feb 1, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ansible Issues related to our ansible playbooks in the infrastructure repo arm Issues that affect or relate to the ARM OS bug Issues that are problems in the code as reported by the community installer Issues that relate to our installer jobs or installer repo macos Issues that affect or relate to the MAC OS openj9 Issues that are enhancements or bugs raised against the OpenJ9 group testing Issues that enhance or fix our test suites windows Issues that affect or relate to the WINDOWS OS
Projects
Status: Todo
Development

No branches or pull requests

5 participants
@karianna @sxa @M-Davies @lumpfish and others