Skip to content

Replace backwards compat symlinks with copies#341

Merged
strawgate merged 1 commit intomainfrom
remove-symlinks-2
Feb 21, 2026
Merged

Replace backwards compat symlinks with copies#341
strawgate merged 1 commit intomainfrom
remove-symlinks-2

Conversation

@strawgate
Copy link
Collaborator

@strawgate strawgate commented Feb 21, 2026

Summary

This PR replaces backward-compatibility symlinks for renamed lock workflows with full file copies so legacy workflow_call references keep working.

  • Adds generated compatibility copies for legacy workflow names in .github/workflows/.
  • Prepends each compatibility file with a deprecation/migration header that points to the new workflow name.
  • Adds scripts/backwards-compat.sh to regenerate these compatibility copies from the canonical renamed workflow files.
  • Updates make compile to run the compatibility sync script after gh-aw compile.

Legacy → New workflow mapping

  • gh-aw-breaking-change-detect.lock.ymlgh-aw-breaking-change-detector.lock.yml
  • gh-aw-docs-drift.lock.ymlgh-aw-docs-patrol.lock.yml
  • gh-aw-pr-ci-detective.lock.ymlgh-aw-pr-actions-detective.lock.yml
  • gh-aw-test-improvement.lock.ymlgh-aw-test-improver.lock.yml

Operational note

The legacy filenames now contain generated copies (not links) and include a deprecation banner indicating they will be removed in a future release.

Generated by Update PR Body

@strawgate strawgate changed the title replace backwards compat symlinks with copies Replace backwards compat symlinks with copies Feb 21, 2026
@coderabbitai
Copy link

coderabbitai bot commented Feb 21, 2026

Caution

Review failed

Failed to post review comments

📝 Walkthrough

Walkthrough

Replaces four deprecated workflow files with new, full-featured GitHub Actions manifests and adds a build-invoked script that generates backwards-compatible copies at the old workflow filenames with deprecation headers.

Changes

Cohort / File(s) Summary
Renamed / Replaced Workflows
.github/workflows/gh-aw-breaking-change-detect.lock.yml, .github/workflows/gh-aw-docs-drift.lock.yml, .github/workflows/gh-aw-pr-ci-detective.lock.yml, .github/workflows/gh-aw-test-improvement.lock.yml
Replaced deprecated manifests with comprehensive multi-job workflows (activation, agent, detection, pre_activation, safe_outputs, conclusion). Each workflow includes Copilot/agent invocation, MCP gateway/server orchestration, prompt generation, secret redaction, artifact handling, and deprecation headers directing users to new filenames.
Backwards-compatibility script & build change
Makefile, scripts/backwards-compat.sh
Added scripts/backwards-compat.sh that writes deprecated-name copies containing a deprecation header plus the new workflow content; updated Makefile compile target to run this script post-compile to produce legacy-path copies automatically.

Sequence Diagram(s)

sequenceDiagram
    participant GH as GitHub Actions Workflow
    participant Runner as Runner (job steps)
    participant Repo as Repository files/artifacts
    participant MCP as MCP Gateway/Server
    participant Agent as Copilot CLI / Agent
    participant Issues as Issue Tracker / Reporting

    GH->>Runner: start multi-job workflow (activation → agent → detection → safe_outputs → conclusion)
    Runner->>Repo: checkout code & prompts, collect artifacts
    Runner->>MCP: bootstrap gateway/server, exchange tokens
    Runner->>Agent: provision prompt, run Copilot CLI in sandbox
    Agent->>MCP: send/receive safe_outputs payloads
    Agent->>Repo: upload agent outputs/artifacts
    Runner->>Issues: create issue / comment / report based on safe_outputs and detection results
    Runner->>GH: upload logs & summary artifacts
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~75 minutes

Possibly related PRs

Suggested reviewers

  • github-actions

Poem

🐰
Old names sleep while new ones play,
I patch the paths so hops stay.
A deprecation note, a gentle cheer,
Backwards-compat keeps things clear.
Pipelines bloom — no breaks this year.

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main change: replacing backwards compatibility symlinks with file copies, which is implemented through the new backwards-compat.sh script and updated Makefile.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
  • 📝 Generate docstrings (stacked PR)
  • 📝 Generate docstrings (commit on current branch)
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch remove-symlinks-2

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In @.github/workflows/gh-aw-breaking-change-detect.lock.yml:
- Around line 1-5: The checkout error is caused because
.github/workflows/gh-aw-breaking-change-detect.lock.yml is currently a tracked
symlink; replace it with a real generated file by running the generator and
backwards-compat script and committing the result: run `gh aw compile` to
regenerate the .lock.yml files from the source .md, then run
`scripts/backwards-compat.sh` to produce the backwards-compat copy for
gh-aw-breaking-change-detect.lock.yml, verify the generated
.github/workflows/gh-aw-breaking-change-detect.lock.yml is a regular file (not a
symlink), remove the symlink entry from git if necessary, add and commit the new
file so CI checkout no longer fails.

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.

1 participant