Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Jan 15, 2026

The PR Summary step fails when the dry-run packaging step produces no .nupkg files, causing ls to error with "No such file or directory".

Changes

  • Added conditional check before listing packages in PR Summary step
  • Displays warning message when no packages exist instead of failing
# Check if packages exist before listing them
if ls ./dry-run-packages/*.nupkg 1> /dev/null 2>&1; then
  echo "The following packages will be created on merge:" >> $GITHUB_STEP_SUMMARY
  echo "" >> $GITHUB_STEP_SUMMARY
  echo "\`\`\`" >> $GITHUB_STEP_SUMMARY
  ls -1 ./dry-run-packages/*.nupkg | xargs -n1 basename >> $GITHUB_STEP_SUMMARY
  echo "\`\`\`" >> $GITHUB_STEP_SUMMARY
else
  echo "⚠️ No packages were created during the dry-run." >> $GITHUB_STEP_SUMMARY
fi

This allows the workflow to complete successfully and provide useful feedback even when packaging fails.

Original prompt

This section details on the original issue you should resolve

<issue_title>[Bug][Ci] Validate Breaks on PR Summary</issue_title>
<issue_description>We receive the following error when our PR Validate workflow runs.

Run echo "## 🎯 PR Validation Summary" >> $GITHUB_STEP_SUMMARY
  echo "## 🎯 PR Validation Summary" >> $GITHUB_STEP_SUMMARY
  echo "" >> $GITHUB_STEP_SUMMARY
  echo "✅ **Version**: " >> $GITHUB_STEP_SUMMARY
  echo "" >> $GITHUB_STEP_SUMMARY
  echo "### 📦 Packages" >> $GITHUB_STEP_SUMMARY
  echo "" >> $GITHUB_STEP_SUMMARY
  echo "The following packages will be created on merge:" >> $GITHUB_STEP_SUMMARY
  echo "" >> $GITHUB_STEP_SUMMARY
  echo "\`\`\`" >> $GITHUB_STEP_SUMMARY
  ls -1 ./dry-run-packages/*.nupkg | xargs -n1 basename >> $GITHUB_STEP_SUMMARY
  echo "\`\`\`" >> $GITHUB_STEP_SUMMARY
  shell: /usr/bin/bash -e {0}
  env:
    DOTNET_NOLOGO: true
    DOTNET_ROOT: /usr/share/dotnet
    DOTNET_CLI_TELEMETRY_OPTOUT: true
ls: cannot access './dry-run-packages/*.nupkg': No such file or directory
basename: missing operand
Try 'basename --help' for more information.
```</issue_description>

## Comments on the Issue (you are @copilot in this section)

<comments>
</comments>


💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

Co-authored-by: JerrettDavis <2610199+JerrettDavis@users.noreply.github.com>
Copilot AI changed the title [WIP] Fix validation errors in PR summary workflow Fix PR Summary step crash when packages don't exist Jan 15, 2026
Copilot AI requested a review from JerrettDavis January 15, 2026 03:47
@JerrettDavis JerrettDavis marked this pull request as ready for review January 15, 2026 04:04
@github-actions
Copy link

⚠️ Deprecation Warning: The deny-licenses option is deprecated for possible removal in the next major release. For more information, see issue 997.

Dependency Review

✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.

Scanned Files

None

@github-actions
Copy link

Test Results

0 tests   0 ✅  0s ⏱️
0 suites  0 💤
0 files    0 ❌

Results for commit e3d791b.

@github-actions
Copy link

Code Coverage

Summary
  Generated on: 01/15/2026 - 04:07:09
  Coverage date: 01/15/2026 - 04:06:41 - 01/15/2026 - 04:07:05
  Parser: MultiReport (18x Cobertura)
  Assemblies: 8
  Classes: 76
  Files: 70
  Line coverage: 98.1%
  Covered lines: 2096
  Uncovered lines: 40
  Coverable lines: 2136
  Total lines: 9065
  Branch coverage: 85.7% (482 of 562)
  Covered branches: 482
  Total branches: 562
  Method coverage: 99.5% (733 of 736)
  Full method coverage: 96.6% (711 of 736)
  Covered methods: 733
  Fully covered methods: 711
  Total methods: 736

TinyBDD                                                                  98%
  TinyBDD.Ambient                                                       100%
  TinyBDD.AmbientTestMethodResolver                                     100%
  TinyBDD.AssemblyFixture                                              92.8%
  TinyBDD.AssemblyFixtureCoordinator                                   89.4%
  TinyBDD.AssemblySetupAttribute                                        100%
  TinyBDD.Assertions.Expect                                             100%
  TinyBDD.Assertions.FluentAssertion<T>                                93.1%
  TinyBDD.Assertions.FluentAssertionState<T>                            100%
  TinyBDD.Assertions.FluentPredicate<T>                                 100%
  TinyBDD.Assertions.ShouldExtensions                                   100%
  TinyBDD.Assertions.TinyBddAssertionException                          100%
  TinyBDD.AssertUtil                                                    100%
  TinyBDD.Bdd                                                           100%
  TinyBDD.BddStepException                                              100%
  TinyBDD.ExampleResult                                                 100%
  TinyBDD.ExampleRow<T>                                                 100%
  TinyBDD.ExamplesBuilder<T>                                            100%
  TinyBDD.ExamplesResult                                                100%
  TinyBDD.Extensions.StepExtensions                                     100%
  TinyBDD.Extensions.Throw                                              100%
  TinyBDD.FeatureAttribute                                              100%
  TinyBDD.Flow                                                          100%
  TinyBDD.FromContext                                                   100%
  TinyBDD.GenerateOptimizedAttribute                                      0%
  TinyBDD.GherkinFormatter                                              100%
  TinyBDD.KindStrings                                                  88.8%
  TinyBDD.NullTraitBridge                                               100%
  TinyBDD.Pipeline                                                     98.7%
  TinyBDD.ScenarioAttribute                                             100%
  TinyBDD.ScenarioCaseAttribute                                         100%
  TinyBDD.ScenarioChain<T>                                              100%
  TinyBDD.ScenarioContext                                               100%
  TinyBDD.ScenarioContextAsserts                                        100%
  TinyBDD.ScenarioContextGherkinExtensions                              100%
  TinyBDD.ScenarioContextPrototype                                      100%
  TinyBDD.ScenarioOptions                                               100%
  TinyBDD.ScenarioOutlineBuilder<T>                                     100%
  TinyBDD.ScenarioOutlineChain<T1, T2>                                  100%
  TinyBDD.ScenarioOutlineTerminal<T1, T2>                               100%
  TinyBDD.StepInfo                                                      100%
  TinyBDD.StepIO                                                        100%
  TinyBDD.StepResult                                                    100%
  TinyBDD.StringBddReporter                                             100%
  TinyBDD.TagAttribute                                                  100%
  TinyBDD.TestBase                                                      100%
  TinyBDD.TestBase<T>                                                   100%
  TinyBDD.ThenChain<T>                                                  100%
  TinyBDD.TinyBddExtensibilityOptions                                   100%
  TinyBDD.TinyBddOptionsBuilder                                         100%

TinyBDD.Extensions.DependencyInjection                                  100%
  TinyBDD.Extensions.DependencyInjection.ScenarioContextFactory         100%
  TinyBDD.Extensions.DependencyInjection.ServiceCollectionExtensions    100%
  TinyBDD.Extensions.DependencyInjection.TinyBddOptions                 100%

TinyBDD.Extensions.Hosting                                              100%
  TinyBDD.Extensions.Hosting.HostBuilderExtensions                      100%
  TinyBDD.Extensions.Hosting.TinyBddHostingOptions                      100%
  TinyBDD.Extensions.Hosting.WorkflowHostedService<T>                   100%
  TinyBDD.Extensions.Hosting.WorkflowRunner                             100%

TinyBDD.Extensions.Reporting                                           97.5%
  TinyBDD.Extensions.Reporting.JsonReport                               100%
  TinyBDD.Extensions.Reporting.JsonReportObserver                      96.5%
  TinyBDD.Extensions.Reporting.ScenarioReport                           100%
  TinyBDD.Extensions.Reporting.StepReport                               100%
  TinyBDD.Extensions.Reporting.TinyBddReportingExtensions               100%

TinyBDD.MSTest                                                          100%
  TinyBDD.MSTest.MsTestBddReporter                                      100%
  TinyBDD.MSTest.MsTestTraitBridge                                      100%
  TinyBDD.MSTest.TinyBddMsTestBase                                      100%

TinyBDD.NUnit                                                           100%
  TinyBDD.NUnit.NUnitBddReporter                                        100%
  TinyBDD.NUnit.NUnitTraitBridge                                        100%
  TinyBDD.NUnit.TinyBddNUnitBase                                        100%
  TinyBDD.NUnit.UseTinyBddAttribute                                     100%

TinyBDD.Xunit                                                          93.2%
  TinyBDD.Xunit.TinyBddXunitBase                                       90.6%
  TinyBDD.Xunit.UseTinyBddAttribute                                     100%
  TinyBDD.Xunit.XunitBddReporter                                        100%
  TinyBDD.Xunit.XunitTraitBridge                                        100%

TinyBDD.Xunit.v3                                                        100%
  TinyBDD.Xunit.v3.TinyBddXunitBase                                     100%
  TinyBDD.Xunit.v3.UseTinyBddAttribute                                  100%
  TinyBDD.Xunit.v3.XunitBddReporter                                     100%
  TinyBDD.Xunit.v3.XunitTraitBridge                                     100%

@codecov
Copy link

codecov bot commented Jan 15, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 98.31%. Comparing base (2df4dcb) to head (e3d791b).
⚠️ Report is 43 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #49      +/-   ##
==========================================
- Coverage   99.86%   98.31%   -1.55%     
==========================================
  Files          27       70      +43     
  Lines         726     2136    +1410     
  Branches       25      227     +202     
==========================================
+ Hits          725     2100    +1375     
- Misses          1       36      +35     
Flag Coverage Δ
unittests 98.31% <ø> (-1.55%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@JerrettDavis JerrettDavis merged commit 443d7f1 into main Jan 15, 2026
13 of 14 checks passed
@JerrettDavis JerrettDavis deleted the copilot/fix-pr-validation-issue branch January 15, 2026 04:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug][Ci] Validate Breaks on PR Summary

2 participants