github / github/vscode-github-actions

GHE.com support broken for SSH/Git remote URLs

オープン
#502 コメント 1 件 リアクション 8 件 担当者 0 名 GitHub で見る
bug
主要言語
TypeScript
スター
660
フォーク
213
PR マージ指標
30日以内にマージされた PR はありません

説明

**Describe the bug**

It appears that the implementation of https://github.com/github/vscode-github-actions/issues/457 through https://github.com/github/vscode-github-actions/pull/458 was broken by https://github.com/github/vscode-github-actions/pull/469 if you are not using http remote urls and instead use the SSH/Git remote urls, e.g. `@.ghe.com:org/repo.git`.

Log output:

```
Activating GitHub Actions extension...
Error getting GitHub context
Invalid URL
TypeError: Invalid URL
at new URL (node:internal/url:818:25)
at /home/gustav/.vscode-server/extensions/github.vscode-github-actions-0.27.2/dist/extension-node.js:1:1158030
at async Promise.all (index 0)
at async /home/gustav/.vscode-server/extensions/github.vscode-github-actions-0.27.2/dist/extension-node.js:1:1157669
at async De (/home/gustav/.vscode-server/extensions/github.vscode-github-actions-0.27.2/dist/extension-node.js:1:1157518)
at async os (/home/gustav/.vscode-server/extensions/github.vscode-github-actions-0.27.2/dist/extension-node.js:1:1339675)
at async db.n (file:///home/gustav/.vscode-server/bin/488a1f239235055e34e673291fb8d8c810886f81/out/vs/workbench/api/node/extensionHostProcess.js:112:13386)
at async db.m (file:///home/gustav/.vscode-server/bin/488a1f239235055e34e673291fb8d8c810886f81/out/vs/workbench/api/node/extensionHostProcess.js:112:13349)
at async db.l (file:///home/gustav/.vscode-server/bin/488a1f239235055e34e673291fb8d8c810886f81/out/vs/workbench/api/node/extensionHostProcess.js:112:12805)

```

**To Reproduce**
Steps to reproduce the behavior:
1. Set up a repo on a ghe.com instance. Add VS Code settings as follow:
```json
{
"github-enterprise.uri": "https://.ghe.com",
"github-actions.use-enterprise": true
}
```
2. Check out the repository using the git/ssh remote:
```sh
git clone @.ghe.com:org/repo.git
```
3. The Github Actions extension will fail to initialize due to [`URL` failing to parse](https://github.com/github/vscode-github-actions/blob/8850a664b7dfd05efca1e00adc0d338f5ce296ab/src/git/repository.ts#L81) `@.ghe.com:org/repo.git` as a URL which then throws an error which is not handled.

**Screenshots**

**Extension Version**
`v0.27.2`

**Additional context**

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

失敗は src/git/repository.ts の 81 行目で特定されている。ドキュメントに記載された ghe.com SSH リモートとエンタープライズ設定を使って再現し、その値がどのようにパースされるかを調査する。SSH/Git リモートに対して拡張機能が Invalid URL エラーなしで正常に初期化されれば完了とする。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
git, typescript, vscode
領域
devtools
issue の種類
バグ
難易度
3/5
見積もり時間
1〜2日
活発さ
停滞
明瞭さ
明確に書かれている
初心者へのやさしさ
48/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。