Openjdk-infrastructure: Request for Jenkins admin access to add support for Lego Mindstorms EV3

Created on 12 Apr 2018  路  11Comments  路  Source: AdoptOpenJDK/openjdk-infrastructure

I would like to join to this team in order to provide the support for Lego Mindstorms EV3.
At the moment in this repo, we are building OpenJDK 10 for EV3:
https://github.com/ev3dev-lang-java/openjdk-ev3/releases/tag/v0.5.0

I suppose that later, it is necessary to create a new issue in the following repos:

openjdk-build:

Upgrade makejdk-any-platform.sh
update folder docker/jdk9/arm5/debian-stretch/ <- Add Dockerfile
update folder docker/jdk10/arm5/debian-stretch/ <- Add Dockerfile
pipelines/openjdk10_nightly_pipeline.groovy

openjdk-docker:

10/jdk/arm5/debian/Dockerfile.hotspot

At the moment we have support for:

  • OpenJDK9
  • OpenJDK10
  • OpenJDK11 EA (In progress)

Juan Antonio

Machine Request

Most helpful comment

Hi,

thanks @jabrena for creating this issue.

Yes, we are patching mainline OpenJDK (https://github.com/ev3dev-lang-java/openjdk-ev3/blob/master/scripts/jdk10.patch. It does this:

  • it adds gcc optimization flags for the ARM926EJ-S processor used in EV3,
  • it limits some of the memory barriers to ARMv6 (as they don't exist on ARMv5),
  • it redirects the "glibc soft-fp bundle" (maybe more accurate?) to standard software floating point implementation,
  • it disables multiprocessing because is not supported on ARMv5.

I've looked at the build scripts in the main repo and it shouldn't be a problem to port our scripts there. We are using Docker as well. We're just using Debian Stretch and its armel packages, because that is what is powering the EV3.

Regards,

Jakub Van臎k

All 11 comments

I suspect it might be a good idea to wait until @karianna has completed his work on https://github.com/karianna/openjdk-build/tree/refactor_build_scripts before doing this. Have you needed any changes to the base openjdk code or just using it as-is?

Yes, we can wait the refactoring process by @karianna
When we continue with this issue, I would that my mate @JakubVanek join to this project.
He has a good expertise in this particular area.

Cheers

Hi,

thanks @jabrena for creating this issue.

Yes, we are patching mainline OpenJDK (https://github.com/ev3dev-lang-java/openjdk-ev3/blob/master/scripts/jdk10.patch. It does this:

  • it adds gcc optimization flags for the ARM926EJ-S processor used in EV3,
  • it limits some of the memory barriers to ARMv6 (as they don't exist on ARMv5),
  • it redirects the "glibc soft-fp bundle" (maybe more accurate?) to standard software floating point implementation,
  • it disables multiprocessing because is not supported on ARMv5.

I've looked at the build scripts in the main repo and it shouldn't be a problem to port our scripts there. We are using Docker as well. We're just using Debian Stretch and its armel packages, because that is what is powering the EV3.

Regards,

Jakub Van臎k

We need to collaborate with this fantastic team and find some way to use the CI capabilities of AdoptOpenJDK.
https://ci.adoptopenjdk.net/

Besides, using this research line, we could review when appear changes in ARM line and the bottom line is EV3 or it could be.

_Java market begin on Education layer not in the Enterprise._

Juan Antonio

Hi mates, following the comments from @tellison,

Is it possible to create a Jenkins admin access for me and @JakubVanek in order to create a new view ev3dev on Jenkins?

The idea is to create the Pipeline in order to build OpenJDK for Debian versions from EV3Dev. At the moment we the solution for Debian Stretch, but maybe it is possible to run for Debian Jessie too.

The idea with the CI integration, is the generation of OpenJDK binaries from the AdoptJDK Pipeline and later the user could download the binary from the website or using some automated solution with the interaction with AdoptOpenJDK API.

With this idea in mind, we could offer a stable solution for the whole Mindstorms ecosystem:

| # | Layer | Option 1 | Option 2 |
|---|------------------|--------------------------------------------|-------------------------|
| 1 | Platforms | EV3 BrickPi+ BrickPi3 PiStorms | EV3 BrickPi+ BrickPi3 PiStorms |
| 2 | OS | Debian Jessie | Debian Stretch |
| 3 | JVM | OpenJDK JRI 10 | OpenJDK JRI 10 |
| 4 | EV3Dev Kernel | 4.4.47-19-ev3dev-ev3 4.4.47-19-ev3dev-rpi2 | 4.9.58-ev3dev-1.6.0-ev3 |
| 5 | ev3dev-lang-java | 2.4.0 | 2.4.0 |

Related issues:
https://github.com/ev3dev-lang-java/ev3dev-lang-java/issues/479
https://github.com/ev3dev-lang-java/ev3dev-lang-java/issues/485

Juan Antonio

Added @jabrena and @JakubVanek to Jenkins admins group.

Please go ahead and create the new Jenkins UI view, and create your jobs. Please don't modify other Jenkins settings etc without discussion on the #infrastructure and a new issue.

@tellison do they technically need to be jenkins admins? surely normal access would be adequate for this

@gdams ok, I wasn't aware that normal users can create UI views. Let's check with @jabrena what he can do.

As a matter of principle, we should aim for providing the minimum required rights required to complete the task.

Hi @gdams, @tellison,

If a user with normal Grants is Ok, for me is perfect. Besides, I share the idea from @gdams, it is better to be prudent :)

The idea with the usage of Jenkins is the execution of this repo:
https://github.com/ev3dev-lang-java/openjdk-ev3

Next week, we will analyse what is the normal implementation of a build on AdoptOpenJDK and we will follow that criterias

Ok, thanks. I've downgraded the invites for @jabrena and @JakubVanek to be members of the AdoptOpenJDK org, and not Jenkins-Admins.

If you are blocked from actions you need let us know.

@jabrena as a general FYI, if you need any jenkins admin assistance then please create an issue in this repo and make sure to CC @AdoptOpenJDK/jenkins-admins

Was this page helpful?
0 / 5 - 0 ratings