Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Feb 4, 2026

Parallel integration test jobs were failing during cache restoration with "File exists" tar errors. All jobs shared the same cache key, causing extraction conflicts when running simultaneously.

Changes

Cache key uniqueness

  • Added matrix.test-group.name to integration job cache keys
  • Prevents simultaneous cache writes from conflicting
  • Maintains cache efficiency through restore-keys fallback
# Before: all integration jobs shared this key
key: ${{ runner.os }}-go-modules-${{ hashFiles('**/go.sum') }}

# After: each test group has unique key
key: ${{ runner.os }}-go-modules-${{ matrix.test-group.name }}-${{ hashFiles('**/go.sum') }}
restore-keys: |
  ${{ runner.os }}-go-modules-${{ matrix.test-group.name }}-
  ${{ runner.os }}-go-modules-

Scope

  • Only affects integration job matrix (53 parallel jobs)
  • Other jobs already use unique keys via runner.os or run serially

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/repos/github/gh-aw/actions/jobs/62451550971/logs
    • Triggering command: /usr/bin/curl curl -s -L -H Accept: application/vnd.github+json -H Authorization: ****** --gdwarf-5 --64 -o x_amd64/compile -I g/cli/.github/workflows o x_amd64/compile --gdwarf-5 --64 -o x_amd64/compile (http block)

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

Original prompt

Fix the failing GitHub Actions workflow Integration: CLI Completion & Other
Analyze the workflow logs, identify the root cause of the failure, and implement a fix.
Job ID: 62451550971
Job URL: https://github.com/github/gh-aw/actions/runs/21662949681/job/62451550971


💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

Add unique cache keys per test group to prevent parallel jobs from conflicting during cache restoration. Each job now has its own cache entry based on the test group name, avoiding "File exists" errors when multiple jobs try to extract the same cache simultaneously.

The fix maintains cache sharing through restore-keys, allowing jobs to fallback to other caches if their specific cache isn't found.

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
@pelikhan pelikhan marked this pull request as ready for review February 4, 2026 08:01
Copilot AI review requested due to automatic review settings February 4, 2026 08:01
Copy link
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

Fixes a CI cache race condition in the Integration: CLI Completion & Other GitHub Actions job by scoping Go module caches per test group in the integration test matrix.

Changes:

  • Updated the Go modules cache key in the integration job to include ${{ matrix.test-group.name }} so each test group uses a distinct cache entry.
  • Added a group-specific restore-keys prefix while retaining a generic Go modules fallback cache to preserve reuse where possible.

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

Copilot AI changed the title [WIP] Fix failing GitHub Actions workflow for CLI completion Fix cache race condition in parallel integration tests Feb 4, 2026
Copilot AI requested a review from pelikhan February 4, 2026 08:03
@pelikhan pelikhan merged commit 86268f6 into main Feb 4, 2026
12 checks passed
@pelikhan pelikhan deleted the copilot/fix-github-actions-workflow-c93e28a9-eab6-4537-9c7b-ea4ddc0e3a4a branch February 4, 2026 12:10
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.

2 participants