Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Replaced spawningpool with measlinkbot self-hosted runner #456

Closed
wants to merge 66 commits into from

Conversation

MounikaBattu17
Copy link
Contributor

@MounikaBattu17 MounikaBattu17 commented Dec 13, 2023

  • This contribution adheres to CONTRIBUTING.md. (Required)
  • Automatically post PR comments with images for G code changes? (Recommended for small changes)

What does this Pull Request accomplish?

This PR replaces spawningpool with measlinkbot as the self-hosted runner which runs on four LV versions (2020, 2021, 2022, 2023).

  • Run G tests workflow:

    • Added runner labels for measlinkbot.
    • Added matrix to run for 4 versions of LabVIEW (2020, 2021, 2022, 2023).
    • Enabled Git long paths to checkout without filename too long error.
    • Added a custom step to set unique port number for each LabVIEW version.
  • Run VI analyzer workflow:

    • Added runner labels for measlinkbot.
    • Added matrix to run for 3 versions of LabVIEW, LV 2020 is not added because NI-VISA VIs are included and fails.
    • Enabled Git long paths to checkout without filename too long error.
    • Added a custom step to set unique port number for each LabVIEW version.
    • Customized run_vi_analyzer.py to accept labview-path and port-number arguments.
  • Run PR Commenter workflow:

    • Added runner labels for measlinkbot.
    • Enabled Git long paths to checkout without filename too long error.
    • Customized run_diff.py to run in only LV 2020 version.

Why should this Pull Request be merged?

Implements Technical Debt 2350468: Redundant / externally-maintained test runners.

What testing has been done?

Running the workflow Run G Tests, Run VI Analyzer, Run PR Commenter workflows.

Known issue in measlinkbot: Bug 2581216: measlinkbot is not reliable enough, this means sometimes measlinkbot is inconsistent and leaves the jobs unpicked. A small workaround would be to cancel and re run the workflow again. Once the bug is fixed, this issue will be resolved.

@MounikaBattu17
Copy link
Contributor Author

MounikaBattu17 commented Dec 13, 2023

Currently, addressing few issues:

  1. The runner doesn't has updated version grpc-labview vip packages, thus leading to test failures.
  2. Repo checkout fails due to filename too long error.

These two issues has to be resolved from runner side. Hence, no changes for these issues needed in this PR.

Copy link

0 of 0 files processed successfully.

Copy link

0 of 0 files processed successfully.

@MounikaBattu17
Copy link
Contributor Author

MounikaBattu17 commented Dec 15, 2023

Test analysis till now:

  1. Need to Update the VI analyzer to skip VISA VI for LV 2020 - Removed LV 2020 for this workflow - Fixed
  2. At times, tests are running forever - this issue is still in investigation.

Copy link

0 of 0 files processed successfully.

Copy link

0 of 0 files processed successfully.

Copy link

0 of 0 files processed successfully.

Copy link

0 of 0 files processed successfully.

Copy link

0 of 0 files processed successfully.

Copy link

0 of 0 files processed successfully.

Copy link

1 of 2 files processed successfully.
Processed run_tests_original.vi: Success
Added run_tests_original.vi.  Screenshots coming soon.

Processed run_tests.vi: ERROR 1
Error 1 occurred at Check Data Size.vi

Possible reason(s):

LabVIEW: (Hex 0x1) An input parameter is invalid. For example if the input is a path, the path might contain a character not allowed by the OS such as ? or @.

Command requires GPIB Controller to be Controller-In-Charge.

Complete call chain:
     Check Data Size.vi
     Write PNG File.vi
     Graphical Diff.lvlib:Merge Diff Images.vi
     Graphical Diff.lvlib:Process Diff Images.vi
     Graphical Diff.lvlib:run_diff.vi
     RunVI.lvclass:RunOperation.vi:5910001
     CoreOperation.lvclass:CallRunOperation.vi:4230002
     ExecuteRunOperation.vi:5250001
     ExecuteOperation.vi:6900002
     ExecuteOperation.vi.ProxyCaller
Diff images generated for Source/Tests/run_tests.vi.
Attribute Changes
     VI icon
     description text
            Changed from "" to "The module takes in all the Test vi's whose name starts with "test_" inside the 'Testsfolder and run it to see if there are any error occuring in the test. Excludes the test mention inskip_tests.lst`. Finally logs a report on the test results".

Choose a reason for hiding this comment

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

Diff Image Data for Source/Tests/run_tests.vi as follows

No images produced. This is indicative of no functional changes, e.g. resaved, mass-compiled, or cosmetic changes only.

Copy link

1 of 2 files processed successfully.
Processed run_tests_original.vi: Success
Added run_tests_original.vi.  Screenshots coming soon.

Processed run_tests.vi: ERROR 1
Error 1 occurred at Check Data Size.vi

Possible reason(s):

LabVIEW: (Hex 0x1) An input parameter is invalid. For example if the input is a path, the path might contain a character not allowed by the OS such as ? or @.

Command requires GPIB Controller to be Controller-In-Charge.

Complete call chain:
     Check Data Size.vi
     Write PNG File.vi
     Graphical Diff.lvlib:Merge Diff Images.vi
     Graphical Diff.lvlib:Process Diff Images.vi
     Graphical Diff.lvlib:run_diff.vi
     RunVI.lvclass:RunOperation.vi:5910001
     CoreOperation.lvclass:CallRunOperation.vi:4230002
     ExecuteRunOperation.vi:5250001
     ExecuteOperation.vi:6900002
     ExecuteOperation.vi.ProxyCaller
Diff images generated for Source/Tests/run_tests.vi.
Attribute Changes
     VI icon
     description text
            Changed from "" to "The module takes in all the Test vi's whose name starts with "test_" inside the 'Testsfolder and run it to see if there are any error occuring in the test. Excludes the test mention inskip_tests.lst`. Finally logs a report on the test results".

Choose a reason for hiding this comment

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

Diff Image Data for Source/Tests/run_tests.vi as follows

No images produced. This is indicative of no functional changes, e.g. resaved, mass-compiled, or cosmetic changes only.

Copy link

1 of 2 files processed successfully.
Processed run_tests_original.vi: Success
Added run_tests_original.vi.  Screenshots coming soon.

Processed run_tests.vi: ERROR 1
Error 1 occurred at Check Data Size.vi

Possible reason(s):

LabVIEW: (Hex 0x1) An input parameter is invalid. For example if the input is a path, the path might contain a character not allowed by the OS such as ? or @.

Command requires GPIB Controller to be Controller-In-Charge.

Complete call chain:
     Check Data Size.vi
     Write PNG File.vi
     Graphical Diff.lvlib:Merge Diff Images.vi
     Graphical Diff.lvlib:Process Diff Images.vi
     Graphical Diff.lvlib:run_diff.vi
     RunVI.lvclass:RunOperation.vi:5910001
     CoreOperation.lvclass:CallRunOperation.vi:4230002
     ExecuteRunOperation.vi:5250001
     ExecuteOperation.vi:6900002
     ExecuteOperation.vi.ProxyCaller
Diff images generated for Source/Tests/run_tests.vi.
Attribute Changes
     VI icon
     description text
            Changed from "" to "The module takes in all the Test vi's whose name starts with "test_" inside the 'Testsfolder and run it to see if there are any error occuring in the test. Excludes the test mention inskip_tests.lst`. Finally logs a report on the test results".

Choose a reason for hiding this comment

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

Diff Image Data for Source/Tests/run_tests.vi as follows

No images produced. This is indicative of no functional changes, e.g. resaved, mass-compiled, or cosmetic changes only.

Copy link

1 of 2 files processed successfully.
Processed run_tests_original.vi: Success
Added run_tests_original.vi.  Screenshots coming soon.

Processed run_tests.vi: ERROR 1
Error 1 occurred at Check Data Size.vi

Possible reason(s):

LabVIEW: (Hex 0x1) An input parameter is invalid. For example if the input is a path, the path might contain a character not allowed by the OS such as ? or @.

Command requires GPIB Controller to be Controller-In-Charge.

Complete call chain:
     Check Data Size.vi
     Write PNG File.vi
     Graphical Diff.lvlib:Merge Diff Images.vi
     Graphical Diff.lvlib:Process Diff Images.vi
     Graphical Diff.lvlib:run_diff.vi
     RunVI.lvclass:RunOperation.vi:5910001
     CoreOperation.lvclass:CallRunOperation.vi:4230002
     ExecuteRunOperation.vi:5250001
     ExecuteOperation.vi:6900002
     ExecuteOperation.vi.ProxyCaller
Diff images generated for Source/Tests/run_tests.vi.
Attribute Changes
     VI icon
     description text
            Changed from "" to "The module takes in all the Test vi's whose name starts with "test_" inside the 'Testsfolder and run it to see if there are any error occuring in the test. Excludes the test mention inskip_tests.lst`. Finally logs a report on the test results".

Choose a reason for hiding this comment

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

Diff Image Data for Source/Tests/run_tests.vi as follows

No images produced. This is indicative of no functional changes, e.g. resaved, mass-compiled, or cosmetic changes only.

Copy link

1 of 2 files processed successfully.
Processed run_tests_original.vi: Success
Added run_tests_original.vi.  Screenshots coming soon.

Processed run_tests.vi: ERROR 1
Error 1 occurred at Check Data Size.vi

Possible reason(s):

LabVIEW: (Hex 0x1) An input parameter is invalid. For example if the input is a path, the path might contain a character not allowed by the OS such as ? or @.

Command requires GPIB Controller to be Controller-In-Charge.

Complete call chain:
     Check Data Size.vi
     Write PNG File.vi
     Graphical Diff.lvlib:Merge Diff Images.vi
     Graphical Diff.lvlib:Process Diff Images.vi
     Graphical Diff.lvlib:run_diff.vi
     RunVI.lvclass:RunOperation.vi:5910001
     CoreOperation.lvclass:CallRunOperation.vi:4230002
     ExecuteRunOperation.vi:5250001
     ExecuteOperation.vi:6900002
     ExecuteOperation.vi.ProxyCaller
Diff images generated for Source/Tests/run_tests.vi.
Attribute Changes
     VI icon
     description text
            Changed from "" to "The module takes in all the Test vi's whose name starts with "test_" inside the 'Testsfolder and run it to see if there are any error occuring in the test. Excludes the test mention inskip_tests.lst`. Finally logs a report on the test results".

Choose a reason for hiding this comment

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

Diff Image Data for Source/Tests/run_tests.vi as follows

No images produced. This is indicative of no functional changes, e.g. resaved, mass-compiled, or cosmetic changes only.

Copy link

1 of 2 files processed successfully.
Processed run_tests_original.vi: Success
Added run_tests_original.vi.  Screenshots coming soon.

Processed run_tests.vi: ERROR 1
Error 1 occurred at Check Data Size.vi

Possible reason(s):

LabVIEW: (Hex 0x1) An input parameter is invalid. For example if the input is a path, the path might contain a character not allowed by the OS such as ? or @.

Command requires GPIB Controller to be Controller-In-Charge.

Complete call chain:
     Check Data Size.vi
     Write PNG File.vi
     Graphical Diff.lvlib:Merge Diff Images.vi
     Graphical Diff.lvlib:Process Diff Images.vi
     Graphical Diff.lvlib:run_diff.vi
     RunVI.lvclass:RunOperation.vi:5910001
     CoreOperation.lvclass:CallRunOperation.vi:4230002
     ExecuteRunOperation.vi:5250001
     ExecuteOperation.vi:6900002
     ExecuteOperation.vi.ProxyCaller
Diff images generated for Source/Tests/run_tests.vi.
Attribute Changes
     VI icon
     description text
            Changed from "" to "The module takes in all the Test vi's whose name starts with "test_" inside the 'Testsfolder and run it to see if there are any error occuring in the test. Excludes the test mention inskip_tests.lst`. Finally logs a report on the test results".

Choose a reason for hiding this comment

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

Diff Image Data for Source/Tests/run_tests.vi as follows

No images produced. This is indicative of no functional changes, e.g. resaved, mass-compiled, or cosmetic changes only.

Copy link

1 of 2 files processed successfully.
Processed run_tests_original.vi: Success
Added run_tests_original.vi.  Screenshots coming soon.

Processed run_tests.vi: ERROR 1
Error 1 occurred at Check Data Size.vi

Possible reason(s):

LabVIEW: (Hex 0x1) An input parameter is invalid. For example if the input is a path, the path might contain a character not allowed by the OS such as ? or @.

Command requires GPIB Controller to be Controller-In-Charge.

Complete call chain:
     Check Data Size.vi
     Write PNG File.vi
     Graphical Diff.lvlib:Merge Diff Images.vi
     Graphical Diff.lvlib:Process Diff Images.vi
     Graphical Diff.lvlib:run_diff.vi
     RunVI.lvclass:RunOperation.vi:5910001
     CoreOperation.lvclass:CallRunOperation.vi:4230002
     ExecuteRunOperation.vi:5250001
     ExecuteOperation.vi:6900002
     ExecuteOperation.vi.ProxyCaller
Diff images generated for Source/Tests/run_tests.vi.
Attribute Changes
     VI icon
     description text
            Changed from "" to "The module takes in all the Test vi's whose name starts with "test_" inside the 'Testsfolder and run it to see if there are any error occuring in the test. Excludes the test mention inskip_tests.lst`. Finally logs a report on the test results".

Choose a reason for hiding this comment

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

Diff Image Data for Source/Tests/run_tests.vi as follows

No images produced. This is indicative of no functional changes, e.g. resaved, mass-compiled, or cosmetic changes only.

Copy link

1 of 2 files processed successfully.
Processed run_tests_original.vi: Success
Added run_tests_original.vi.  Screenshots coming soon.

Processed run_tests.vi: ERROR 1
Error 1 occurred at Check Data Size.vi

Possible reason(s):

LabVIEW: (Hex 0x1) An input parameter is invalid. For example if the input is a path, the path might contain a character not allowed by the OS such as ? or @.

Command requires GPIB Controller to be Controller-In-Charge.

Complete call chain:
     Check Data Size.vi
     Write PNG File.vi
     Graphical Diff.lvlib:Merge Diff Images.vi
     Graphical Diff.lvlib:Process Diff Images.vi
     Graphical Diff.lvlib:run_diff.vi
     RunVI.lvclass:RunOperation.vi:5910001
     CoreOperation.lvclass:CallRunOperation.vi:4230002
     ExecuteRunOperation.vi:5250001
     ExecuteOperation.vi:6900002
     ExecuteOperation.vi.ProxyCaller
Diff images generated for Source/Tests/run_tests.vi.
Attribute Changes
     VI icon
     description text
            Changed from "" to "The module takes in all the Test vi's whose name starts with "test_" inside the 'Testsfolder and run it to see if there are any error occuring in the test. Excludes the test mention inskip_tests.lst`. Finally logs a report on the test results".

Choose a reason for hiding this comment

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

Diff Image Data for Source/Tests/run_tests.vi as follows

No images produced. This is indicative of no functional changes, e.g. resaved, mass-compiled, or cosmetic changes only.

@MounikaBattu17
Copy link
Contributor Author

@bkeryan, @dixonjoel, @jasonmreding , @aepete, @vigkre
Since this PR has been used as a testing PR for quite sometime, so to avoid confusion, I have created another PR with updated changes. Kindly review that PR. Hence I'm closing this PR and opening the review in other PR.

@MounikaBattu17 MounikaBattu17 deleted the users/mounika/setup-measlinkbot-runner branch May 5, 2024 17:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants