NerdWalletOSS / shepherd

A utility for applying code changes across many repositories.
Apache License 2.0
231 stars 39 forks source link

feat: Add https auth #748

Closed jonathanmorley closed 1 month ago

jonathanmorley commented 7 months ago

Shepherd currently uses ssh git urls to clone repositories. This assumes that ssh auth is available in the environment for all repositories being cloned.

We are trying to use GitHub Actions to run Shepherd, with a GitHub App providing authentication. This works for the API (we can have the GitHub App's API token get used by shepherd), but GitHub Apps do not have SSH keys associated with them to allow git pushes over ssh.

They can however use http authentication with their GitHub token to perform git pushes, which this PR allows for using (SHEPHERD_GITHUB_ENTERPRISE_BASE_URL=x-access-token:${GITHUB_PAT}@github.com)

aorinevo commented 7 months ago

@jonathanmorley, thank you for contributing. When you get a chance, can you update the PR description with context for these changes?

cal4 commented 3 months ago

Thanks for contributing this!

aorinevo commented 1 month ago

While CI failures are valid, landing on feature branch so that we can collaborate on upstream branch to resolve them.

aorinevo commented 1 month ago

Please refer to https://github.com/NerdWalletOSS/shepherd/pull/847 to track progress towards landing on upstream.