-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
Improvement for ARM/Linux CI #7337
Comments
I agree with @wateret on building rootfs in the same way developers do For coreclr, there are docker images used for pipilebuild as mentioned by @gkhanna79 at https://github.com/dotnet/core-setup/issues/1400#issuecomment-276823017.
@wateret What do you think of using above image for coreclr CI ? Can we start with them? |
@gkhanna79 I think using existing docker image can be a candidate. Furthermore I hope we can configure docker image as needed by making PR here or other repo of dotnet, for example installing new packages to introduce new feature in CI. |
I would suggest that you should experiment using the above Docker images for bringing up CI in core-Setup since CoreCLR already has it. Once that is confirmed to work, you can attempt to revamp CorECLR and CoreFX CI.
This is an interesting question. My current understanding is that our central Docker images (which I mentioned above) are indeed maintained as DockerFiles in a repo but everytime we update them, since they affect official builds, we manual build and validate them before publishing to the above repository. @dleeapho and @MichaelSimons are the folks who own and evolve are Docker infrastructure and can comment on how feasible it is for you to make PR to those files. |
@gkhanna79 @dleeapho @MichaelSimons Where can I see the DockerFiles for the docker images what it is mensioned above? If we can access the DockerFiles, we can use it including Core-setup builds. |
@hqueue I agree. I'll start with the central docker images mentioned.
|
@jyoungyun, Unfortunately at the moment, the Dockerfiles are not in an open repo. We are actively working on moving them to the open so that everyone can contribute to them. I expect this work to be done over the next couple of weeks. In the meantime I have copied the Dockerfiles for you to reference. chcosta/dotnetcore:ubuntu1404_cross_prereqs_v1
chcosta/dotnetcore:ubuntu1404_coredeps_v1
chcosta/dotnetcore:ubuntu1604_cross_prereqs_v1
chcosta/dotnetcore:ubuntu1604_coredeps_v1
|
@MichaelSimons Thanks for sharing! Please share with us when the move is complete. If we have to modify the DockerFiles, we will add a comment here. |
@MichaelSimons I added some pkgs for armel and tizen build.
I uploaded the docker image to docker hub (https://hub.docker.com/r/t2wish/dotnetcore/). The |
@gkhanna79 I've made a PR of experimental ARM CI for corefx using docker images at dotnet/corefx#15900 and you can find out below two builds are finished without failure.
I started working on corefx, because corefx has much simpler CI structure than coreclr and we need corefx artifacts to run tests in coreclr CI. Short summary for experimental ARM CI.
What do you think of this approach? If you think this is ok, we will refine code and start to apply this to core-setup, coreclr and corefx together. /cc: @wateret |
@gkhanna79 Some update. As a first step, we write a shell script (
It make use of docker as described in a previous comment above. Please take a look into scripts/arm32_ci_script.sh in dotnet/corefx#15900 (https://github.com/dotnet/corefx/pull/15900/files#diff-9b74089ede263293591a48bb7430a9a4. ) There is a small difference in When |
@jyoungyun Per the discussion in https://github.com/dotnet/coreclr/issues/9553#issuecomment-279319202, the alignment is towards constructing armel rootfs on the fly and not be in the Docker image. Given that, is your proposed change above (to the Docker image) still required? |
@hqueue I believe you maybe running into the same issue as I did. Making qemu-debootstrap requires the following:
Overall, the approach seems reasonable to me. I have left some comments on dotnet/corefx#15900 for you to consider. Also, I would suggest you bring it first up, with allrequired semantics in place, in CoreFX first and then follow up with the other repos. |
@gkhanna79 Yes, the pre-reqs are still required. The pre-reqs is for generating tizen rootfs so if we generate rootfs in Docker image, we still need those packages. |
@gkhanna79 Thanks! It works :) I've updated dotnet/corefx#15900. Please take a look. |
@wateret Can we close this ?, because new ARM CI using Docker is now enabled as in dotnet/coreclr#10185. |
We have following issues with CI/ARM/Linux. The sub-bullets are our plans.
Dockerfile
.cc: @hqueue @gkhanna79
The text was updated successfully, but these errors were encountered: