You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
But it seems that actions/checkout@v3 with submodules: recursive cannot checkout a submodule located outside our GHES when a URL of the submodule is in SSH format. It raises an error Host key verification failed. after trying to run git submodule update. Full logs are the followings:
Fetching submodules
/usr/bin/git submodule sync --recursive
/usr/bin/git -c protocol.version=2 submodule update --init --force --depth=1 --recursive
Submodule 'another-example' ([email protected]:nekketsuuu/another-example.git) registered for path 'another-example'
Submodule 'example' ([email protected]:nekketsuuu/example.git) registered for path 'example'
Cloning into '/home/runner/actions-runner/workdir/some-repository/some-repository/another-example'...
Cloning into '/home/runner/actions-runner/workdir/some-repository/some-repository/example'...
Host key verification failed.
Error: fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Error: fatal: clone of '[email protected]:nekketsuuu/example.git' into submodule path '/home/runner/actions-runner/workdir/some-repository/some-repository/example' failed
Failed to clone 'example'. Retry scheduled
Cloning into '/home/runner/actions-runner/workdir/some-repository/some-repository/example'...
Host key verification failed.
Error: fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Error: fatal: clone of '[email protected]:nekketsuuu/example.git' into submodule path '/home/runner/actions-runner/workdir/some-repository/some-repository/example' failed
Failed to clone 'example' a second time, aborting
Error: The process '/usr/bin/git' failed with exit code 1
What should I do to resolve this error?
Why This Failed
This error is caused by insufficient git configs for insteadOf. Let's see logs before fetching submodules:
Here actions/checkout@v3 configures HTTPS instead of SSH for our GHES, but not for github.com. This is because our GITHUB_SERVER_URL is set to example.com. See the following codes.
Click here to see steps to reproduce the above error
Create a repository on GHES and run git submodule add for a repository on github.com, using SSH URL. Also you can add a repository on GHES as a submodule. Then commit .gitmodules and the submodules.
We can avoid this behavior by using HTTPS URL in .gitmodules if you just want to read submodule repositories and the repositories are public on github.com.
I'm using GitHub Enterprise Server (GHES), say https://example.com, and I want to checkout a repository on https://github.com as a git submodule.
But it seems that actions/checkout@v3 with
submodules: recursive
cannot checkout a submodule located outside our GHES when a URL of the submodule is in SSH format. It raises an errorHost key verification failed.
after trying to rungit submodule update
. Full logs are the followings:What should I do to resolve this error?
Why This Failed
This error is caused by insufficient git configs for
insteadOf
. Let's see logs before fetching submodules:Here actions/checkout@v3 configures HTTPS instead of SSH for our GHES, but not for github.com. This is because our
GITHUB_SERVER_URL
is set toexample.com
. See the following codes.checkout/src/git-source-provider.ts
Lines 200 to 204 in e6d535c
checkout/src/git-auth-helper.ts
Lines 134 to 140 in e6d535c
checkout/src/git-auth-helper.ts
Lines 65 to 72 in e6d535c
checkout/src/url-helper.ts
Lines 22 to 28 in e6d535c
GITHUB_SERVER_URL
is set to "The URL of the GitHub Enterprise Server server. For example:https://[hostname]
."How to Reproduce
Click here to see steps to reproduce the above error
Create a repository on GHES and run
git submodule add
for a repository on github.com, using SSH URL. Also you can add a repository on GHES as a submodule. Then commit.gitmodules
and the submodules.Create a workflow using actions/checkout@v3 to checkout a repository including submodules.
Run the workflow.
Environment:
GitHub Enterprise Server 3.5.1
GitHub Actions on self-hosted runner on Amazon ECS
git version 2.25.1
Run actions/checkout@v3 with
Related Issue
#488
The text was updated successfully, but these errors were encountered: