Overview
This tracking issue covers the refactoring of the gh-aw compiler to store JavaScript code as custom GitHub Actions instead of embedding it inline in compiled workflows. This will reduce workflow file size, improve maintainability, and enable better code organization.
Source: Issue #5946
Current State
Currently, the compiler embeds ~200+ JavaScript files (.cjs) from pkg/workflow/js/ directly into compiled workflow files using actions/github-script. This results in very large workflow files with embedded JavaScript code.
Goals
- Store all JavaScript as pre-compiled custom actions in the repository
- Configure each JavaScript module as a standalone JavaScript custom action with
action.yml
- Update compiler to emit references to local actions (development) or pinned SHA (release mode)
- Generate
action.yml and README for each required action
- Maintain backward compatibility during transition
Planned Sub-Issues
- #aw_5946task001 - Create actions directory structure and tooling
- #aw_5946task002 - Update compiler to support custom action references
- #aw_5946task003 - Generate action.yml files for existing JavaScript modules
- #aw_5946task004 - Implement development vs release mode action references
- #aw_5946task005 - Migrate bundler and script registry to use custom actions
Success Criteria
AI generated by Plan Command for #5946
Overview
This tracking issue covers the refactoring of the gh-aw compiler to store JavaScript code as custom GitHub Actions instead of embedding it inline in compiled workflows. This will reduce workflow file size, improve maintainability, and enable better code organization.
Source: Issue #5946
Current State
Currently, the compiler embeds ~200+ JavaScript files (
.cjs) frompkg/workflow/js/directly into compiled workflow files usingactions/github-script. This results in very large workflow files with embedded JavaScript code.Goals
action.ymlaction.ymland README for each required actionPlanned Sub-Issues
Success Criteria
actions/directoryaction.yml, bundled JavaScript, and README./actions/action-name)Related to Custom actions #5946