dotnet / dotnet/dotnet-buildtools-prereqs-docker
we should consider removing build tools from Helix images
- Dominant language
- Dockerfile
- Stars
- 87
- Forks
- 118
- Avg merge
- 10h 26m
- Merged PRs (30d)
- 4
Description
I somewhat stumbled on this one while running out of space on my local machine. I noticed that most of the helix images are pretty large. For example Ubuntu 18 -> 1.5G
```
$ docker image ls
mcr.microsoft.com/dotnet-buildtools/prereqs ubuntu-18.04-helix-amd64-20230216023557-4443d0d 6d7d1241e2c6 7 seconds ago 1.52GB
```
It seems like many of the images are pulling build tools directly or indirectly by relaying on the `prereq` base image.
And in both cases they seems to be geared toward _building_ runtime not executing tests. This may be for historical reasons.
I did little fiddling (https://github.com/dotnet/dotnet-buildtools-prereqs-docker/compare/ubu18?expand=1) and I can get the image to about 1/3
```
mcr.microsoft.com/dotnet-buildtools/prereqs ubuntu-18.04-helix-amd64-20230216060058-4443d0d 07e33080f83d 5 seconds ago 593MB
```
even less with restricted locale
```
mcr.microsoft.com/dotnet-buildtools/prereqs ubuntu-18.04-helix-amd64-20230216061525-4443d0d c2d0fb3b5d9c 52 seconds ago 463MB
```
is the ~ 1G per image saving interesting and worth of the troubles @MattGal @mthalman ?
I'm reasonably confident that the resulting image would be capable of running `runtime` tests.
But I don't have really visibility to other repos and any historical reasons.
If we decouple the dependency on the base local image we may see more duplication on Dockerfile - but probably not too much.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.