Skip to content

Conversation

@IgorFedchenko
Copy link
Contributor

Related to #4059

The goal of this PR is to add separate artifact containing only aggregated timeline logs for only failed specs. So that when MNTR tests are failing on CI, we could just download single small zip file and get all we need to know.

In draft state since need to debug Azure Pipelines templates update for artifacts publishing.

@Aaronontheweb
Copy link
Member

@IgorFedchenko well look at that... finally looks like Azure DevOps is running properly.

@IgorFedchenko
Copy link
Contributor Author

@IgorFedchenko well look at that... finally looks like Azure DevOps is running properly.

@Aaronontheweb Indeed - so you did not change anything?

@IgorFedchenko
Copy link
Contributor Author

@Aaronontheweb Also, please check out artifacts for failed MNTR here. Does it look good, or any ideas about how to make it even better?
Artifacts with failure logs are containing "FAILED" suffix.

@Aaronontheweb
Copy link
Member

@Aaronontheweb Indeed - so you did not change anything?

Nope, I did not - just filed a bug report and a support ticket with Azure DevOps.

@IgorFedchenko IgorFedchenko marked this pull request as ready for review December 17, 2019 18:30
@IgorFedchenko
Copy link
Contributor Author

@Aaronontheweb Now MNTR output per each node and aggregated per spec can be found on Attachments tab in test view:
image

Do you have any ideas to make it even better, or this looks good in current state?

artifactName: 'net_core_tests_linux-$(Build.BuildId)'

- template: azure-pipeline.template.yaml
- template: azure-pipeline.mntr-template.yaml
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Have to use different template here to add build artifacts that are not used for non-mntr tests. There is some conditional execution support, but it does not seem to be flexible enough

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Makes sense

outputDirectory: 'TestResults'
artifactName: 'net_core_mntr_windows-$(Build.BuildId)'
mntrFailuresDir: 'TestResults\\multinode\\FAILED_SPECS_LOGS'
mntrFailuresArtifactName: 'net_core_mntr_FAILED_windows-$(Build.BuildId)'
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So here is where all failed spec aggregated logs can be downloaded at once

Copy link
Member

@Aaronontheweb Aaronontheweb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Couple of changes (un-breaking the test mostly) needed.

I also noticed this issue on a different PR but it's showing up here as well:

image

Looks like it might be a race condition - this bug isn't related to this PR as it's already happening with the current code that we have in-place for reporting MNTR results.

artifactName: 'net_core_tests_linux-$(Build.BuildId)'

- template: azure-pipeline.template.yaml
- template: azure-pipeline.mntr-template.yaml
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Makes sense

@Aaronontheweb
Copy link
Member

Since I didn't mention this anywhere: the MNTR output looks great. Much easier to be able to access the node-specific logs from the Azure DevOps UI - that should help improve contributor productivity. Nicely done @IgorFedchenko

@Aaronontheweb
Copy link
Member

Hah, one small issue before I approve this - the build step fails if there are no failed MNTR specs

Starting: Copy MNTR Failure Logs
==============================================================================
Task         : Copy files
Description  : Copy files from a source folder to a target folder using patterns matching file paths (not folder paths)
Version      : 2.158.0
Author       : Microsoft Corporation
Help         : https://docs.microsoft.com/azure/devops/pipelines/tasks/utility/copy-files
==============================================================================
##[error]Unhandled: Not found SourceFolder: D:\a\1\s\TestResults\multinode\FAILED_SPECS_LOGS
Finishing: Copy MNTR Failure Logs

@IgorFedchenko
Copy link
Contributor Author

Hah, one small issue before I approve this - the build step fails if there are no failed MNTR specs

Yup, seems like CopyFiles Azure Pipelines task can not handle case when source folder does not exist at all... Updated the pipeline.
Also, I could not find simple way to make this FAILED_SPECS_LOGS artifact not to be generated when no failed specs are found. But most likely it will always be generated - will see once CI will finish validation.

@IgorFedchenko
Copy link
Contributor Author

All right, now did not failed on that step.

@Aaronontheweb Aaronontheweb merged commit 63472ea into akkadotnet:dev Dec 20, 2019
@Aaronontheweb
Copy link
Member

Thanks @IgorFedchenko! Looking forward to using this in the rest of our build pipeline.

@IgorFedchenko IgorFedchenko deleted the add-mntr-aggregated-to-artifacts branch December 20, 2019 18:52
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.

2 participants