git-ecosystem / git-ecosystem/git-credential-manager

64 bit single exe of git-credential-manager.exe for windows nano server

Open
#1,788 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
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:

image

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.