github / github/vscode-github-actions
Workflow dispatch fails for workflows in git submodules
- 主要言語
- TypeScript
- スター
- 660
- フォーク
- 213
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
**Describe the bug**
When attempting to trigger a GitHub Actions workflow located in a git submodule (e.g., `host/.github/workflows/deploy.yml`), the extension fails with a 404 "Not Found" error. The extension incorrectly attempts to dispatch the workflow to the parent repository instead of the submodule's separate GitHub repository.
**To Reproduce**
Steps to reproduce the behavior:
1. Have a git repository with a submodule that has its own separate GitHub repository
2. The submodule contains GitHub Actions workflows in `.github/workflows/`
3. Open the workflow file in VSCode
4. Right-click and select "Trigger Run" or use the GitHub Actions explorer
5. See error: `404 Not Found` or similar repository not found error
**Expected behavior**
The extension should:
1. Detect that the workflow is located in a git submodule
2. Identify the correct GitHub repository for that submodule
3. Dispatch the workflow to the correct repository, not the parent
**Screenshots**
The error appears in the VSCode debug console when attempting to dispatch a workflow in the web submodule:
The extension is attempting to dispatch to the parent repository instead of the submodule's separate GitHub repository.
A user-facing error notification is displayed:
**Note:** Request IDs and repository names in the screenshot have been redacted for privacy.
**Extension Version**
`v0.31.5`
**Additional context**
This occurs in monorepo setups where submodules are separate GitHub repositories with their own workflows.
```
monorepo/ (Parent repo: github.com/owner/monorepo)
└── submodule/ (Submodule: github.com/owner/submodule)
└── .github/workflows/
└── deploy.yml ← Should dispatch to submodule repo
```
The extension's workflow dispatch logic needs to be aware of git submodules and route dispatch requests to the appropriate repository.
コントリビューションガイド
調査の方向性
.github/workflows/deploy.yml に submodule workflow を含む親リポジトリで、Trigger Run または GitHub Actions explorer を使用して失敗を再現します。workflow-dispatch の経路と、開かれたファイルのリポジトリがどのように特定されるかを追跡します。dispatch の対象が submodule リポジトリになり、404 が発生しなくなれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- git, github-actions, typescript, vscode
- 領域
- ci-cd, devtools
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 静か
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 55/100