Repository navigation
[CI] Upload only test logs from the Windows validation jobs - #1570
Merged
Merged
Conversation
The Windows jobs uploaded the whole runner.temp folder, minus bulk binaries, as their logs artifact. The runner and the job's actions use that folder too, so the artifact also carried the runner's command files, the event payload, the step scripts, and the credentials file actions/checkout writes for the job's token. The run step now passes runner.temp/mxc-test-temp to the dispatcher as -TempDirectory, the way the Windows SDK bundle job passes its output directory, and the dispatcher points TEMP and TMP at that folder's full path. The upload takes that folder and mxc-ci.log. Test logs are still collected without naming each file; they now sit under mxc-test-temp/ in the artifact. The dispatcher's comment drops its scratch-root guards sentence: the suites with those guards were removed in #1217 and #1558. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: d9b7b96e-a872-4113-9cac-4afa39b56956
Nothing in these jobs runs git against GitHub after checkout, so all four checkouts set persist-credentials: false. Checkout then removes the credentials file for the job's token at the end of its own step, instead of in its cleanup after every other step has run, including the log upload. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: d9b7b96e-a872-4113-9cac-4afa39b56956
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: d9b7b96e-a872-4113-9cac-4afa39b56956
|
Azure Pipelines: There may be pipelines that require an authorized user to comment /azp run to run. |
Contributor
There was a problem hiding this comment.
🟢 Approval recommended
No blocking issues remain, and the linked branch validation run completed successfully.
No open issues 🎉
What changed in this PR
This PR narrows Windows validation artifacts to test output, avoiding collection of runner files and checkout credentials while preserving test-log collection.
Changes:
- Redirect Windows test temporary files to a dedicated
mxc-test-tempdirectory. - Upload only that directory and
mxc-ci.log, and disable credential persistence for all four checkouts. - Update the CI runbook to describe the revised collection paths.
| File | Description |
|---|---|
scripts/ci/run_backend_validation_tests.ps1 |
Adds an optional temporary-directory parameter and redirects TEMP and TMP there. |
docs/development/build-and-test/ci-validation-infrastructure.md |
Documents dedicated test-output storage and narrowed uploads. |
.github/workflows/Validation.Tests.Matrix.Job.yml |
Supplies the test directory, restricts artifact paths, and disables checkout credential persistence. |
Review effort: Balanced
Branden Bonaby (bbonaby)
approved these changes
Oct 23, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
📖 Description
The Windows jobs of the scheduled validation workflow uploaded the whole
runner.tempfolder, minus bulk binaries, as theirlogs-*artifact. The runner and the job's actions also use that folder, so the artifact carried the runner's command files, the event payload, the step scripts, and the credentials fileactions/checkoutwrites for the job's token.runner.temp/mxc-test-temptorun_backend_validation_tests.ps1as-TempDirectory, the way the Windows SDK bundle job passes its output directory. The dispatcher pointsTEMPandTMPat that folder's full path, and the upload takes that folder andmxc-ci.log. Test logs are still collected without naming each file; they now sit undermxc-test-temp/in the artifact.Validation.Tests.Matrix.Job.ymlsetpersist-credentials: false. Nothing in these jobs uses git credentials after checkout, so checkout removes its credentials file at the end of its own step instead of after the upload.No regression test is added: this is a CI infrastructure fix, and the before-and-after artifact comparison below is the evidence.
🔗 References
The upload was widened to all of
runner.tempin #939.🔍 Validation
This workflow doesn't run on pull requests, so I dispatched it on this branch with
gh workflow run Validation.Tests.Scheduled.yml --ref user/adibpa/copilot-validation-log-upload -f plan=nightly, with the nightly plan temporarily trimmed to seven jobs: windows-24h2 process (x64, arm64) and wslc; windows-prerelease-isolation-session (x64, arm64); ubuntu-24.04 bubblewrap; macos-15 seatbelt. The trim commit has since been dropped.mxc-ci.logandmxc-test-temp/. The file names undermxc-test-temp/match the same jobs' artifacts frommain's nightly run 39922643376, apart from GUIDs and process IDs; thosemainartifacts also held the credentials file and the runner's files.✅ Checklist
📋 Issue Type
Microsoft Reviewers: Open in CodeFlow