Implement AOT BDD test step definitions with dedicated manual workflow and AOT Guru skill integration#248
Conversation
- Created AssemblyTrimmingSteps.cs with all step definitions for 11 trimming scenarios - Created NativeAOTCompilationSteps.cs with all step definitions for 9 AOT scenarios - Removed @ignore tags and TODO comments from both feature files - Step definitions use ExecutableRunner and build system for validation Co-authored-by: DamianReeves <957246+DamianReeves@users.noreply.github.com>
Changed BeGreaterOrEqualTo to BeGreaterThanOrEqualTo to match FluentAssertions API Co-authored-by: DamianReeves <957246+DamianReeves@users.noreply.github.com>
- Added @slow tags to AOT feature files to indicate long-running tests - Applied dotnet format to fix whitespace issues across E2E tests Co-authored-by: DamianReeves <957246+DamianReeves@users.noreply.github.com>
|
@copilot As these tests help us to know if we are okay to release trimmed or AOT executables they are more awareness or preparation tasks so they should probably run in a separate manually triggered workflow, especially given the length of the test runs. |
- Created manual-aot-test.yml workflow for dedicated AOT testing - Added @manual-only tag to AOT feature files - Updated run-e2e-tests.cs to exclude manual-only tests from CI - Added README documenting AOT test suite and workflow usage - Tests are long-running (45-90 min) and for release preparation Co-authored-by: DamianReeves <957246+DamianReeves@users.noreply.github.com>
Agreed! I've moved the AOT tests to a separate manual workflow in commit bbd5b90. Changes:
The tests now run only when manually triggered (Actions → Manual AOT Testing), keeping CI fast while providing comprehensive AOT validation for release preparation. |
Fixed multi-line expression in runs-on to single-line format for valid YAML syntax Co-authored-by: DamianReeves <957246+DamianReeves@users.noreply.github.com>
|
@copilot We should make sure the AOT Guru skill is aware of these tests, how to run them, when to run them, and can recommend additional tests or changes to the tests or test execution |
- Added comprehensive documentation about AOT/trimming BDD test suite - Documented when to run tests (release preparation, not CI) - Explained how to run tests via manual workflow and locally - Listed all 20 test scenarios with descriptions - Included troubleshooting guide and test modification instructions - Added guidance for recommending additional tests Co-authored-by: DamianReeves <957246+DamianReeves@users.noreply.github.com>
Done in commit 4b0160b! The AOT Guru skill now includes comprehensive documentation about the BDD test suite. What the skill knows:
The skill can now intelligently recommend when to run tests, suggest additional scenarios, and guide on test execution based on context. |
PR #229 added BDD feature files for AOT testing but no step definitions, causing all 20 scenarios to fail with "No matching step definition found". These tests were disabled with
@ignoretags in PR #245.Changes
Step Definitions
AssemblyTrimmingSteps.cs- 11 scenarios covering trimming modes, size reduction, feature switches, resource preservationNativeAOTCompilationSteps.cs- 9 scenarios covering AOT builds, cross-platform targets, runtime validation, performance metricsImplementation Approach
dotnet publishwith scenario-specific MSBuild propertiesartifacts/executables/when available (AOT tests)artifacts/test-builds/{guid}per scenarioValidations
Manual Workflow
manual-aot-test.yml- dedicated GitHub Actions workflow for AOT testing@manual-onlyto exclude from regular CI runsrun-e2e-tests.csto filter out manual-only tests automaticallyDocumentation
README.mdin AOT test directory with usage instructions and troubleshootingAOT Guru Skill Integration
.claude/skills/aot-guru/skill.mdwith comprehensive BDD test documentationThe AOT Guru skill can now intelligently:
Rationale for Manual Workflow
AOT tests are moved to a separate manually triggered workflow because:
This approach keeps CI fast (~minutes) while providing comprehensive AOT validation on-demand for release preparation.
Usage
Manual Workflow (recommended):
Local Execution:
Example
All 20 scenarios now discoverable (41 E2E tests total). Tests execute actual builds to validate trimming/AOT behavior but run only in dedicated manual workflow. The AOT Guru skill has full awareness of the test suite for intelligent guidance on testing strategy.
Original prompt
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.