Skip to content

[aw-compat] Missing codemod: serena migration leaves workflows broken (missing required languages param) #28700

@github-actions

Description

@github-actions

Problem

gh aw fix --write includes a codemod that migrates the deprecated tools: [serena] syntax to the new imports: syntax. However, the migration is incomplete: it omits the mandatory languages parameter required by the serena import schema, leaving the workflow in a broken state that still fails compilation.

This affects 2 high-star repositories (storybookjs/storybook and microsoft/FluidFramework) and likely others not yet in the candidate pool.

Before fix (tools syntax — now deprecated, triggers migration)

tools:
  - serena

After gh aw fix --write (broken — missing required with input)

imports:
  - github/gh-aw/.github/workflows/shared/mcp/serena.md@main

Compile error after fix

import 'github/gh-aw/.github/workflows/shared/mcp/serena.md@main':
  required 'with' input "languages" is missing (declared in import-schema)

Correct post-migration form

imports:
  - github/gh-aw/.github/workflows/shared/mcp/serena.md@main
    with:
      languages: "TypeScript,JavaScript"   # Required: comma-separated language list

Proposed Codemod Fix

The serena migration codemod should be extended to handle the languages requirement:

Option A — Auto-detect from repository: Inspect file extensions in .github/workflows/*.md or from repository context to infer languages, and populate languages automatically.

Option B — Safe placeholder: When auto-detection isn't possible, emit a placeholder with a compile-time warning:

imports:
  - github/gh-aw/.github/workflows/shared/mcp/serena.md@main
    with:
      languages: ""  # TODO: set comma-separated languages (e.g. "TypeScript,Python")

Option C — Fail loudly: Instead of silently producing broken output, have the codemod emit a clear error message explaining that languages must be manually specified, rather than completing the migration with a missing required field.

Affected Repositories

Repository Stars Workflow File
storybookjs/storybook 89,805 duplicate-code-detector.md
microsoft/FluidFramework 4,921 duplicate-code-detector.md

Both repos use a workflow named duplicate-code-detector.md that imports serena for code analysis. Both fail with the identical error after gh aw fix --write.

Secondary Suggestion: env-section secrets codemod

A related but separate codemod candidate (1 repo so far, below threshold): Azure/azure-rest-api-specs uses $\{\{ secrets.GITHUB_PERSONAL_ACCESS_TOKEN }} directly in the env section. A codemod that detects secrets in env blocks and suggests migration to engine-specific secrets config would help users who encounter this strict-mode error.

References: §24991840104

Generated by Daily AW Cross-Repo Compile Check · ● 758.3K ·

  • expires on May 4, 2026, 11:32 AM UTC

Metadata

Metadata

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions