Skip to content

fix: tighten repo-memory push concurrency key to actual branch targets#23489

Merged
pelikhan merged 4 commits intomainfrom
copilot/fix-repo-memory-push-concurrency
Mar 30, 2026
Merged

fix: tighten repo-memory push concurrency key to actual branch targets#23489
pelikhan merged 4 commits intomainfrom
copilot/fix-repo-memory-push-concurrency

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Mar 29, 2026

The push_repo_memory job used a single repo-wide concurrency group, causing unrelated workflows pushing to different memory/* branches to unnecessarily serialise or cancel each other—marking workflow conclusions as failed even when the primary agent job succeeded.

Changes

  • buildPushRepoMemoryConcurrencyGroup() — new helper that builds the concurrency key from the sorted set of (target-repo, branch) pairs the job actually writes to, rather than a fixed repo-wide string
  • encodeConcurrencyKeyPart() — percent-encodes % and | in each key component before joining, ensuring the | separator is always unambiguous even if a user-supplied branch-name contains a literal |
  • | separator between branch entries with percent-encoding for robustness — multi-memory keys are unambiguous regardless of branch name content
  • Non-default target-repo values are prefixed as owner/repo:branch to keep cross-repo pushes in distinct groups
  • 178 lock files recompiled with per-branch keys

Before → After

# Before — all workflows in the repo contend regardless of branch
concurrency:
  group: "push-repo-memory-${{ github.repository }}"
  cancel-in-progress: false

# After — only workflows targeting the same branch(es) contend
concurrency:
  group: "push-repo-memory-${{ github.repository }}|memory/daily-news"
  cancel-in-progress: false

Workflows pushing to different branches now run in parallel; workflows pushing to the same branch still serialise correctly.


⚡ Quickly spin up Copilot coding agent tasks from anywhere on your macOS or Windows machine with Raycast.

Copilot AI and others added 2 commits March 29, 2026 21:35
The push_repo_memory job previously used a single repository-wide
concurrency group (push-repo-memory-${{ github.repository }}), causing
all workflows that use repo-memory to serialise or cancel each other
even when they push to completely different memory/* branches.

This change introduces buildPushRepoMemoryConcurrencyGroup(), which
builds the concurrency group key from the sorted set of (target-repo,
branch) pairs that the push job actually writes to.  Different workflows
pushing to different branches now run in parallel; workflows pushing to
the same branch still serialise correctly.

All 178 lock files have been recompiled with their per-branch keys.

Fixes #<issue>"

Agent-Logs-Url: https://github.com/github/gh-aw/sessions/bfc3a2b6-31fa-4406-9f29-97b0018892ae

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Replace the hyphen separator between branch names in the concurrency
group key with a pipe (|) character, which cannot appear in valid git
branch names. This prevents accidental key collisions between workflows
whose combined branch names could otherwise produce the same string
(e.g., memory/foo-bar vs memory/foo + bar).

Also update test expected values and add a test case explicitly
demonstrating that hyphenated branch names produce unambiguous keys.

Agent-Logs-Url: https://github.com/github/gh-aw/sessions/bfc3a2b6-31fa-4406-9f29-97b0018892ae

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copilot AI changed the title [WIP] Fix concurrency handling for repo-memory push jobs fix: tighten repo-memory push concurrency key to actual branch targets Mar 29, 2026
Copilot AI requested a review from pelikhan March 29, 2026 21:42
@pelikhan pelikhan marked this pull request as ready for review March 29, 2026 21:44
Copilot AI review requested due to automatic review settings March 29, 2026 21:44
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the push_repo_memory job’s GitHub Actions concurrency grouping so runs only serialize when they are pushing to the same repo-memory branch target(s), avoiding unnecessary contention across unrelated workflows.

Changes:

  • Add buildPushRepoMemoryConcurrencyGroup() to compute a deterministic concurrency group from the job’s repo-memory targets.
  • Update buildPushRepoMemoryJob to use the new computed concurrency group.
  • Recompile workflow lock files to embed the new per-branch concurrency group keys, and add unit tests covering the helper/job behavior.

Reviewed changes

Copilot reviewed 28 out of 28 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
pkg/workflow/repo_memory.go Adds helper to build per-target concurrency group and applies it to push_repo_memory job generation.
pkg/workflow/repo_memory_test.go Adds tests validating concurrency key construction and job concurrency configuration.
.github/workflows/workflow-health-manager.lock.yml Updates push_repo_memory concurrency group to include the workflow’s repo-memory branch.
.github/workflows/weekly-blog-post-writer.lock.yml Updates push_repo_memory concurrency group to include the workflow’s repo-memory branch.
.github/workflows/technical-doc-writer.lock.yml Updates push_repo_memory concurrency group to include the workflow’s repo-memory branch.
.github/workflows/security-compliance.lock.yml Updates push_repo_memory concurrency group to include the workflow’s repo-memory branch.
.github/workflows/pr-triage-agent.lock.yml Updates push_repo_memory concurrency group to include the workflow’s repo-memory branch.
.github/workflows/metrics-collector.lock.yml Updates push_repo_memory concurrency group to include the workflow’s repo-memory branch.
.github/workflows/glossary-maintainer.lock.yml Updates push_repo_memory concurrency group to include the workflow’s repo-memory branch.
.github/workflows/firewall-escape.lock.yml Updates push_repo_memory concurrency group to include the workflow’s repo-memory branch.
.github/workflows/discussion-task-miner.lock.yml Updates push_repo_memory concurrency group to include the workflow’s repo-memory branch.
.github/workflows/developer-docs-consolidator.lock.yml Updates push_repo_memory concurrency group to include the workflow’s repo-memory branch.
.github/workflows/delight.lock.yml Updates push_repo_memory concurrency group to include the workflow’s repo-memory branch.
.github/workflows/deep-report.lock.yml Updates push_repo_memory concurrency group to include the workflow’s repo-memory branch.
.github/workflows/daily-testify-uber-super-expert.lock.yml Updates push_repo_memory concurrency group to include the workflow’s repo-memory branch.
.github/workflows/daily-news.lock.yml Updates push_repo_memory concurrency group to include the workflow’s repo-memory branch.
.github/workflows/daily-copilot-token-report.lock.yml Updates push_repo_memory concurrency group to include the workflow’s repo-memory branch.
.github/workflows/daily-community-attribution.lock.yml Updates push_repo_memory concurrency group to include the workflow’s repo-memory branch.
.github/workflows/daily-code-metrics.lock.yml Updates push_repo_memory concurrency group to include the workflow’s repo-memory branch.
.github/workflows/daily-cli-performance.lock.yml Updates push_repo_memory concurrency group to include the workflow’s repo-memory branch.
.github/workflows/copilot-session-insights.lock.yml Updates push_repo_memory concurrency group to include the workflow’s repo-memory branch.
.github/workflows/copilot-pr-prompt-analysis.lock.yml Updates push_repo_memory concurrency group to include the workflow’s repo-memory branch.
.github/workflows/copilot-pr-nlp-analysis.lock.yml Updates push_repo_memory concurrency group to include the workflow’s repo-memory branch.
.github/workflows/copilot-cli-deep-research.lock.yml Updates push_repo_memory concurrency group to include the workflow’s repo-memory branch.
.github/workflows/copilot-agent-analysis.lock.yml Updates push_repo_memory concurrency group to include the workflow’s repo-memory branch.
.github/workflows/code-scanning-fixer.lock.yml Updates push_repo_memory concurrency group to include the workflow’s repo-memory branch.
.github/workflows/audit-workflows.lock.yml Updates push_repo_memory concurrency group to include the workflow’s repo-memory branch.
.github/workflows/agent-performance-analyzer.lock.yml Updates push_repo_memory concurrency group to include the workflow’s repo-memory branch.
Comments suppressed due to low confidence (1)

pkg/workflow/repo_memory.go:571

  • buildPushRepoMemoryConcurrencyGroup builds keys from the raw TargetRepo/BranchName, but buildPushRepoMemoryJob normalizes the effective target repo (defaults empty TargetRepo to ${{ github.repository }} and appends .wiki for wiki mode). This mismatch means the concurrency group is not actually derived from the real (repo, branch) write targets and can split or merge groups incorrectly (e.g., ${{ github.repository }} explicitly set vs empty, or wiki vs non-wiki with same branch name). Suggest deriving the concurrency key from the same normalized effective target repo used in the push/clone steps (including .wiki) so serialization matches the actual push destination.
func buildPushRepoMemoryConcurrencyGroup(memories []RepoMemoryEntry) string {
	branchKeys := make([]string, 0, len(memories))
	for _, m := range memories {
		key := m.BranchName
		if m.TargetRepo != "" {
			key = m.TargetRepo + ":" + key
		}
		branchKeys = append(branchKeys, key)

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +1235 to +1240
name: "branches with hyphens produce unambiguous keys",
memories: []RepoMemoryEntry{
{ID: "a", BranchName: "memory/workflow-a"},
{ID: "b", BranchName: "memory/workflow-b"},
},
// "|" separator ensures "memory/workflow-a|memory/workflow-b" ≠ "memory/workflow-a-b"
Copy link

Copilot AI Mar 29, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This test comment/assertion relies on the assumption that | cannot appear in git branch names to guarantee an unambiguous key. If the production code switches to encoding branch names or to a delimiter that is truly invalid for refs (recommended), this test should be updated to validate that property (e.g., round-trippable encoding or delimiter choice) rather than hard-coding | as "invalid in branch names".

Suggested change
name: "branches with hyphens produce unambiguous keys",
memories: []RepoMemoryEntry{
{ID: "a", BranchName: "memory/workflow-a"},
{ID: "b", BranchName: "memory/workflow-b"},
},
// "|" separator ensures "memory/workflow-a|memory/workflow-b" ≠ "memory/workflow-a-b"
name: "branches with hyphens use pipe separator in key",
memories: []RepoMemoryEntry{
{ID: "a", BranchName: "memory/workflow-a"},
{ID: "b", BranchName: "memory/workflow-b"},
},
// This expectation documents the current use of "|" as the list separator in the key.
// If the concurrency key encoding changes (e.g., different delimiter or encoding scheme),
// update this test to match the new encoding strategy.

Copilot uses AI. Check for mistakes.
Comment on lines +556 to +560
// Key format: "push-repo-memory-${{ github.repository }}|<branch1>[|<branch2>…]"
//
// The "|" separator is used because it cannot appear in valid git branch names, making
// the key unambiguous even when branch names contain hyphens or slashes. For memories
// that target a non-default repository, the target repo is prepended to the branch name
Copy link

Copilot AI Mar 29, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The comment and implementation assume "|" cannot appear in valid git branch names, but git check-ref-format does not forbid | (and our ref validator in pkg/workflow/glob_validation.go only flags spaces, ~, ^, :, [, ?, *, etc.). That means branch names containing | would make this concurrency key ambiguous and could cause unintended collisions. Consider either escaping/encoding branch names before joining, or switching to a delimiter that is guaranteed invalid in ref names (and updating the comment accordingly).

This issue also appears on line 564 of the same file.

Copilot uses AI. Check for mistakes.
@pelikhan
Copy link
Copy Markdown
Collaborator

@copilot Review comments

The "|" separator used between branch name components in the concurrency
group key is not actually forbidden by git check-ref-format, so a
user-supplied explicit branch-name could contain "|" and produce an
ambiguous key.

Introduce encodeConcurrencyKeyPart() which percent-encodes "%" (to
avoid double-encoding) and "|" before the components are joined.
Normal branch names (auto-generated or using plain alphanumeric/hyphen
characters) are unaffected since they contain neither character.

Also rename the "branches with hyphens produce unambiguous keys" test
to "branches with hyphens use pipe separator in key" and update its
comment to describe the current encoding strategy rather than making
an incorrect claim about git ref format rules.  Add a new test case
that explicitly verifies "|" in a branch name is encoded as "%7C".

Agent-Logs-Url: https://github.com/github/gh-aw/sessions/903fc18e-9422-49d3-93a3-dea8cb70e5e5

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented Mar 30, 2026

@copilot Review comments

Addressed in 023e7a0:

  • Encoding: Introduced encodeConcurrencyKeyPart() which percent-encodes % (to prevent double-encoding) and | (the separator) before joining. This makes the separator unambiguous even for user-supplied branch-name values that happen to contain |. Normal compiler-generated branch names (alphanumeric/hyphen/slash) are unaffected.
  • Comment: Removed the incorrect claim that | cannot appear in git branch names; replaced with an explanation of the encoding strategy.
  • Test: Renamed the "produce unambiguous keys" test case to "use pipe separator in key" and applied the suggested clarifying comment. Added a new test case verifying that memory/foo|barmemory/foo%7Cbar in the key.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • https://api.github.com/graphql
    • Triggering command: /usr/bin/gh /usr/bin/gh api graphql -f query=query($owner: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } -f owner=github -f name=gh-aw (http block)
    • Triggering command: /usr/bin/gh /usr/bin/gh api graphql -f query=query($owner: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } -f owner=github -f name=gh-aw 2465735/b260/vetjs/fuzz_mentions_harness.cjs /home/REDACTED/.dotnet/tools/bash git ache�� --show-toplevel nly /usr/bin/git --noprofile (http block)
    • Triggering command: /usr/bin/gh /usr/bin/gh api graphql -f query=query($owner: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } -f owner=github -f name=gh-aw ache/go/1.25.0/xjs/fuzz_mentions_harness.cjs ache/go/1.25.0/x64/pkg/tool/linu--show-toplevel git rev-�� --show-toplevel ache/go/1.25.0/x64/pkg/tool/linux_amd64/vet /usr/bin/git -x c ache/node/24.14.0/x64/lib/node_m--show-toplevel git (http block)
  • https://api.github.com/repos/actions/ai-inference/git/ref/tags/v1
    • Triggering command: /usr/bin/gh gh api /repos/actions/ai-inference/git/ref/tags/v1 --jq .object.sha npx prettier --write &#39;**/*.cjs&#39; &#39;**/*.ts&#39; &#39;**/*.json&#39; --ignore-path ../../../.pr**/*.json -tests /opt/hostedtoolcache/uv/0.11.2/x86_64/sh (http block)
  • https://api.github.com/repos/actions/checkout/git/ref/tags/v3
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v3 --jq .object.sha .js&#39; --ignore-path .prettierignore --log-level=e!../../../pkg/workflow/js/**/*.json 2465735/b211/vet.cfg tions/setup/js/node_modules/.bin/node (http block)
  • https://api.github.com/repos/actions/checkout/git/ref/tags/v5
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq .object.sha ath ../../../.pr**/*.json (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq .object.sha &#34;prettier&#34; --write &#39;../../../**/*.json&#39; &#39;!../../../pkg/workflow/js/**/*.json&#39; --ignore-path ../.git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq .object.sha --show-toplevel 64/pkg/tool/linux_amd64/vet /usr/bin/git get .cfg 64/pkg/tool/linu--show-toplevel git rev-�� --show-toplevel 64/pkg/tool/linux_amd64/vet /usr/bin/git linuxagent-logcogit .cfg x_amd64/compile git (http block)
  • https://api.github.com/repos/actions/checkout/git/ref/tags/v6
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6 --jq .object.sha -bool -buildtags on rkflow/js/**/*.jgit -ifaceassert erignore ls -alF�� /var/log -tests /usr/local/bin/sh ./../.prettieriggit (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6 --jq .object.sha te &#39;../../../**/*.json&#39; &#39;!../../../pkg/workflow/js/**/*.json&#39; --ignore-path ../../../.prettieriggit 2465735/b001/_testmain.go /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/link -errorsas -ifaceassert -nilfunc /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/link -V=f�� -stringintconv -tests /home/REDACTED/work/gh-aw/node_modules/.bin/node (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6 --jq .object.sha --show-toplevel (http block)
  • https://api.github.com/repos/actions/github-script/git/ref/tags/v8
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v8 --jq .object.sha rite &#39;../../../**/*.json&#39; &#39;!../../../pkg/workflow/js/**/*.json&#39; --ignore-path -buildtags /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/vet -errorsas -ifaceassert -nilfunc /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/vet -ato�� -bool -buildtags /opt/hostedtoolcache/uv/0.11.2/x86_64/sh ./../.prettieriggit -ifaceassert -nilfunc sh (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v8 --jq .object.sha -bool -buildtags on rkflow/js/**/*.jgit -ifaceassert erignore /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/compile -o /tmp/go-build1532465735/b376/_pkg_.a -trimpath /home/REDACTED/work/gh-aw/gh-aw/actions/setup/node_modules/.bin/node -p github.com/githurev-parse -lang=go1.25 node (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v8 --jq .object.sha te &#39;../../../**/*.json&#39; &#39;!../../../pkg/workflow/js/**/*.json&#39; --ignore-path ../../../.prettieriggit -buildtags /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/vet -errorsas -ifaceassert -nilfunc /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/vet -ato�� -bool -buildtags /home/REDACTED/node_modules/.bin/node -errorsas -ifaceassert -nilfunc node (http block)
  • https://api.github.com/repos/actions/setup-go/git/ref/tags/v4
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-go/git/ref/tags/v4 --jq .object.sha -bool -buildtags on rkflow/js/**/*.jgit -ifaceassert erignore ls -alF�� /var/lib/waagent -tests /home/REDACTED/work/gh-aw/gh-aw/actions/setup/js/node_modules/.bin/node (http block)
  • https://api.github.com/repos/actions/setup-node/git/ref/tags/v4
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v4 --jq .object.sha -bool -buildtags on rkflow/js/**/*.jgit -ifaceassert erignore ls -alF�� /var/lib/waagent -tests /usr/bin/sh ./../.prettieriggit (http block)
  • https://api.github.com/repos/actions/upload-artifact/git/ref/tags/v4
    • Triggering command: /usr/bin/gh gh api /repos/actions/upload-artifact/git/ref/tags/v4 --jq .object.sha 2465735/b364/_pkg_.a .cfg tions/node_modules/.bin/sh (http block)
  • https://api.github.com/repos/astral-sh/setup-uv/git/ref/tags/eac588ad8def6316056a12d4907a9d4d84ff7a3b
    • Triggering command: /usr/bin/gh gh api /repos/astral-sh/setup-uv/git/ref/tags/eac588ad8def6316056a12d4907a9d4d84ff7a3b --jq .object.sha --show-toplevel /opt/hostedtoolc--jq /usr/bin/git -unreachable=falnode /tmp/go-build153js/fuzz_sanitize_output_harness.cjs 2465735/b272/vet.cfg git rev-�� --show-toplevel /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/vet /usr/bin/git te &#39;**/*.cjs&#39; &#39;*docker /tmp/go-build153image k/gh-aw/gh-aw/acinspect git (http block)
  • https://api.github.com/repos/github/gh-aw
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw --jq .visibility --show-toplevel /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/vet /usr/bin/git -bool -buildtags /node_modules/.b/home/REDACTED/work/gh-aw/gh-aw/.github/workflows git rev-�� --show-toplevel sh r: $owner, name: $name) { hasDiscussionsEnabled } } &#34;prettier&#34; --wridocker -tests /opt/hostedtoolcinspect sed (http block)
  • https://api.github.com/repos/github/gh-aw-actions/git/ref/tags/v0
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v0 --jq .object.sha --show-toplevel /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linu-tests /usr/bin/git (http block)
  • https://api.github.com/repos/github/gh-aw-actions/git/ref/tags/v0.1.2
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v0.1.2 --jq .object.sha rite &#39;../../../**/*.json&#39; &#39;!../../../pkg/workflow/js/**/*.json&#39; --ignore-path ../../../.prettiergit -buildtags /usr/local/sbin/stat -errorsas -ifaceassert -nilfunc stat -f --format=%T /sys/fs/cgroup /opt/hostedtoolcache/node/24.14.0/x64/bin/sh ./../.prettieriggit (http block)
  • https://api.github.com/repos/github/gh-aw-actions/git/ref/tags/v1.0.0
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v1.0.0 --jq .object.sha se 2465735/b024/vet.cfg .cfg (http block)
  • https://api.github.com/repos/github/gh-aw-actions/git/ref/tags/v1.2.3
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v1.2.3 --jq .object.sha se 2465735/b020/vet.cfg .cfg (http block)
  • https://api.github.com/repos/github/gh-aw/git/ref/tags/v0.47.4
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v0.47.4 --jq .object.sha --show-toplevel (http block)
  • https://api.github.com/repos/github/gh-aw/git/ref/tags/v1.0.0
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v1.0.0 --jq .object.sha ignore-path ../../../.prettierignore (http block)
  • https://api.github.com/repos/githubnext/agentics/git/ref/tags/
    • Triggering command: /usr/bin/gh gh api /repos/githubnext/agentics/git/ref/tags/# --jq .object.sha --show-toplevel /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/vet $name) { hasDiscussionsEnabled } } te &#39;**/*.cjs&#39; &#39;*infocmp /tmp/go-build153-1 k/gh-aw/gh-aw/acxterm-color git rev-�� --show-toplevel /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/vet /usr/bin/git rite &#39;../../../*git -buildtags /usr/bin/date git (http block)
  • https://api.github.com/repos/nonexistent/action/git/ref/tags/v999.999.999
    • Triggering command: /usr/bin/gh gh api /repos/nonexistent/action/git/ref/tags/v999.999.999 --jq .object.sha ignore-path ../../../.prettierignore (http block)

If you need me to access, download, or install something from one of these locations, you can either:

@github-actions github-actions bot mentioned this pull request Mar 30, 2026
@pelikhan pelikhan merged commit 95733ba into main Mar 30, 2026
84 checks passed
@pelikhan pelikhan deleted the copilot/fix-repo-memory-push-concurrency branch March 30, 2026 00:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Compiler-generated repo-memory push concurrency is broader than the actual write surface

3 participants