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

Request builds for amber raw-string-literal branch #251

Closed
briangoetz opened this issue Mar 8, 2018 · 38 comments
Closed

Request builds for amber raw-string-literal branch #251

briangoetz opened this issue Mar 8, 2018 · 38 comments
Labels
enhancement Issues that enhance the code or documentation of the repo in any way macos Issues that affect or relate to the MAC OS new builds Issues that request for new jenkins pipeline builds testing Issues that enhance or fix our test suites windows Issues that affect or relate to the WINDOWS OS

Comments

@briangoetz
Copy link

I'd like to ask for builds on a few branches of the amber repository, starting with the branch "raw-string-literal" of the hg repo http://hg.openjdk.java.net/amber/amber. Builds on 64-bit linux/mac/windows is ideal; minimal or no testing needed since testing resources are strained and the skew from jdk tip is small. No known build differences.

@karianna karianna self-assigned this Mar 8, 2018
@karianna karianna added the enhancement Issues that enhance the code or documentation of the repo in any way label Mar 8, 2018
@karianna
Copy link
Contributor

karianna commented Mar 8, 2018

@briangoetz Thanks for the request, I'm personally looking forward to Amber - I'll pick this up.

@gdams gdams self-assigned this Mar 8, 2018
@karianna
Copy link
Contributor

karianna commented Mar 8, 2018

For those following the task list below will be templated and transformed into formal docs at the TSC. I'll update this comment as I move along.

  • Create AdoptOpenJDK amber source repo
  • Create AdoptOpenJDK amber nightly binary repo
  • Create git-hg job to clone amber with the string-literal branch
  • Add Jenkins jobs to build AdoptOpenJDK amber repo on Linux x86
  • Add Jenkins jobs to build AdoptOpenJDK amber repo on Windows
  • Add Jenkins jobs to build AdoptOpenJDK amber repo on Mac OS X
  • Build pipeline to deploy those to AdoptOpenJDK amber nightly binary repo
  • Update api code to accept this new repo
  • Update website code to accept new repo

@karianna
Copy link
Contributor

karianna commented Mar 8, 2018

@gdams has kindly kicked off the initial git-hg job, we'll come back in the morning (UK time) and check it's status and go from there.

@karianna
Copy link
Contributor

karianna commented Mar 9, 2018

git-hg has completed after some script modifications to support branch pulls.

@karianna
Copy link
Contributor

karianna commented Mar 9, 2018

we're 'manually' testing a build to see what extra deps we might need on the build hosts..

@gdams
Copy link
Member

gdams commented Mar 9, 2018

okay a linux x64 build is complete. It can be downloaded from https://ci.adoptopenjdk.net/job/openjdk_amber_build_x86-64_linux/

@briangoetz
Copy link
Author

Thanks!

Note that this is just one branch of amber (raw string literals), and there will be other branches we will want to build concurrently in the future. So I suggest naming it something like amber-rsl for clarity.

@karianna
Copy link
Contributor

karianna commented Mar 9, 2018

linux builds OK.

Removing unnecessary files now...
Fetching the first tag from the OpenJDK git repo...
Currently at '/home/jenkins/workspace/openjdk_amber_build_x86-64_linux/openjdk/build/linux-x86_64-normal-server-release/images'
moving jdk to jdk-10+43
Finished removing unnecessary files from jdk-10+43
Archiving the build OpenJDK image...
OpenJDK repo tag is jdk-10+43
Your final .tar.gz was created at /home/jenkins/workspace/openjdk_amber_build_x86-64_linux/openjdk/build/linux-x86_64-normal-server-release/images�
Moving the artifact to /home/jenkins/workspace/openjdk_amber_build_x86-64_linux/OpenJDK_amber_x64_Linux_201809031925.tar.gz�

We'll continue on Monday with Mac and Windows builds and then finally the API and website release

@gdams
Copy link
Member

gdams commented Mar 10, 2018

@karianna
Copy link
Contributor

karianna commented Mar 12, 2018

All 3 O/S's are building now. Just scripting up the website and API release part

@smlambert
Copy link
Contributor

Run a subset of openjdk regression tests on x64_linux/x64_mac (no windows test machine available):
https://ci.adoptopenjdk.net/view/work%20in%20progress/job/amber-rsl_hs_openjdktest_x86-64_linux/
https://ci.adoptopenjdk.net/view/work%20in%20progress/job/amber-rsl_hs_openjdktest_x86-64_macos/

Still need to update exclude file, and also there is an openjdk-build issue #248 - where build scripts need to be updated to correctly build the native test libraries before we would enable native tests in Java10+.

@karianna
Copy link
Contributor

Nightly builds now available at: https://adoptopenjdk.net/nightly.html?variant=amber

@karianna
Copy link
Contributor

karianna commented Apr 6, 2018

I'm going to try to apply the rsl naming

@karianna karianna reopened this Apr 6, 2018
@karianna karianna added this to the 1.x.x milestone May 14, 2018
@karianna karianna removed this from the 2.x.x milestone Jan 10, 2019
@karianna karianna added this to the Backlog milestone Mar 7, 2019
@karianna
Copy link
Contributor

karianna commented Mar 7, 2019

We will have to redo Amber in the new build scripts way.

@briangoetz
Copy link
Author

briangoetz commented Mar 7, 2019 via email

@karianna
Copy link
Contributor

karianna commented Mar 7, 2019

Will do!

@karianna karianna removed this from the Backlog milestone Apr 26, 2020
@adamfarley
Copy link
Contributor

Is this something that others are working on? Happy to lend a hand, so long as I'm not duplicating effort.

@briangoetz
Copy link
Author

These branches have been migrated to branches in github. Ask on amber-dev which branches are the ones that would most benefit from a build?

@adamfarley
Copy link
Contributor

First we need to know how many additional builds we can run. Presuming we still want mac/win/lin nightlies, how many builds worth of runtime can we spare on those platforms?

@M-Davies - Do you have the numbers on this?

@M-Davies
Copy link
Contributor

First we need to know how many additional builds we can run. Presuming we still want mac/win/lin nightlies, how many builds worth of runtime can we spare on those platforms?

@M-Davies - Do you have the numbers on this?

No idea I'm afraid. Maybe check the nightlies and see how many machines are free during the night?

@aahlenst
Copy link
Contributor

aahlenst commented Dec 11, 2020

Running additional builds on Windows/Linux/macOS on x64 is unlikely to be a problem because we dynamically provision build nodes on those platforms (not 100% sure with Windows).

@adamfarley
Copy link
Contributor

@M-Davies - I don't know how to do that. Is there a graph that shows machines occupied/unoccupied, by platform, over time?

@aahlenst - Thanks. Will ask about the builds without mentioning platforms, and we can make those judgements later on as we get a feel for the impact the extra builds are having on the nightlies.

@aahlenst
Copy link
Contributor

@adamfarley From my POV, we need first to figure out what exactly we want to do.

  • As Martijn said further up, it's in the interest of the project to build various preview features.
  • Do we want to test those? And to what extent?
  • Do we need daily builds or a weekly builds sufficient?
  • Does it make sense to build on additional platforms besides Windows/Linux/macOS on x64?

Once we know all this, we can exactly decide what to do.

As far as I know, we don't have graphs that show our machine utilization. Would be a nice student project, I guess.

@adamfarley
Copy link
Contributor

@aahlenst These all sound like questions for the Amber project, as they are more likely to know what they need.

Here's a rough sketch of the email I planned to send to amber-dev, plus some extra bits to cover your bullet points.

Subject: Amber Builds Offer

Hi All,

Could the Amber project use some regularly scheduled builds at AdoptOpenJDK?

If so, any suggestions on which branches we should build?

We'd also appreciate any thoughts on testing needed (by branch), frequency of builds, 
and any specific platform requests.

Issue link: https://github.com/AdoptOpenJDK/openjdk-build/issues/251

Best Regards
Adam Farley
Software Developer
Red Hat

@adamfarley
Copy link
Contributor

As for the graph, that sounds like an infra thing. Will raise an infra issue as a "good first issue".

@aahlenst
Copy link
Contributor

These all sound like questions for the Amber project, as they are more likely to know what they need.

Those might also be questions for the Amber project, but we as AdoptOpenJDK have to answer those for ourselves in the first place.

Will raise an infra issue as a "good first issue".

A "good first issue" requires significant effort from our side to document and prepare. Solving the task requires good knowledge of our infra. That's basically the opposite of a "good first issue".

@adamfarley
Copy link
Contributor

These all sound like questions for the Amber project, as they are more likely to know what they need.

Those might also be questions for the Amber project, but we as AdoptOpenJDK have to answer those for ourselves in the first place.

I'm not sure I understand how we would know what sort of testing or platform coverage has the best value for each branch of the Amber project. I mean, we could learn, or ask around inside Adopt to see if anyone has Amber insight, but it still seems simpler to me to ask the project members themselves.

Will raise an infra issue as a "good first issue".

A "good first issue" requires significant effort from our side to document and prepare. Solving the task requires good knowledge of our infra. That's basically the opposite of a "good first issue".

Very well. No "good first issue" tag.

@M-Davies
Copy link
Contributor

M-Davies commented Dec 11, 2020

@M-Davies - I don't know how to do that. Is there a graph that shows machines occupied/unoccupied, by platform, over time?

When the nightlies are running, you can search Jenkins for a specific node pattern and it will return a list of machines, each containing what they're running at the present time. There's also a statistics tab that would provide you a graph of that specific build label over a longer period

So say if you wanted to see how many test riscv machines are online, you would do https://ci.adoptopenjdk.net/label/riscv&&ci.role.test/ and checkout each machine OR look at the statistics tab.

To get the label in the first place, take a look at the config files OR look at the downstream job log of whatever you want to recreate in amber and search near the top for [NODE SHIFT]. That output will always contain the full label name which you can search for in jenkins above.

03:30:59  [NODE SHIFT] MOVING INTO NODE MATCHING LABELNAME build&&linux&&arm...

@adamfarley
Copy link
Contributor

adamfarley commented Dec 11, 2020

Thanks Morgan. This definitely seems the place that should contain the information I'm after.

However, either due to data corruption or some peculiarity with data representation, I'm not entirely convinced that this data is accurate.

image

On the basis that the number of executors, as well as the number of in-use executors (that dark "bump" line near the bottom), never quite seems to equal a whole number.

Will open an infra issue anyway. It'd be good to have analytics on this. :)

EDIT: Maybe a website issue would be better, as it's more of a data representation enhancement than an infra issue.

https://github.com/AdoptOpenJDK/openjdk-website/issues/868

@smlambert
Copy link
Contributor

I presume adoptium/infrastructure#1660 (use Nagios for monitoring machine usage) may be related to the side discussion happening here.

But also, if these builds are of interest to the community and the project, the presumption can be that we find resources if they are needed. That is a somewhat separate issue from putting the changes in place to enable running of these builds. How often they are run (perhaps only weekly to start)? Do we run testing? These are ways to mitigate machine resource issues while providing development builds.

@aahlenst
Copy link
Contributor

Adam volunteered to open a TSC issue to work out the framework for providing preview builds of Amber and other OpenJDK projects.

@adamfarley
Copy link
Contributor

adamfarley commented Dec 11, 2020

Adam wrote a TSC issue, decided it was too long, and shrunk it down to the essentials: AdoptOpenJDK/TSC#191

There's more than a few larger-scope things in there, so we should probably resolve that issue before continuing this issue.

@sxa
Copy link
Member

sxa commented Dec 11, 2020

Is this something that others are working on? Happy to lend a hand, so long as I'm not duplicating effort.

We already run https://ci.adoptopenjdk.net/view/Build%20and%20Test%20Pipeline%20Calendar/job/JavaFutures/ on an unofficial basis - would need to be tweaked/added to in order to meet the OP's requirements of the laternate branch - they're not monitored on a regular basis to ensure they run ok though

@smlambert
Copy link
Contributor

Removing this from Top Priorities project, because it clearly is not, given the lack of movement on this, same for #258. Re-add top project if you feel otherwise and an assignee is named to own it.

@andrew-m-leonard
Copy link
Contributor

@karianna Is this still required?

@github-actions github-actions bot added macos Issues that affect or relate to the MAC OS testing Issues that enhance or fix our test suites windows Issues that affect or relate to the WINDOWS OS labels Oct 10, 2022
@karianna
Copy link
Contributor

No, this can be closed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Issues that enhance the code or documentation of the repo in any way macos Issues that affect or relate to the MAC OS new builds Issues that request for new jenkins pipeline builds testing Issues that enhance or fix our test suites windows Issues that affect or relate to the WINDOWS OS
Projects
None yet
Development

No branches or pull requests

9 participants