-
Notifications
You must be signed in to change notification settings - Fork 729
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
Create Dockerfiles that allow test execution #23
Comments
The dockerfile in link above doesn’t seem to build JDK or get a JDK, it simply setting up the environment. Maybe I am wrong if I miss something? Do we want to integrate the test execution into the same dockerfile or have another dockerfile to execute tests? |
Separate dockerfiles for test, can be put in buildenv/docker/openj9test (or something similar that shadow existing ones). See the website instructions for the expected usage of the existing files, https://www.eclipse.org/openj9/oj9_build.html |
+1 to putting the test-related docker files in the buildenv/docker directory. Does the test subdirectory need an |
buildenv/docker/test sounds good we should update the webpage with additional information on these new dockerfiles once they are ready (as the instructions read right now, they imply that you would be able to move on the test step from using the existing dockerfiles, which is not the case). |
Why would we not just add the additional requirements to the existing dockerfile(s)? or at a minimum built on top of the initial dockerfile? |
"Basing from those Dockerfiles that build openj9" |
Should we put the OpenJ9 Docker images onto Dockerhub such that the test Dockerfiles can be FROM them? |
Taking a second look at the Dockfiles in After trying the whole building and testing process within Docker container, I think we need two separate tasks to solve two different Docker-related user scenarios. Scenario 1: I want to run OpenJ9 tests against a downloaded OpenJ9 binary (OpenJ9 SDK). Or I just want to test my new test codes against a pre-built OpenJ9 SDK. In this case, we just need a light weight Docker image which contains minimum dependencies for executing tests against OpenJ9 SDK. So Task 1 is to create a Dockerfile which should be independent from those Dockerfiles which build OpenJ9. It should be located in Scenario 2: I want to build the OpenJ9 and also test it. In this case, it will be convenient to build OpenJ9 and run tests in the same Docker image. So Task 2 is adding In the contrast, building OpenJ9 and running tests in two different Docker images separate the clone-clone-make story, which we want to avoid. Also, the instructions in https://www.eclipse.org/openj9/oj9_build.html make it very difficult to build OpenJ9 and run tests in two separate Docker images. The openj9-openjdk-jdk9 repo is cloned within the Docker container which makes the OpenJ9 SDK built in this Docker image difficult to shared outside. Summary: |
For Scenario2, it seems we have to separate two different Dockerfile and use two different Docker images to build OpenJ9 and run tests. Test Dockerfile and build Dockerfile cannot be combined due to:
In this result, I think should update the instruction in https://www.eclipse.org/openj9/oj9_build.html. The openj9-openjdk-jdk9 repo should be cloned outside of Docker and mounted to a Docker container when needed. Then the build OpenJ9 SDK can be mounted to the other testing Docker image |
|
Take this Dockerfile as an example:
Error messages are different. Without
if we put
If
|
Inspired by Mathew's comment, found out that it is the gcc-5 and g++-5 included in Update the Pull Request changeset to reset the symlink of |
(opened #88, as I suspect if we used update-alternatives, this could be avoided) |
Note that FROM can refer to images on your local machine, so you can build one and then build the other from it (this is how the AdoptOpenJDK docker files work, see adoptium/temurin-build#166 ). Of course, that assumes you can make it work as "build one" and then "extend that one with additional things" :) . |
Thanks for the clarification, @mstoodle ! |
For my vote, I would actually prefer this to be done via a separate Dockerfile which builds on the root "build" one. That way you should be able to run tests on an image that can also (re)build OpenJDK with OpenJ9 and will automatically pick up any changes if we need to update that base recipe. Maybe that suggests the two files should be in the same directory? |
* create a Dockerfile to allow test execution and build OpenJ9 * test Dockerfile is located in buildenv/docker/test '[skip ci]' Issue: eclipse-openj9#23 Signed-off-by: Tianyu Zuo <[email protected]>
Issue solved in #79 |
* Register Class into Table (eclipse-openj9#23) - register performed in createramclass - added register functions into internalfuncs - changed naming scheme Signed-off-by: akshayben <[email protected]>
…winstance Check for array elements with value type fields
Basing from those Dockerfiles that build openj9 (https://github.com/eclipse/openj9/tree/master/buildenv/docker), we should have matching set to allow test execution.
There are a few additional prereqs needed for test (see https://github.com/eclipse/openj9/blob/master/test/README.md for details on testing openj9).
The text was updated successfully, but these errors were encountered: