git-ecosystem / git-ecosystem/git-credential-manager
64 bit single exe of git-credential-manager.exe for windows nano server
Nobody has claimed this yet.
- Dominant language
- C#
- Stars
- 9.3k
- Forks
- 2.9k
- Avg merge
- 7d 1h
- Merged PRs (30d)
- 14
Description
Feature description
I am attempting to build a windows nano server container for development inside of. Nano server is an ultra striped down windows container. It only supports 64 bit executables and does not come with powershell or any version of .NET by default.
I can clone a public github repo. I have gotten github credential manager.exe to run inside it. I would like you to publish a self contained 64 bit executable on the release page so I can grab this during container builds. Building one just works with the following commands:
dotnet publish -c Release -r win-x64 --self-contained true /p:PublishSingleFile=true -f net8.0 /p:PlatformTarget=x64 ./src/shared/Git-Credential-Manager/Git-Credential-Manager.csproj
Then you can just copy it in a COPY stage or use docker cp on a stopped container. Unfortunately you need to stop a windows container for docker cp to work.
The exe this builds works:
I was also able to login with a device login using git-credential-manager github login --no-ui. However, attempting to clone a private repo returns fatal: could not read Username for 'https://github.com': No such file or directory. Its possible this is because I am using minigit. I can investigate that some more.
The point is, a 64 bit executable is necessary for this use case, and building one just works. I can look into modifying the CI/CD chain to add this to releases and submit a PR if this is agreeable.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by running the provided dotnet publish command for src/shared/Git-Credential-Manager/Git-Credential-Manager.csproj and inspect the repository's CI/CD release configuration. Determine where a self-contained win-x64 single-file executable can be added to releases, then verify that the published executable supports the Nano Server use case.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp, docker
- Domain
- ci-cd, devops, release
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100