Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

Workflow dispatch defaults to first repository's branch in multi-root workspaces

Offen
#634 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Anfängerfreundlichkeit
62/100
Issue-Typ
Bug
Klarheit
Klar beschrieben
Aktivitätsstatus
Aktiv
Tech-Stack
git, github-actions, typescript, vscode
Bereich
devtools

Rechercherichtung

Start in src/git/repository.ts, where getGitHead() reads git.repositories[0].state.HEAD, then follow its caller in triggerWorkflowRun.ts, which already has gitHubRepoContext for the selected workflow. Change the lookup so the ref comes from the workflow's own repository, and check that the default falls back to gitHubRepoContext.defaultBranch. Done when the dispatch ref prefills with the branch of the workflow's repository in a multi-root workspace.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

Description

When triggering a workflow_dispatch workflow from a multi-root VS Code workspace containing multiple Git repositories, the ref input is prefilled with the current branch of the first Git repository rather than the repository containing the selected workflow.

The workflow itself is dispatched against the correct repository, but the default ref often belongs to another repository. This requires manually correcting the branch on nearly every dispatch and can accidentally trigger a workflow on the wrong ref when branch names overlap.

Steps to reproduce

  1. Create a multi-root workspace containing two or more GitHub repositories.
  2. Check out different branches in the repositories, for example:
    • Repository A: branch-a
    • Repository B: branch-b
  3. Open a workflow_dispatch workflow from Repository B.
  4. Trigger the workflow using the editor action or GitHub Actions explorer.
  5. Observe the value in Enter ref to trigger workflow on.

Expected behavior

The ref defaults to refs/heads/branch-b, the current branch of the repository containing the selected workflow.

Actual behavior

The ref defaults to refs/heads/branch-a, the current branch of the first repository known to VS Code's Git extension.

Probable cause

triggerWorkflowRun.ts correctly resolves gitHubRepoContext from the workflow file's workspace folder, but obtains the default ref through getGitHead():

value: (await getGitHead()) || gitHubRepoContext.defaultBranch

getGitHead() in src/git/repository.ts always reads git.repositories[0]:

const head = git.repositories[0].state.HEAD;

This ignores the workflow's workspace/repository context.

Suggested fix

Resolve HEAD from gitHubRepoContext.repositoryState, or change getGitHead to accept the workflow's workspace URI/repository context and retrieve the corresponding Git repository before reading HEAD.

Environment

  • VS Code: 1.141.0 (2a59476c9bfcb90b3ddc372c36762471b7dfad1c), x64
  • GitHub Actions extension: 0.32.3
  • OS: Windows
  • Workspace: multi-root with multiple local GitHub repositories
Vorherrschende Sprache
TypeScript
Sterne
665
Forks
221
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus github/vscode-github-actions

Alle Issues in github/vscode-github-actions

Ähnliche Issues

Weitere Issues zu TypeScript

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.