-
Notifications
You must be signed in to change notification settings - Fork 261
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
Docker support #406
Docker support #406
Conversation
As it turns out building .NET is not yet ready for this. Once this matures we can add it back. more info: https://devblogs.microsoft.com/dotnet/improving-multiplatform-container-support/
Can you elaborate on this? I've used I think the other two important things, other than just having an image available is:
|
branches: | ||
- 'master' | ||
tags: | ||
- 'v*' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Our releases are usually tagged as DepotDownloader_*
.
Well, the same seems to happen in .NET 6. The job just gets stuck indefinitely. Take a look at the Microsoft article I linked. Once that becomes stable we could move to .NET 8 and use that
The use cases I see are:
Let me know which of those should be documented or if you have any other use cases.
The funny thing is that storage doesn't actually work for me. The Also for the storage we might need to pick a better location than
Ok, that will be require parsing it and extracting semver manually. Will do it later. Now that I think about it. We probably shouldn't be running as root. So adding a low-privileged user would be a good idea as well. |
On .NET 6 I've had Docker just work with buildx, and on .NET 7 I've had failures with an illegal CPU instruction or NullReferenceException.
It's broken at the moment due to server-side changes, see #397 for more info.
We should use something more *nix-y on *nix platforms, IsolatedStorage is a Windows concept. I wouldn't be opposed to configuring it with an environment variable but a better default would also be nice. |
I think we can just use
I think |
This PR adds a
Dockerfile
as well as CI to build and publish the file to docker hub and GitHub container registry. closes #404The ci automatically builds and publishes images for all pushes to the master branch (under the
master
doker tag) as well as only builds (but does not push) images for every pull request to the master branch. On top of that, it builds versioned releases for every version tag in the format ofv2.4.7
as well as updates thelatest
docker tag whenever there is a versioned release.To make this work maintainers need to set
DOCKERHUB_USERNAME
andDOCKERHUB_TOKEN
secrets on the repository or organization as well as enable write access to the Github token used in actions to allow it to push to ghcr.ioMulti-platform builds have been temporarily disabled since .NET 6.0 isn't ready for them yet and improved ways of building them have only recently become available.
ref: https://devblogs.microsoft.com/dotnet/improving-multiplatform-container-support/