diff --git a/README.md b/README.md index 63fccf8..0a49485 100644 --- a/README.md +++ b/README.md @@ -90,6 +90,38 @@ If the private key is not in the `PEM` format, you will see an `Error loading ke Use `ssh-keygen -p -f path/to/your/key -m pem` to convert your key file to `PEM`, but be sure to make a backup of the file first 😉. +## Additional Information for Particular Tools or Platforms + +If you know that your favorite tool or platform of choice requires extra tweaks or has some caveats when running with SSH, feel free to open a PR to amend this section here. + +### Cargo's (Rust) Private Dependencies on Windows + +If you are using private repositories in your dependencies like this: + +``` +stuff = { git = "ssh://git@github.com/myorg/stuff.git", branch = "main" } +``` + +... you will need to change a configuration in the workflow for Windows machines in order to make cargo able to clone private repositories. + +There are 2 ways you can achieve this: + +1. Add this step once in your job **before** any cargo command: + +``` + - name: Update cargo config to use Git CLI + run: Set-Content -Path $env:USERPROFILE\.cargo\config.toml "[net]`ngit-fetch-with-cli = true" +``` + +This will configure Cargo to use the Git CLI as explained in the [Cargo's documentation](https://doc.rust-lang.org/cargo/reference/config.html#netgit-fetch-with-cli). + +2. Alternatively you can set it to the environment variables for the entire workflow: + +``` +env: + CARGO_NET_GIT_FETCH_WITH_CLI: true +``` + ## What this Action *cannot* do for you The following items are not issues, but beyond what this Action is supposed to do.