Objective
Enable actionlint to process multiple workflow files in a single Docker run for 2-3x faster validation.
Context
Currently, actionlint runs sequentially with one Docker container per file. The actionlint CLI supports multiple files as arguments, allowing batch processing.
Current flow: docker run ... file1.yml → docker run ... file2.yml → docker run ... file3.yml
Improved flow: docker run ... file1.yml file2.yml file3.yml
Approach
- Modify
runActionlintOnFile() in pkg/cli/actionlint.go to accept multiple files
- Update the calling code to batch all workflow files into a single execution
- Ensure JSON output parsing handles multi-file results correctly
- Update error display to show which file each error came from
- Maintain timeout protection (may need to adjust based on file count)
Files to Modify
- Update:
pkg/cli/actionlint.go - Modify Docker execution logic
- Update:
pkg/cli/compile_command.go - Batch files before calling actionlint
- Update:
pkg/cli/actionlint_test.go - Add multi-file test cases
Acceptance Criteria
Performance Impact
Expected: 2-3x faster for projects with multiple workflows (eliminates Docker startup overhead per file)
Related to #7648
AI generated by Plan Command for discussion #7472
Objective
Enable actionlint to process multiple workflow files in a single Docker run for 2-3x faster validation.
Context
Currently, actionlint runs sequentially with one Docker container per file. The actionlint CLI supports multiple files as arguments, allowing batch processing.
Current flow:
docker run ... file1.yml→docker run ... file2.yml→docker run ... file3.ymlImproved flow:
docker run ... file1.yml file2.yml file3.ymlApproach
runActionlintOnFile()inpkg/cli/actionlint.goto accept multiple filesFiles to Modify
pkg/cli/actionlint.go- Modify Docker execution logicpkg/cli/compile_command.go- Batch files before calling actionlintpkg/cli/actionlint_test.go- Add multi-file test casesAcceptance Criteria
Performance Impact
Expected: 2-3x faster for projects with multiple workflows (eliminates Docker startup overhead per file)
Related to #7648