Fix /create-issue workflow: parsing, error handling, speed, and testing#15972
Fix /create-issue workflow: parsing, error handling, speed, and testing#15972radical wants to merge 7 commits intomicrosoft:mainfrom
Conversation
|
🚀 Dogfood this PR with:
curl -fsSL https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.sh | bash -s -- 15972Or
iex "& { $(irm https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.ps1) } 15972" |
|
/create-issue |
|
No test failures were found. Use 📋 Creates or updates a failing-test issue from CI failures. |
|
/create-issue --url https://github.com/microsoft/aspire/actions/runs/24155707576 |
|
No test failures were found. Use 📋 Creates or updates a failing-test issue from CI failures. |
8eb6fec to
6f700dd
Compare
|
/create-issue |
|
No test failures were found. Use 📋 Creates or updates a failing-test issue from CI failures. |
6f700dd to
7dc7e66
Compare
- Remove --no-restore from dotnet build (fix NETSDK1004) - Add workflow_dispatch trigger for testing from any branch - Make workflow steps handle both issue_comment and workflow_dispatch - Intentionally break two tests for end-to-end validation Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
7dc7e66 to
b38c474
Compare
|
/create-issue |
|
Failed tests found on this PR:
📋 Creates or updates a failing-test issue from CI failures. |
|
/create-issue Aspire.Hosting.Tests.ValueSnapshotTests.IsValueSet_FalseBeforeAnySet |
|
/create-issue --test "Aspire.Hosting.Tests.ModelNameTests.ValidateName_Empty_Error" |
|
/create-issue Aspire.Hosting.Tests.ValueSnapshotTests.IsValueSet_FalseBeforeAnySet |
|
/create-issue Aspire.Hosting.Tests.ValueSnapshotTests.IsValueSet_FalseBeforeAnySet --force-new |
|
@radical ❌ Unknown argument 'Aspire.Hosting.Tests.ValueSnapshotTests.IsValueSet_FalseBeforeAnySet'. Supported arguments are --test, --url, --workflow, and --force-new. |
The parser rejected positional test names when any flag was present, e.g. '/create-issue TestName --force-new' would fail with 'Unknown argument'. Now non-flag tokens are accepted as positional test names in flag mode. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
/create-issue --test "Aspire.Hosting.Tests.ValueSnapshotTests.IsValueSet_FalseBeforeAnySet" --force-new |
|
/create-issue --test "Aspire.Hosting.Tests.ModelNameTests.ValidateName_Empty_Error" --url https://github.com/microsoft/aspire/actions/runs/24158509554 |
All /create-issue variants tested successfully: - List-only (no args) - Positional test name - --test flag - Update existing issue - --force-new - --url with explicit run URL - workflow_dispatch with pr_number Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Extract the list-only response logic from inline YAML into a testable formatListResponse() function in the JS helper. This covers the bug where a resolver build failure silently fell through to 'No test failures found' instead of reporting the error. New tests: - FormatListResponseReturnsErrorWhenResolverFailed - FormatListResponseReturnsTestNamesFromResult - FormatListResponseReturnsNoFailuresWhenResultIsEmpty Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Isolate CreateFailingTestIssue from the repo's Arcade SDK by adding Directory.Build.props/targets/Packages.props that cut inheritance. Replace ProjectReference to Aspire.TestTools with shared source links. Replace restore.sh (~2.5min) with setup-dotnet action (~5s). The tool builds in ~4s with a plain dotnet SDK, no Arcade needed. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
# Conflicts: # .github/workflows/create-failing-test-issue.yml
|
No test failures were found. Use 📋 Creates or updates a failing-test issue from CI failures. |
|
Failed tests found on this PR:
📋 Creates or updates a failing-test issue from CI failures. |
Replace Node 20 github-script@v7 with github-script@v8 to avoid the upcoming Node 20 deprecation on GitHub Actions runners. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
Failed tests found on this PR:
📋 Creates or updates a failing-test issue from CI failures. |
|
Re-running the failed jobs in the CI workflow for this pull request because 1 job was identified as retry-safe transient failures in the CI run attempt.
|
|
Closed in favor of #15988 |
Description
Follow-up to #15780 (merged as PR #15973 for the initial restore fix). This PR contains the remaining fixes, improvements, and test coverage for the
/create-issueworkflow.Fixes
/create-issue TestName --force-newwas rejected because the parser didn't allow positional test names when flags were present. Fixed increate-failing-test-issue.js.RESOLVE_OUTCOMEcheck.restore.sh(~2.5 min) withactions/setup-dotnet(~5s) by isolatingCreateFailingTestIssuefrom the Arcade SDK. AddedDirectory.Build.props/.targets/Packages.propsunder the tool directory and replacedProjectReferencetoAspire.TestToolswith shared source links.New features
workflow_dispatchtrigger: Enables testing from any branch with inputs fortest_query,source_url,workflow,force_new, andpr_number.formatListResponse()helper: Extracted list-only response formatting into a testable JS function.Test coverage
create-failing-test-issue.*Files changed
.github/workflows/create-failing-test-issue.yml— workflow fixes + speed optimization.github/workflows/create-failing-test-issue.js— parser fix + formatListResponsetools/CreateFailingTestIssue/— Arcade isolation (Directory.Build.props/targets/Packages.props, shared source)tests/Infrastructure.Tests/WorkflowScripts/— new tests + harness updateeng/testing/github-ci-trigger-patterns.txt— CI skip patternE2E validation
All 7
/create-issuevariants tested successfully viaworkflow_dispatchand PR comments during development.Microsoft Reviewers: Open in CodeFlow