Skip to content

fix: preserve uses version comments and ordered step fields in injectProxyEnvIntoCustomSteps#26357

Merged
lpcox merged 10 commits intomainfrom
copilot/fix-code-for-review-comments
Apr 15, 2026
Merged

fix: preserve uses version comments and ordered step fields in injectProxyEnvIntoCustomSteps#26357
lpcox merged 10 commits intomainfrom
copilot/fix-code-for-review-comments

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Apr 15, 2026

injectProxyEnvIntoCustomSteps (introduced in #26322) re-marshaled custom steps via yaml.MarshalWithOptions(map[string]any{...}), which stripped inline # vX comments from uses: lines and serialized fields alphabetically (env: before name:/uses:). This caused gh-aw-manifest to record bare SHAs instead of human-readable tags, and produced noisy diffs in compiled lock files.

Changes

  • Preserve version comments: Extract # vX annotations from uses: lines before yaml.Unmarshal (which strips comments), then re-apply them to the uses value post-processing — same pattern as DeduplicateRuntimeSetupStepsFromCustomSteps.
  • Stable field ordering: Convert each step to OrderMapFields(constants.PriorityStepFields) before marshaling so name/uses stay ahead of env.
  • Unquote uses values: Call unquoteUsesWithComments on the result since the YAML marshaller quotes strings containing #.
  • Tests: Add cases for version comment round-trip preservation (unquoted), name-before-env ordering, and proxy routing var precedence over conflicting user-defined values.
  • Lock files: Recompile all affected workflows; actions/upload-artifact and github/stale-repos manifest entries now record "version":"v7" / "version":"v9.0.8" instead of SHA strings, and uses: lines regain their # vX annotations.
  • ADR-26322: Finalized status (Draft → Accepted), removed draft footer, and corrected the normative requirement — proxy routing vars (GH_HOST, GH_REPO, GITHUB_API_URL, GITHUB_GRAPHQL_URL, NODE_EXTRA_CA_CERTS) intentionally overwrite any user-defined values for those keys to guarantee correct proxy routing; all other step env vars are preserved.

Before/after in compiled lock file:

# Before (comment stripped, env before name)
- env:
    GH_HOST: localhost:18443
    ...
  name: Upload source files and data
  uses: actions/upload-artifact@043fb46d... # version lost → manifest: "version":"043fb46d..."

# After (comment preserved, name before env)
- name: Upload source files and data
  uses: actions/upload-artifact@043fb46d... # v7
  env:
    GH_HOST: localhost:18443
    ...
  # manifest: "version":"v7"

Copilot AI and others added 4 commits April 14, 2026 23:09
- Remove GH_HOST, GITHUB_API_URL, GITHUB_GRAPHQL_URL, NODE_EXTRA_CA_CERTS,
  GH_AW_ORIGINAL_* writes from start_difc_proxy.sh
- Remove all GITHUB_ENV restore/clear logic from stop_difc_proxy.sh
- Add injectProxyEnvIntoCustomSteps() in compiler_difc_proxy.go that uses
  YAML parse+reserialize to add proxy env vars as step-level env on each
  custom step (preserving existing env vars like GH_TOKEN)
- Remove generateSetGHRepoAfterDIFCProxyStep() standalone step; GH_REPO
  is now included in the per-step env block
- Inject proxy env into custom steps in compiler_yaml_main_job.go when
  hasDIFCProxyNeeded returns true
- Update tests: replace TestBuildSetGHRepoStepYAML/TestGenerateSetGHRepo
  with TestProxyEnvVars/TestInjectProxyEnvIntoCustomSteps; update
  TestDIFCProxyStepOrderInCompiledWorkflow for new behavior
- Recompile 4 affected workflow lock files

Agent-Logs-Url: https://github.com/github/gh-aw/sessions/c3114091-8d7b-4283-8647-91185fd5eb60

Co-authored-by: lpcox <15877973+lpcox@users.noreply.github.com>
… proxy

Generated by the Design Decision Gate workflow (run #24431428234).
The PR makes >100 new lines of changes to pkg/workflow/ without a linked ADR.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Copilot AI and others added 3 commits April 15, 2026 03:07
…for-review-comments

Co-authored-by: lpcox <15877973+lpcox@users.noreply.github.com>
…omments and use ordered fields

Agent-Logs-Url: https://github.com/github/gh-aw/sessions/4e545256-bb6a-4606-be79-362d0f6dcd96

Co-authored-by: lpcox <15877973+lpcox@users.noreply.github.com>
…ProxyEnvIntoCustomSteps

Agent-Logs-Url: https://github.com/github/gh-aw/sessions/4e545256-bb6a-4606-be79-362d0f6dcd96

Co-authored-by: lpcox <15877973+lpcox@users.noreply.github.com>
Copilot AI changed the title [WIP] Fix code based on review comments from pull request 26322 fix: preserve uses version comments and ordered step fields in injectProxyEnvIntoCustomSteps Apr 15, 2026
Copilot AI requested a review from lpcox April 15, 2026 03:24
@lpcox lpcox marked this pull request as ready for review April 15, 2026 04:02
Copilot AI review requested due to automatic review settings April 15, 2026 04:02
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 fixes DIFC proxy custom-step env injection so compiled workflows preserve inline uses: version comments and keep a stable, reviewer-friendly step field order (e.g., name/uses before injected env), reducing noisy lockfile diffs and restoring human-readable action versions for manifest generation.

Changes:

  • Update main-job step emission to inject DIFC proxy routing env vars into custom steps (step-level env) before rendering.
  • Rework injectProxyEnvIntoCustomSteps to preserve uses: ... # vX comments, enforce step field ordering, and unquote uses values after YAML re-marshaling.
  • Update DIFC proxy scripts/tests and recompile affected workflow lock files to reflect the new stable output.
Show a summary per file
File Description
pkg/workflow/compiler_yaml_main_job.go Emits custom steps via a proxy-env-injected YAML when DIFC proxy is active.
pkg/workflow/compiler_difc_proxy.go Implements step YAML round-trip that preserves uses version comments and orders step fields before marshaling.
pkg/workflow/compiler_difc_proxy_test.go Updates tests to validate env injection, ordering, and uses # vX comment preservation/unquoting.
actions/setup/sh/start_difc_proxy.sh Removes $GITHUB_ENV writes; start script becomes lifecycle-only per step-scoped env design.
actions/setup/sh/stop_difc_proxy.sh Removes $GITHUB_ENV restore/clear logic; stop script becomes lifecycle-only.
docs/adr/26322-step-scoped-env-injection-for-difc-proxy.md Adds ADR documenting step-scoped env injection approach and rationale.
.mcp.json Adds MCP server configuration for gh aw mcp-server.
.github/workflows/stale-repo-identifier.lock.yml Recompiled to reflect stable step ordering and restored uses # vX comments.
.github/workflows/issue-arborist.lock.yml Recompiled to reflect stable step ordering and injected proxy env.
.github/workflows/daily-issues-report.lock.yml Recompiled to reflect stable step ordering and injected proxy env.
.github/workflows/contribution-check.lock.yml Recompiled to reflect stable step ordering and injected proxy env.

Copilot's findings

Tip

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

  • Files reviewed: 11/11 changed files
  • Comments generated: 4

Comment on lines +58 to +61
1. When the DIFC proxy is active for a main-job workflow, implementations **MUST** inject proxy routing env vars (`GH_HOST`, `GH_REPO`, `GITHUB_API_URL`, `GITHUB_GRAPHQL_URL`, `NODE_EXTRA_CA_CERTS`) as step-level `env:` blocks on each custom step.
2. Implementations **MUST NOT** write proxy routing env vars to `$GITHUB_ENV` (the runner's persistent env file) for the purpose of routing custom steps through the proxy.
3. Implementations **MUST** preserve existing step-level env vars (e.g. `GH_TOKEN`) when injecting proxy vars; proxy vars **MUST NOT** overwrite user-defined env vars that share the same key.
4. If YAML parsing of the custom steps string fails, implementations **SHOULD** log the error and return the original custom steps string unchanged rather than aborting compilation.
Copy link

Copilot AI Apr 15, 2026

Choose a reason for hiding this comment

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

ADR normative requirement says proxy vars MUST NOT overwrite user-defined step env values that share the same key, but the current proxy env injection implementation overwrites any existing values for GH_HOST/GH_REPO/GITHUB_API_URL/GITHUB_GRAPHQL_URL/NODE_EXTRA_CA_CERTS. Please reconcile the ADR with the intended behavior (either update the ADR requirement or change the merge logic so existing values win).

Copilot uses AI. Check for mistakes.
Comment on lines +3 to +6
**Date**: 2026-04-15
**Status**: Draft
**Deciders**: lpcox, Copilot

Copy link

Copilot AI Apr 15, 2026

Choose a reason for hiding this comment

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

This ADR is marked Status: Draft and includes a note that it must be reviewed and finalized before the PR can merge. Please update the status/metadata (and remove or revise the draft-only footer) so the document reflects a finalized decision before merge.

Copilot uses AI. Check for mistakes.
Comment on lines +351 to +358
envMap, ok := step["env"].(map[string]any)
if !ok {
envMap = make(map[string]any)
}
for k, v := range proxyEnv {
envMap[k] = v
}
step["env"] = envMap
Copy link

Copilot AI Apr 15, 2026

Choose a reason for hiding this comment

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

injectProxyEnvIntoCustomSteps unconditionally assigns proxy env keys into the step env map, which will overwrite any user-provided values for those same keys. If overwriting is intentional for routing, it should be explicitly documented and tested; if not intentional, change the merge so existing step env values take precedence and only missing keys are added.

Copilot uses AI. Check for mistakes.
"github": map[string]any{"min-integrity": "approved"},
desc: "existing env var GH_TOKEN should be preserved alongside proxy vars",
},
{
Copy link

Copilot AI Apr 15, 2026

Choose a reason for hiding this comment

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

The test suite doesn't currently cover the conflict case where a custom step already sets one of the proxy routing env keys (e.g., GH_HOST/GITHUB_API_URL). Add a test case that asserts the intended precedence (overwrite vs preserve) so future refactors don't accidentally change routing behavior.

Suggested change
{
{
name: "conflicting proxy routing env vars are overwritten by proxy values",
customSteps: "steps:\n- name: Step with conflicting proxy env\n env:\n GH_TOKEN: ${{ github.token }}\n GH_HOST: example.com\n GITHUB_API_URL: https://example.com/api/v3\n run: gh issue list\n",
expectedContains: []string{
"GH_TOKEN: ${{ github.token }}",
"GH_HOST: localhost:18443",
"GITHUB_API_URL: https://localhost:18443/api/v3",
"GH_REPO: ${{ github.repository }}",
"GITHUB_GRAPHQL_URL: https://localhost:18443/api/graphql",
"NODE_EXTRA_CA_CERTS: /tmp/gh-aw/proxy-logs/proxy-tls/ca.crt",
},
expectedAbsent: []string{
"GH_HOST: example.com",
"GITHUB_API_URL: https://example.com/api/v3",
},
desc: "proxy routing env vars should take precedence over conflicting custom values",
},
{

Copilot uses AI. Check for mistakes.
@github-actions
Copy link
Copy Markdown
Contributor

🧪 Test Quality Sentinel Report

Test Quality Score: 90/100

Excellent

Metric Value
New/modified tests analyzed 3
✅ Design tests (behavioral contracts) 3 (100%)
⚠️ Implementation tests (low value) 0 (0%)
Tests with error/edge cases 2 (67%)
Duplicate test clusters 0
Test inflation detected No (ratio 1.65:1 < 2:1 threshold)
🚨 Coding-guideline violations None

Test Classification Details

Test File Classification Issues Detected
TestDIFCProxyStepOrderInCompiledWorkflow pkg/workflow/compiler_difc_proxy_test.go:406 ✅ Design None — updates negative assertions and ordering invariants to reflect new step-level env injection behavior
TestProxyEnvVars pkg/workflow/compiler_difc_proxy_test.go:649 ✅ Design No error/edge case — pure happy path; all assertions have descriptive messages
TestInjectProxyEnvIntoCustomSteps pkg/workflow/compiler_difc_proxy_test.go:663 ✅ Design Table-driven (7 sub-cases); includes empty-string edge case and YAML-quoting edge case

Analysis Detail

📋 Per-Test Breakdown

TestDIFCProxyStepOrderInCompiledWorkflow (modified)

Compiles a real workflow with DIFC proxy and min-integrity settings, then makes assertions on the compiled YAML output. The change updated the test to:

  • Assert the standalone Set GH_REPO step is no longer emitted (assert.NotContains)
  • Assert each expected proxy env var appears as step-level env in the custom step
  • Assert step ordering invariants: Start proxy → custom step → Stop proxy

Design invariant: Verifies the observable output of the compiler changes — the compiled YAML must contain step-level env injection instead of a shared job-level step. High value if deleted.

TestProxyEnvVars (new, replaces TestBuildSetGHRepoStepYAML)

Tests that proxyEnvVars() returns a map with exactly 5 entries and the correct values for all proxy routing variables (GH_HOST, GH_REPO, GITHUB_API_URL, GITHUB_GRAPHQL_URL, NODE_EXTRA_CA_CERTS).

Design invariant: Verifies the exact set of environment variables that will be injected into custom steps. A change to any proxy address or CA cert path would be caught. All 7 assertions have descriptive messages. Only minor note: no edge case (the function always returns a fixed map), but this is appropriate given the function's nature.

TestInjectProxyEnvIntoCustomSteps (new, replaces TestGenerateSetGHRepoAfterDIFCProxyStep)

Table-driven test with 7 sub-cases covering:

  1. Empty input → empty output (edge case ✅)
  2. Step without env → proxy env block added
  3. Step with existing env → both preserved (composition invariant ✅)
  4. Multiple steps → each gets proxy env
  5. uses: step → also gets proxy env
  6. Multiline run: → preserved after injection
  7. Pinned SHA + version comment (# v7) → preserved, unquoted after YAML round-trip (YAML-quoting edge case ✅)
  8. Field ordering → name: appears before env: in output (ordering invariant)

Assertions use tt.desc as the context argument — readable failure messages throughout. All 8 scenarios test observable output, not internal structure.


Language Support

Tests analyzed:

  • 🐹 Go (*_test.go): 3 tests — unit (//go:build !integration) ✅
  • 🟨 JavaScript (*.test.cjs, *.test.js): 0 tests changed

Verdict

Check passed. 0% of new tests are implementation tests (threshold: 30%). All three tests verify observable behavioral contracts. The replacement of the buildSetGHRepoStepYAML/generateSetGHRepoAfterDIFCProxyStep approach with proxyEnvVars + injectProxyEnvIntoCustomSteps is well-covered by the new tests, including the tricky YAML version-comment and field-ordering invariants.


📖 Understanding Test Classifications

Design Tests (High Value) verify what the system does:

  • Assert on observable outputs, return values, or state changes
  • Cover error paths and boundary conditions
  • Would catch a behavioral regression if deleted
  • Remain valid even after internal refactoring

Implementation Tests (Low Value) verify how the system does it:

  • Assert on internal function calls (mocking internals)
  • Only test the happy path with typical inputs
  • Break during legitimate refactoring even when behavior is correct
  • Give false assurance: they pass even when the system is wrong

Goal: Shift toward tests that describe the system's behavioral contract — the promises it makes to its users and collaborators.


References: §24435732361

🧪 Test quality analysis by Test Quality Sentinel · ● 496.1K ·

Copy link
Copy Markdown
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

✅ Test Quality Sentinel: 90/100. Test quality is excellent — 0% of new tests are implementation tests (threshold: 30%). All three changed/added tests verify observable behavioral contracts, including the YAML version-comment preservation and field-ordering invariants.

…env injection

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown
Contributor

Commit pushed: 5ea82f1

🏗️ ADR gate enforced by Design Decision Gate 🏗️

@github-actions
Copy link
Copy Markdown
Contributor

🏗️ Design Decision Gate — ADR Required

This PR makes significant changes to core business logic (pkg/) with 285 new lines (exceeding the 100-line threshold) but does not have a linked Architecture Decision Record (ADR).

AI has analyzed the PR diff and generated a draft ADR to help you get started:

📄 Draft ADR: docs/adr/26357-yaml-round-trip-fidelity-for-proxy-env-injection.md

The draft captures the three design decisions implicit in this fix:

  • Pre-extraction pattern for version comment preservation — extracting # vX annotations before yaml.Unmarshal strips them, then re-applying them post-processing (same pattern as DeduplicateRuntimeSetupStepsFromCustomSteps)
  • Ordered field serialization — using OrderMapFields(constants.PriorityStepFields) for stable name/uses-before-env ordering
  • Post-serialization unquoting — calling unquoteUsesWithComments because goccy/go-yaml quotes strings containing #

What to do next

  1. Review the draft ADR committed to your branch — it was generated from the PR diff
  2. Complete the missing sections — add context the AI couldn't infer, refine the decision rationale, and list real alternatives you considered
  3. Reference the ADR in this PR body by adding a line such as:

    ADR: ADR-26357: YAML Round-Trip Fidelity for Proxy Env Injection Steps

Once an ADR is linked in the PR body, this gate will re-run and verify the implementation matches the decision.

Why ADRs Matter

"AI made me procrastinate on key design decisions. Because refactoring was cheap, I could always say 'I'll deal with this later.' Deferring decisions corroded my ability to think clearly."

ADRs create a searchable, permanent record of why the codebase looks the way it does. Future contributors (and your future self) will thank you.


📋 Michael Nygard ADR Format Reference

An ADR must contain these four sections to be considered complete:

  • Context — What is the problem? What forces are at play?
  • Decision — What did you decide? Why?
  • Alternatives Considered — What else could have been done?
  • Consequences — What are the trade-offs (positive and negative)?

All ADRs are stored in docs/adr/ as Markdown files numbered by PR number (e.g., 26357-yaml-round-trip-fidelity-for-proxy-env-injection.md for PR #26357).

🔒 This PR cannot merge until an ADR is linked in the PR body.

References: §24435732366

Note

🔒 Integrity filter blocked 1 item

The following item were blocked because they don't meet the GitHub integrity level.

To allow these resources, lower min-integrity in your GitHub frontmatter:

tools:
  github:
    min-integrity: approved  # merged | approved | unapproved | none

🏗️ ADR gate enforced by Design Decision Gate 🏗️ · ● 224K ·

@lpcox
Copy link
Copy Markdown
Collaborator

lpcox commented Apr 15, 2026

@copilot resolve the merge conflicts in this pull request

Copy link
Copy Markdown
Contributor Author

Copilot AI commented Apr 15, 2026

@copilot resolve the merge conflicts in this pull request

Merge conflicts resolved in 89a6106. Also took the opportunity to address the reviewer feedback in the same commit:

  • ADR-26322 status updated from Draft → Accepted, draft footer removed, and the contradictory MUST NOT overwrite requirement corrected (proxy routing vars intentionally overwrite user values to guarantee correct routing)
  • Added a test case documenting that GH_HOST/GITHUB_API_URL etc. take precedence over user-defined values for those same keys

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)
  • 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 &#34;prettier&#34; --write &#39;scripts/**/*.js&#39; --ignore-path .prettierignore --log-level=error (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 *.json&#39; &#39;!../../../pkg/workflow/js/**/*.json&#39; --ignore-path ../../../.prettierignore (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 h ../../../.prettierignore (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq .object.sha --show-toplevel (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 ../pkg/workflow/git pull.rebase bin/sh git rev-�� --show-toplevel ache/go/1.25.8/x64/pkg/tool/linux_amd64/vet /usr/bin/git &#39;**/*.ts&#39; &#39;**/*.git 5440168/b030/vetrev-parse .cfg git (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 --show-toplevel x_amd64/vet /usr/bin/git (http block)
  • https://api.github.com/repos/actions/github-script/git/ref/tags/v9
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v9 --jq .object.sha -bool -buildtags /usr/local/.ghcup/bin/sh ./../.prettieriggit -ifaceassert -nilfunc sh -c &#34;prettier&#34; --write &#39;**/*.cjs&#39; &#39;**/*.ts&#39; &#39;**/*.json&#39; --ignore-path ../../../.pret.prettierignore -tests /opt/pipx_bin/sh (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v9 --jq .object.sha --noprofile -tests /home/REDACTED/work/gh-aw/gh-aw/actions/setup/js/node_modules/.bin/node ./../.prettieriggit (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v9 --jq .object.sha --noprofile -tests /home/REDACTED/work/gh-aw/gh-aw/node_modules/.bin/node ./../.prettieriggit (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 --noprofile (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 --noprofile (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 HEAD (http block)
  • https://api.github.com/repos/actions/upload-artifact/git/ref/tags/v7
    • Triggering command: /usr/bin/gh gh api /repos/actions/upload-artifact/git/ref/tags/v7 --jq .object.sha w/js/**/*.json&#39; --ignore-path (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/upload-artifact/git/ref/tags/v7 --jq .object.sha llector.slice --global 64/pkg/tool/linux_amd64/vet http.https://gitgit (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/upload-artifact/git/ref/tags/v7 --jq .object.sha --get-regexp --local 64/pkg/tool/linux_amd64/vet (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 0854716/b001/workflow.test -buildtags 0854716/b001/importcfg.link ./../.prettieriggit -ifaceassert -nilfunc XmVsCIqyRhUEm/rW0QAqiGxJZbQr06rBbx/-LTo53w_a2vBMnl5Jwd0/8XHnIFqXmVsCIqyRhUEm -c ry=1 -tests che/go-build/78/7830ab03566acf48804afed217e63e724db8a11c8103c75ebe11cb71f23bfbb6-d (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 */*.ts&#39; &#39;**/*.json&#39; --ignore-path ../../../.prettierignore 5440168/b042/vet.cfg 1/x64/bin/node (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 */*.ts&#39; &#39;**/*.json&#39; --ignore-path ../../../.prettierignore 5440168/b051/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 x_amd64/vet /usr/bin/git ath ../../../.prgit (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 (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 (http block)

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

@lpcox
Copy link
Copy Markdown
Collaborator

lpcox commented Apr 15, 2026

@copilot resolve the merge conflicts in this pull request

…review-comments

# Conflicts:
#	.github/workflows/contribution-check.lock.yml
#	.github/workflows/daily-issues-report.lock.yml
#	.github/workflows/issue-arborist.lock.yml
#	.github/workflows/stale-repo-identifier.lock.yml
#	docs/adr/26322-step-scoped-env-injection-for-difc-proxy.md
#	pkg/workflow/compiler_difc_proxy.go
#	pkg/workflow/compiler_difc_proxy_test.go

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

Copilot AI commented Apr 15, 2026

@copilot resolve the merge conflicts in this pull request

Merge conflicts resolved in a56061c — this is now a proper merge commit (two parents: our branch + origin/main).

@lpcox lpcox merged commit 091b907 into main Apr 15, 2026
@lpcox lpcox deleted the copilot/fix-code-for-review-comments branch April 15, 2026 04:28
Copilot stopped work on behalf of lpcox due to an error April 15, 2026 04:28
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.

3 participants