Skip to content

go/src/cmd/go/internal/vcs || src/cmd/go/internal/list : VCS errors with ssh blocked on private repositories #74310

Closed as not planned
@UnaffiliatedCode

Description

@UnaffiliatedCode

Go version

1.24

Output of go env in your module/workspace:

`go env` is not relevant

What did you do?

Attempted to use gorelease, which fails during the following command: go list -x -m -versions -- mygitserver.net/${PROJECT PATH}

In the real data, the url is deemed a "schemeless" repo, since its not in the list of known hosts.

In this instance, the CI Runner only supports HTTPS for temporary tokens and does not have single instance ssh keys available.

What did you see happen?

if vcs.PingCmd == "" {

Sanitized CLI output from CI runner:

$ go list -x -m -versions -- mygitserver.net/my-sub-folder/ci_sampleapp
# get https://mygitserver.net/my-sub-folder/ci_sampleapp?go-get=1
# get https://mygitserver.net/my-sub-folder/ci_sampleapp?go-get=1: 200 OK (0.108s)
# get https://mygitserver.net/my-sub-folder?go-get=1
# get https://mygitserver.net/my-sub-folder?go-get=1: 200 OK (0.068s)
mkdir -p /builds/my-sub-folder/ci_sampleapp/.go/pkg/mod/cache/vcs # git3 ssh://git@mygitserver.net:2222/my-sub-folder.git
# lock /builds/my-sub-folder/ci_sampleapp/.go/pkg/mod/cache/vcs/25abf4eed0e2466cf46798d3b42c9640a5d3e282ac04af8e502298937df00d7f.lock
mkdir -p /builds/my-sub-folder/ci_sampleapp/.go/pkg/mod/cache/vcs/25abf4eed0e2466cf46798d3b42c9640a5d3e282ac04af8e502298937df00d7f # git3 ssh://git@mygitserver.net:2222/my-sub-folder.git
cd /builds/my-sub-folder/ci_sampleapp/.go/pkg/mod/cache/vcs/25abf4eed0e2466cf46798d3b42c9640a5d3e282ac04af8e502298937df00d7f; git init --bare
0.004s # cd /builds/my-sub-folder/ci_sampleapp/.go/pkg/mod/cache/vcs/25abf4eed0e2466cf46798d3b42c9640a5d3e282ac04af8e502298937df00d7f; git init --bare
cd /builds/my-sub-folder/ci_sampleapp/.go/pkg/mod/cache/vcs/25abf4eed0e2466cf46798d3b42c9640a5d3e282ac04af8e502298937df00d7f; git remote add origin -- ssh://git@mygitserver.net:2222/my-sub-folder.git
0.003s # cd /builds/my-sub-folder/ci_sampleapp/.go/pkg/mod/cache/vcs/25abf4eed0e2466cf46798d3b42c9640a5d3e282ac04af8e502298937df00d7f; git remote add origin -- ssh://git@mygitserver.net:2222/my-sub-folder.git
cd /builds/my-sub-folder/ci_sampleapp/.go/pkg/mod/cache/vcs/25abf4eed0e2466cf46798d3b42c9640a5d3e282ac04af8e502298937df00d7f; git ls-remote -q origin
0.122s # cd /builds/my-sub-folder/ci_sampleapp/.go/pkg/mod/cache/vcs/25abf4eed0e2466cf46798d3b42c9640a5d3e282ac04af8e502298937df00d7f; git ls-remote -q origin
go: module mygitserver.net/my-sub-folder/ci_sampleapp: git ls-remote -q origin in /builds/my-sub-folder/ci_sampleapp/.go/pkg/mod/cache/vcs/25abf4eed0e2466cf46798d3b42c9640a5d3e282ac04af8e502298937df00d7f: exit status 128:
	Host key verification failed.
	fatal: Could not read from remote repository.
	
	Please make sure you have the correct access rights
	and the repository exists.

What did you expect to see?

It should determine if SSH or HTTP is required based on previous operations in the go list command; then use the scheme determined to perform the git remote add origin command.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions