You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
🤖 This PR was created by Repo Assist, an automated AI assistant.
Summary
Adds a Upload test results step (using actions/upload-artifact@v4) to both CI workflows so that TRX test-result files and blame diagnostics are preserved as GitHub Actions artifacts whenever the build fails.
Changes
pull-requests.yml: Adds upload step after "Run CI", conditioned on if: failure(), artifact named test-results-${{ matrix.os }} (disambiguates ubuntu vs windows runs).
push-main.yml: Same step, artifact named test-results-ubuntu.
Both workflows already run tests with --logger trx --blame --results-directory TestResults, so the files exist on failure — they just weren't being surfaced.
Motivation
When a CI run fails it can be difficult to determine which test failed, especially on Windows where the log output is often truncated. Downloading the .trx artifact lets anyone open it in Visual Studio / the dotnet-trx CLI or inspect the XML directly — no need to re-run CI locally.
The retention-days: 7 keeps storage costs minimal.
Trade-offs
Artifact uploads add a few seconds only when builds fail — no cost on green runs.
@v4 is the current stable major version of actions/upload-artifact.
Test Status
This is a CI configuration change. No source code was modified; existing tests are unaffected.
Warning
Protected Files — Push Permission Denied
This was originally intended as a pull request, but the patch modifies protected files. A human must create the pull request manually.
The push was rejected because GitHub Actions does not have workflows permission to push these changes, and is never allowed to make such changes, or other authorization being used does not have this permission.
Create the pull request manually
# Download the patch from the workflow run
gh run download 23710688115 -n agent -D /tmp/agent-23710688115
# Create a new branch
git checkout -b repo-assist/eng-ci-test-artifacts-2026-03-29-40643e8eceaca9e5 main
# Apply the patch (--3way handles cross-repo patches)
git am --3way /tmp/agent-23710688115/aw-repo-assist-eng-ci-test-artifacts-2026-03-29.patch
# Push the branch and create the pull request
git push origin repo-assist/eng-ci-test-artifacts-2026-03-29-40643e8eceaca9e5
gh pr create --title '[Repo Assist] ci: upload TRX test results as artifacts on CI failure' --base main --head repo-assist/eng-ci-test-artifacts-2026-03-29-40643e8eceaca9e5 --repo fsprojects/FSharp.Formatting
🤖 This PR was created by Repo Assist, an automated AI assistant.
Summary
Adds a
Upload test resultsstep (usingactions/upload-artifact@v4) to both CI workflows so that TRX test-result files and blame diagnostics are preserved as GitHub Actions artifacts whenever the build fails.Changes
pull-requests.yml: Adds upload step after "Run CI", conditioned onif: failure(), artifact namedtest-results-${{ matrix.os }}(disambiguates ubuntu vs windows runs).push-main.yml: Same step, artifact namedtest-results-ubuntu.Both workflows already run tests with
--logger trx --blame --results-directory TestResults, so the files exist on failure — they just weren't being surfaced.Motivation
When a CI run fails it can be difficult to determine which test failed, especially on Windows where the log output is often truncated. Downloading the
.trxartifact lets anyone open it in Visual Studio / thedotnet-trxCLI or inspect the XML directly — no need to re-run CI locally.The
retention-days: 7keeps storage costs minimal.Trade-offs
@v4is the current stable major version ofactions/upload-artifact.Test Status
This is a CI configuration change. No source code was modified; existing tests are unaffected.
Warning
Protected Files — Push Permission Denied
This was originally intended as a pull request, but the patch modifies protected files. A human must create the pull request manually.
Protected files
The push was rejected because GitHub Actions does not have
workflowspermission to push these changes, and is never allowed to make such changes, or other authorization being used does not have this permission.Create the pull request manually