argus-alm 0.15.7__tar.gz → 0.15.8__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (422) hide show
  1. {argus_alm-0.15.7 → argus_alm-0.15.8}/PKG-INFO +1 -1
  2. {argus_alm-0.15.7 → argus_alm-0.15.8}/argus/_version.py +3 -3
  3. {argus_alm-0.15.7 → argus_alm-0.15.8}/argus/client/sct/client.py +21 -0
  4. argus_alm-0.15.8/argus/common/email.py +33 -0
  5. {argus_alm-0.15.7 → argus_alm-0.15.8}/argus_alm.egg-info/PKG-INFO +1 -1
  6. {argus_alm-0.15.7 → argus_alm-0.15.8}/argus_alm.egg-info/SOURCES.txt +14 -0
  7. argus_alm-0.15.8/docs/api_usage.md +280 -0
  8. argus_alm-0.15.8/templates/email/base.html.j2 +46 -0
  9. argus_alm-0.15.8/templates/email/css/styles.css +179 -0
  10. argus_alm-0.15.8/templates/email/partials/cloud.html.j2 +29 -0
  11. argus_alm-0.15.8/templates/email/partials/custom_html.html.j2 +8 -0
  12. argus_alm-0.15.8/templates/email/partials/custom_table.html.j2 +25 -0
  13. argus_alm-0.15.8/templates/email/partials/events.html.j2 +23 -0
  14. argus_alm-0.15.8/templates/email/partials/header.html.j2 +9 -0
  15. argus_alm-0.15.8/templates/email/partials/logs.html.j2 +12 -0
  16. argus_alm-0.15.8/templates/email/partials/main.html.j2 +27 -0
  17. argus_alm-0.15.8/templates/email/partials/nemesis.html.j2 +29 -0
  18. argus_alm-0.15.8/templates/email/partials/packages.html.j2 +21 -0
  19. argus_alm-0.15.8/templates/email/partials/screenshots.html.j2 +15 -0
  20. argus_alm-0.15.8/templates/email/partials/unsupported.html.j2 +11 -0
  21. argus_alm-0.15.7/docs/api_usage.md +0 -120
  22. {argus_alm-0.15.7 → argus_alm-0.15.8}/.dockerignore +0 -0
  23. {argus_alm-0.15.7 → argus_alm-0.15.8}/.envrc +0 -0
  24. {argus_alm-0.15.7 → argus_alm-0.15.8}/.eslintrc.js +0 -0
  25. {argus_alm-0.15.7 → argus_alm-0.15.8}/.github/workflows/.gitkeep +0 -0
  26. {argus_alm-0.15.7 → argus_alm-0.15.8}/.github/workflows/lint.yml +0 -0
  27. {argus_alm-0.15.7 → argus_alm-0.15.8}/.github/workflows/release.yml +0 -0
  28. {argus_alm-0.15.7 → argus_alm-0.15.8}/.github/workflows/test.yml +0 -0
  29. {argus_alm-0.15.7 → argus_alm-0.15.8}/.gitignore +0 -0
  30. {argus_alm-0.15.7 → argus_alm-0.15.8}/.pre-commit-config.yaml +0 -0
  31. {argus_alm-0.15.7 → argus_alm-0.15.8}/.prettierrc.js +0 -0
  32. {argus_alm-0.15.7 → argus_alm-0.15.8}/AGENTS.md +0 -0
  33. {argus_alm-0.15.7 → argus_alm-0.15.8}/Dockerfile +0 -0
  34. {argus_alm-0.15.7 → argus_alm-0.15.8}/LICENSE +0 -0
  35. {argus_alm-0.15.7 → argus_alm-0.15.8}/MANIFEST.in +0 -0
  36. {argus_alm-0.15.7 → argus_alm-0.15.8}/README.md +0 -0
  37. {argus_alm-0.15.7 → argus_alm-0.15.8}/argus/__init__.py +0 -0
  38. {argus_alm-0.15.7 → argus_alm-0.15.8}/argus/client/__init__.py +0 -0
  39. {argus_alm-0.15.7 → argus_alm-0.15.8}/argus/client/base.py +0 -0
  40. {argus_alm-0.15.7 → argus_alm-0.15.8}/argus/client/driver_matrix_tests/cli.py +0 -0
  41. {argus_alm-0.15.7 → argus_alm-0.15.8}/argus/client/driver_matrix_tests/client.py +0 -0
  42. {argus_alm-0.15.7 → argus_alm-0.15.8}/argus/client/generic/cli.py +0 -0
  43. {argus_alm-0.15.7 → argus_alm-0.15.8}/argus/client/generic/client.py +0 -0
  44. {argus_alm-0.15.7 → argus_alm-0.15.8}/argus/client/generic_result.py +0 -0
  45. {argus_alm-0.15.7 → argus_alm-0.15.8}/argus/client/sct/types.py +0 -0
  46. {argus_alm-0.15.7 → argus_alm-0.15.8}/argus/client/sirenada/client.py +0 -0
  47. {argus_alm-0.15.7 → argus_alm-0.15.8}/argus/common/__init__.py +0 -0
  48. {argus_alm-0.15.7 → argus_alm-0.15.8}/argus/common/enums.py +0 -0
  49. {argus_alm-0.15.7 → argus_alm-0.15.8}/argus/common/sct_types.py +0 -0
  50. {argus_alm-0.15.7 → argus_alm-0.15.8}/argus/common/sirenada_types.py +0 -0
  51. {argus_alm-0.15.7 → argus_alm-0.15.8}/argus.yaml +0 -0
  52. {argus_alm-0.15.7 → argus_alm-0.15.8}/argusAI/README.md +0 -0
  53. {argus_alm-0.15.7 → argus_alm-0.15.8}/argusAI/deployment/argusai_event_similarity_processor.service +0 -0
  54. {argus_alm-0.15.7 → argus_alm-0.15.8}/argusAI/event_similarity_processor.py +0 -0
  55. {argus_alm-0.15.7 → argus_alm-0.15.8}/argusAI/logs/.gitignore +0 -0
  56. {argus_alm-0.15.7 → argus_alm-0.15.8}/argusAI/pyproject.toml +0 -0
  57. {argus_alm-0.15.7 → argus_alm-0.15.8}/argusAI/utils/__init__.py +0 -0
  58. {argus_alm-0.15.7 → argus_alm-0.15.8}/argusAI/utils/event_message_sanitizer.py +0 -0
  59. {argus_alm-0.15.7 → argus_alm-0.15.8}/argusAI/utils/scylla_connection.py +0 -0
  60. {argus_alm-0.15.7 → argus_alm-0.15.8}/argusAI/uv.lock +0 -0
  61. {argus_alm-0.15.7 → argus_alm-0.15.8}/argus_alm.egg-info/dependency_links.txt +0 -0
  62. {argus_alm-0.15.7 → argus_alm-0.15.8}/argus_alm.egg-info/entry_points.txt +0 -0
  63. {argus_alm-0.15.7 → argus_alm-0.15.8}/argus_alm.egg-info/requires.txt +0 -0
  64. {argus_alm-0.15.7 → argus_alm-0.15.8}/argus_alm.egg-info/top_level.txt +0 -0
  65. {argus_alm-0.15.7 → argus_alm-0.15.8}/argus_backend.py +0 -0
  66. {argus_alm-0.15.7 → argus_alm-0.15.8}/argus_web.example.yaml +0 -0
  67. {argus_alm-0.15.7 → argus_alm-0.15.8}/commitlint.config.js +0 -0
  68. {argus_alm-0.15.7 → argus_alm-0.15.8}/dev-db/.gitignore +0 -0
  69. {argus_alm-0.15.7 → argus_alm-0.15.8}/dev-db/alpha-config/cassandra-rackdc.properties +0 -0
  70. {argus_alm-0.15.7 → argus_alm-0.15.8}/dev-db/alpha-config/machine_image_configured +0 -0
  71. {argus_alm-0.15.7 → argus_alm-0.15.8}/dev-db/alpha-config/scylla.yaml +0 -0
  72. {argus_alm-0.15.7 → argus_alm-0.15.8}/dev-db/alpha-data/.gitignore +0 -0
  73. {argus_alm-0.15.7 → argus_alm-0.15.8}/dev-db/docker-compose.yaml +0 -0
  74. {argus_alm-0.15.7 → argus_alm-0.15.8}/dev-db/export_data.py +0 -0
  75. {argus_alm-0.15.7 → argus_alm-0.15.8}/dev-db/import_data.py +0 -0
  76. {argus_alm-0.15.7 → argus_alm-0.15.8}/docker/config/nginx-docker.conf +0 -0
  77. {argus_alm-0.15.7 → argus_alm-0.15.8}/docker/config/supervisord.conf +0 -0
  78. {argus_alm-0.15.7 → argus_alm-0.15.8}/docker-entrypoint.sh +0 -0
  79. {argus_alm-0.15.7 → argus_alm-0.15.8}/docs/argus_status_page.md +0 -0
  80. {argus_alm-0.15.7 → argus_alm-0.15.8}/docs/argus_status_page_diagram.jpg +0 -0
  81. {argus_alm-0.15.7 → argus_alm-0.15.8}/docs/config/argus.nginx.conf +0 -0
  82. {argus_alm-0.15.7 → argus_alm-0.15.8}/docs/config/argus.service +0 -0
  83. {argus_alm-0.15.7 → argus_alm-0.15.8}/docs/dev-setup.md +0 -0
  84. {argus_alm-0.15.7 → argus_alm-0.15.8}/docs/generic_results.md +0 -0
  85. {argus_alm-0.15.7 → argus_alm-0.15.8}/docs/pypi-guide.md +0 -0
  86. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/AdminPanel/AdminPanel.svelte +0 -0
  87. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/AdminPanel/AdminPanelWelcome.svelte +0 -0
  88. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/AdminPanel/BatchTestMover.svelte +0 -0
  89. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/AdminPanel/GroupCreator.svelte +0 -0
  90. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/AdminPanel/ReleaseCreator.svelte +0 -0
  91. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/AdminPanel/ReleaseDeletionConfirmationPopup.svelte +0 -0
  92. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/AdminPanel/ReleaseEditor.svelte +0 -0
  93. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/AdminPanel/ReleaseManager.svelte +0 -0
  94. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/AdminPanel/ReleaseManagerGroup.svelte +0 -0
  95. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/AdminPanel/ReleaseManagerTest.svelte +0 -0
  96. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/AdminPanel/TestCreator.svelte +0 -0
  97. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/AdminPanel/UserManager.svelte +0 -0
  98. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/AdminPanel/ViewListItem.svelte +0 -0
  99. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/AdminPanel/ViewSelectItem.svelte +0 -0
  100. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/AdminPanel/ViewWidget.svelte +0 -0
  101. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/AdminPanel/ViewsManager.svelte +0 -0
  102. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Alert.js +0 -0
  103. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Alerts/AlertMessage.svelte +0 -0
  104. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Alerts/AlertWidget.svelte +0 -0
  105. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Common/ApiUtils.js +0 -0
  106. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Common/ArgusNotification.ts +0 -0
  107. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Common/AssigneeSelector.svelte +0 -0
  108. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Common/AssigneeUtils.js +0 -0
  109. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Common/DateUtils.js +0 -0
  110. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Common/DriverMatrixTypes.ts +0 -0
  111. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Common/IssueDestinations.js +0 -0
  112. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Common/JenkinsSettingsHelp.js +0 -0
  113. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Common/ModalWindow.svelte +0 -0
  114. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Common/PluginDispatch.js +0 -0
  115. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Common/PluginNames.js +0 -0
  116. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Common/RunUtils.js +0 -0
  117. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Common/SelectUtils.js +0 -0
  118. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Common/StateManagement.js +0 -0
  119. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Common/TestStatus.js +0 -0
  120. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Common/TextUtils.js +0 -0
  121. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Common/UserTypes.ts +0 -0
  122. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Common/UserUtils.js +0 -0
  123. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Common/ViewTypes.js +0 -0
  124. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Debug/FlashDebugComponent.svelte +0 -0
  125. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Discussion/Comment.svelte +0 -0
  126. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Discussion/CommentEditor.svelte +0 -0
  127. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Discussion/MarkedMentionExtension.js +0 -0
  128. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Discussion/MentionSelector.svelte +0 -0
  129. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Discussion/UserProfile.svelte +0 -0
  130. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Github/GithubIssue.svelte +0 -0
  131. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Github/GithubIssues.svelte +0 -0
  132. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Github/GithubIssuesCopyModal.svelte +0 -0
  133. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Profile/JobsList.svelte +0 -0
  134. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Profile/Login.svelte +0 -0
  135. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Profile/Notification.svelte +0 -0
  136. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Profile/NotificationCommentWrapper.svelte +0 -0
  137. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Profile/NotificationCounter.svelte +0 -0
  138. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Profile/NotificationSender.svelte +0 -0
  139. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Profile/NotificationTestRunWrapper.svelte +0 -0
  140. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Profile/NotificationsReader.svelte +0 -0
  141. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Profile/PlannedJob.svelte +0 -0
  142. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Profile/PlannedJobs.svelte +0 -0
  143. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Profile/ProfileJob.svelte +0 -0
  144. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Profile/ProfileJobs.svelte +0 -0
  145. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Profile/ProfileJobsTab.svelte +0 -0
  146. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Profile/ProfileSchedules.svelte +0 -0
  147. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Profile/User.svelte +0 -0
  148. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Profile/UserSelection.svelte +0 -0
  149. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Profile/ViewUserResolver.svelte +0 -0
  150. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/ReleaseDashboard/AssigneeFilter.svelte +0 -0
  151. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/ReleaseDashboard/FlatViewHelper.svelte +0 -0
  152. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/ReleaseDashboard/GroupedViewHelper.svelte +0 -0
  153. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/ReleaseDashboard/ReleaseActivity.svelte +0 -0
  154. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/ReleaseDashboard/ReleaseDashboard.svelte +0 -0
  155. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/ReleaseDashboard/ReleaseGithubIssues.svelte +0 -0
  156. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/ReleaseDashboard/TestDashboard.svelte +0 -0
  157. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/ReleaseDashboard/TestDashboardFlatView.svelte +0 -0
  158. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/ReleaseDashboard/TestDashboardGroup.svelte +0 -0
  159. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/ReleaseDashboard/TestDashboardTest.svelte +0 -0
  160. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/ReleaseDashboard/TestPopoutSelector.svelte +0 -0
  161. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/ReleaseDashboard/TestWithIssuesCard.svelte +0 -0
  162. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/ReleasePlanner/CommentTableRow.svelte +0 -0
  163. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/ReleasePlanner/DutyPlanner.svelte +0 -0
  164. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/ReleasePlanner/EntityReplacer.svelte +0 -0
  165. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/ReleasePlanner/ReleasePlan.svelte +0 -0
  166. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/ReleasePlanner/ReleasePlanCopyForm.svelte +0 -0
  167. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/ReleasePlanner/ReleasePlanCreator.svelte +0 -0
  168. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/ReleasePlanner/ReleasePlanEditor.svelte +0 -0
  169. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/ReleasePlanner/ReleasePlanTable.svelte +0 -0
  170. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/ReleasePlanner/ReleasePlanner.svelte +0 -0
  171. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/ReleasePlanner/ReleasePlannerGridView.svelte +0 -0
  172. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/ReleasePlanner/ReleaseScheduler.svelte +0 -0
  173. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/ReleasePlanner/Schedule.svelte +0 -0
  174. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/ReleasePlanner/ScheduleTable.svelte +0 -0
  175. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/ReleasePlanner/SearchBar.svelte +0 -0
  176. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Stats/ChartStats.svelte +0 -0
  177. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Stats/NumberStats.svelte +0 -0
  178. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Stats/ProgressBarStats.svelte +0 -0
  179. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Stats/ReleaseStats.svelte +0 -0
  180. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Stats/StatsFetcher.svelte +0 -0
  181. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Stores/AlertStore.js +0 -0
  182. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Stores/AssigneeSubscriber.js +0 -0
  183. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Stores/SingleTestRunSubscriber.js +0 -0
  184. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Stores/TestRunsSubscriber.js +0 -0
  185. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Stores/UserlistSubscriber.js +0 -0
  186. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Stores/WorkspaceStore.js +0 -0
  187. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Teams/TeamCreateForm.svelte +0 -0
  188. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Teams/TeamDetail.svelte +0 -0
  189. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Teams/TeamList.svelte +0 -0
  190. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Teams/TeamManager.svelte +0 -0
  191. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Teams/TeamMember.svelte +0 -0
  192. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Teams/TeamShort.svelte +0 -0
  193. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Teams/TeamUtils.ts +0 -0
  194. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/TestRun/ActivityTab.svelte +0 -0
  195. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/TestRun/ArtifactRow.svelte +0 -0
  196. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/TestRun/ArtifactTab.svelte +0 -0
  197. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/TestRun/Components/Cell.svelte +0 -0
  198. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/TestRun/Components/Filters.svelte +0 -0
  199. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/TestRun/Components/GraphFilters.svelte +0 -0
  200. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/TestRun/Components/ResultTable.svelte +0 -0
  201. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/TestRun/Components/ScreenshotModal.svelte +0 -0
  202. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/TestRun/DriverMatrixBreakdown.svelte +0 -0
  203. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/TestRun/DriverMatrixRunInfo.svelte +0 -0
  204. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/TestRun/DriverMatrixTestCollection.svelte +0 -0
  205. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/TestRun/DriverMatrixTestRun.svelte +0 -0
  206. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/TestRun/DriverMatrixTestSuites.svelte +0 -0
  207. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/TestRun/EventsTab.svelte +0 -0
  208. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/TestRun/Generic/GenericTestRun.svelte +0 -0
  209. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/TestRun/Generic/GenericTestRunInfo.svelte +0 -0
  210. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/TestRun/Generic/Subtest.js +0 -0
  211. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/TestRun/HeartbeatIndicator.svelte +0 -0
  212. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/TestRun/IssueTab.svelte +0 -0
  213. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/TestRun/IssueTemplate.svelte +0 -0
  214. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/TestRun/Jenkins/Build.js +0 -0
  215. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/TestRun/Jenkins/BuildConfirmationDialog.svelte +0 -0
  216. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/TestRun/Jenkins/BuildStartPlaceholder.svelte +0 -0
  217. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/TestRun/Jenkins/BuildSuccessPlaceholder.svelte +0 -0
  218. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/TestRun/Jenkins/CheckParam.svelte +0 -0
  219. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/TestRun/Jenkins/CloneCreatePlaceholder.svelte +0 -0
  220. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/TestRun/Jenkins/CloneSuccess.svelte +0 -0
  221. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/TestRun/Jenkins/CloneTargetSelector.svelte +0 -0
  222. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/TestRun/Jenkins/DummyCheckParam.svelte +0 -0
  223. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/TestRun/Jenkins/DummySelectParam.svelte +0 -0
  224. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/TestRun/Jenkins/JenkinsBuildModal.svelte +0 -0
  225. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/TestRun/Jenkins/JenkinsCloneModal.svelte +0 -0
  226. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/TestRun/Jenkins/LoadTargetsPlaceholder.svelte +0 -0
  227. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/TestRun/Jenkins/ModalError.svelte +0 -0
  228. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/TestRun/Jenkins/ParamFetchPlaceholder.svelte +0 -0
  229. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/TestRun/Jenkins/ParameterEditor.svelte +0 -0
  230. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/TestRun/Jenkins/SCTParameterWizard.svelte +0 -0
  231. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/TestRun/Jenkins/SelectParam.svelte +0 -0
  232. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/TestRun/Jenkins/StringParam.svelte +0 -0
  233. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/TestRun/Jenkins/TextParam.svelte +0 -0
  234. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/TestRun/Jenkins/WizardUnavailable.svelte +0 -0
  235. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/TestRun/NemesisData.svelte +0 -0
  236. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/TestRun/NemesisReason.svelte +0 -0
  237. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/TestRun/NemesisTable.svelte +0 -0
  238. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/TestRun/PackagesInfo.svelte +0 -0
  239. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/TestRun/Pytest/DtestTab.svelte +0 -0
  240. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/TestRun/Pytest/PytestItem.svelte +0 -0
  241. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/TestRun/Pytest/PytestRun.svelte +0 -0
  242. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/TestRun/Pytest/PytestTab.svelte +0 -0
  243. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/TestRun/Pytest/index.js +0 -0
  244. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/TestRun/Pytest/types.ts +0 -0
  245. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/TestRun/RawEvent.svelte +0 -0
  246. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/TestRun/ResourcesInfo.svelte +0 -0
  247. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/TestRun/ResultsGraph.svelte +0 -0
  248. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/TestRun/ResultsGraphs.svelte +0 -0
  249. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/TestRun/ResultsTab.svelte +0 -0
  250. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/TestRun/RunAssigneeSelector.svelte +0 -0
  251. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/TestRun/RunInvestigationStatusButton.svelte +0 -0
  252. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/TestRun/RunStatusButton.svelte +0 -0
  253. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/TestRun/SCT/SctEvent.svelte +0 -0
  254. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/TestRun/SCT/SctEvents.svelte +0 -0
  255. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/TestRun/SCT/SctNemesis.svelte +0 -0
  256. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/TestRun/SCTSubTests/Gemini/GeminiTabBodyComponent.svelte +0 -0
  257. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/TestRun/SCTSubTests/Gemini/GeminiTabComponent.svelte +0 -0
  258. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/TestRun/SCTSubTests/Performance/PerformanceTabBodyComponent.svelte +0 -0
  259. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/TestRun/SCTSubTests/Performance/PerformanceTabComponent.svelte +0 -0
  260. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/TestRun/SCTSubTests/Subtest.js +0 -0
  261. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/TestRun/Screenshots.svelte +0 -0
  262. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/TestRun/Sirenada/SirenadaIssueTemplate.svelte +0 -0
  263. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/TestRun/Sirenada/SirenadaRunInfo.svelte +0 -0
  264. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/TestRun/Sirenada/SirenadaTestBreakdown.svelte +0 -0
  265. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/TestRun/Sirenada/SirenadaTestRun.svelte +0 -0
  266. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/TestRun/StructuredEvent.svelte +0 -0
  267. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/TestRun/TestRun.svelte +0 -0
  268. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/TestRun/TestRunComments.svelte +0 -0
  269. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/TestRun/TestRunInfo.svelte +0 -0
  270. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/TestRun/jUnitChart.svelte +0 -0
  271. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/TestRun/jUnitResults.svelte +0 -0
  272. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Utils/IntersectionObserver.svelte +0 -0
  273. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Views/ViewDashboard.svelte +0 -0
  274. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Views/ViewSelect.svelte +0 -0
  275. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Views/WidgetSettingTypes/CheckValue.svelte +0 -0
  276. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Views/WidgetSettingTypes/IntegerValue.svelte +0 -0
  277. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Views/WidgetSettingTypes/MultiSelectValue.svelte +0 -0
  278. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Views/WidgetSettingTypes/MultiStringValue.svelte +0 -0
  279. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Views/WidgetSettingTypes/StringValue.svelte +0 -0
  280. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Views/Widgets/GraphsWidget/GraphsWidget.svelte +0 -0
  281. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Views/Widgets/PytestWidget/PytestCalendarSelector.svelte +0 -0
  282. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Views/Widgets/PytestWidget/PytestCollapseHelper.svelte +0 -0
  283. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Views/Widgets/PytestWidget/PytestFlatHelper.svelte +0 -0
  284. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Views/Widgets/PytestWidget/PytestOverviewWidget.svelte +0 -0
  285. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Views/Widgets/PytestWidget/PytestResultRow.svelte +0 -0
  286. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Views/Widgets/PytestWidget/PytestTableWidget.svelte +0 -0
  287. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Views/Widgets/PytestWidget/ViewPytestOverview.svelte +0 -0
  288. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Views/Widgets/SummaryWidget/RunIssues.svelte +0 -0
  289. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Views/Widgets/SummaryWidget/SummaryWidget.svelte +0 -0
  290. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Views/Widgets/ViewGithubIssues.svelte +0 -0
  291. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Views/Widgets/ViewGraphedStats/AssigneeCell.svelte +0 -0
  292. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Views/Widgets/ViewGraphedStats/Filters.svelte +0 -0
  293. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Views/Widgets/ViewGraphedStats/Interfaces.ts +0 -0
  294. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Views/Widgets/ViewGraphedStats/InvestigationStatusCell.svelte +0 -0
  295. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Views/Widgets/ViewGraphedStats/IssuesCell.svelte +0 -0
  296. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Views/Widgets/ViewGraphedStats/NemesisTable.svelte +0 -0
  297. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Views/Widgets/ViewGraphedStats/PaginatedTable.svelte +0 -0
  298. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Views/Widgets/ViewGraphedStats/StackTracePreview.svelte +0 -0
  299. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Views/Widgets/ViewGraphedStats/StatusBadge.svelte +0 -0
  300. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Views/Widgets/ViewGraphedStats/StatusCell.svelte +0 -0
  301. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Views/Widgets/ViewGraphedStats/TestRunTable.svelte +0 -0
  302. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Views/Widgets/ViewGraphedStats.svelte +0 -0
  303. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Views/Widgets/ViewHighlights/ActionItem.svelte +0 -0
  304. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Views/Widgets/ViewHighlights/Comment.svelte +0 -0
  305. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Views/Widgets/ViewHighlights/HighlightItem.svelte +0 -0
  306. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Views/Widgets/ViewHighlights/ViewHighlights.svelte +0 -0
  307. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Views/Widgets/ViewNemesisStats.svelte +0 -0
  308. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Views/Widgets/ViewReleaseStats.svelte +0 -0
  309. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Views/Widgets/ViewTestDashboard.svelte +0 -0
  310. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/Views/Widgets/ViewUnsupportedPlaceholder.svelte +0 -0
  311. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/WorkArea/AssigneeList.svelte +0 -0
  312. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/WorkArea/JobConfigureModal.svelte +0 -0
  313. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/WorkArea/RunGroup.svelte +0 -0
  314. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/WorkArea/RunRelease.svelte +0 -0
  315. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/WorkArea/Test.svelte +0 -0
  316. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/WorkArea/TestRunDispatcher.svelte +0 -0
  317. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/WorkArea/TestRuns.svelte +0 -0
  318. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/WorkArea/TestRunsMessage.svelte +0 -0
  319. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/WorkArea/TestRunsPanel.svelte +0 -0
  320. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/WorkArea/TestRunsSelector.svelte +0 -0
  321. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/WorkArea/UnknownTest.svelte +0 -0
  322. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/WorkArea/WorkArea.svelte +0 -0
  323. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/admin-panel.js +0 -0
  324. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/argus.css +0 -0
  325. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/argus.js +0 -0
  326. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/duty-planner.js +0 -0
  327. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/flashDebug.js +0 -0
  328. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/font-awesome.css +0 -0
  329. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/font-awesome.js +0 -0
  330. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/fonts/NotoSans-Bold.ttf +0 -0
  331. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/fonts/NotoSans-BoldItalic.ttf +0 -0
  332. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/fonts/NotoSans-Italic.ttf +0 -0
  333. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/fonts/NotoSans-Regular.ttf +0 -0
  334. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/fonts/OFL.txt +0 -0
  335. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/fonts/noto.css +0 -0
  336. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/login.js +0 -0
  337. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/markdownOptions.js +0 -0
  338. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/notification-counter.js +0 -0
  339. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/plan.js +0 -0
  340. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/profile-jobs.js +0 -0
  341. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/profile-notifications.js +0 -0
  342. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/profile-schedules.js +0 -0
  343. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/release-dashboard.js +0 -0
  344. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/release-page.js +0 -0
  345. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/release-planner.js +0 -0
  346. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/release-scheduler.js +0 -0
  347. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/run-by-plugin.js +0 -0
  348. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/teams.js +0 -0
  349. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/test-run-details.js +0 -0
  350. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/test-runs-breakout.js +0 -0
  351. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/test-runs-standalone.js +0 -0
  352. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/view-dashboard.js +0 -0
  353. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/view-user-resolver.js +0 -0
  354. {argus_alm-0.15.7 → argus_alm-0.15.8}/frontend/work-area.js +0 -0
  355. {argus_alm-0.15.7 → argus_alm-0.15.8}/package.json +0 -0
  356. {argus_alm-0.15.7 → argus_alm-0.15.8}/profile/.gitkeep +0 -0
  357. {argus_alm-0.15.7 → argus_alm-0.15.8}/public/argus.png +0 -0
  358. {argus_alm-0.15.7 → argus_alm-0.15.8}/public/no-user-picture.png +0 -0
  359. {argus_alm-0.15.7 → argus_alm-0.15.8}/pyproject.toml +0 -0
  360. {argus_alm-0.15.7 → argus_alm-0.15.8}/pytest-argus-reporter/.envrc +0 -0
  361. {argus_alm-0.15.7 → argus_alm-0.15.8}/pytest-argus-reporter/LICENSE +0 -0
  362. {argus_alm-0.15.7 → argus_alm-0.15.8}/pytest-argus-reporter/MANIFEST.in +0 -0
  363. {argus_alm-0.15.7 → argus_alm-0.15.8}/pytest-argus-reporter/README.md +0 -0
  364. {argus_alm-0.15.7 → argus_alm-0.15.8}/pytest-argus-reporter/noxfile.py +0 -0
  365. {argus_alm-0.15.7 → argus_alm-0.15.8}/pytest-argus-reporter/pyproject.toml +0 -0
  366. {argus_alm-0.15.7 → argus_alm-0.15.8}/pytest-argus-reporter/pytest_argus_reporter.py +0 -0
  367. {argus_alm-0.15.7 → argus_alm-0.15.8}/rollup.config.js +0 -0
  368. {argus_alm-0.15.7 → argus_alm-0.15.8}/run_with_profiler.py +0 -0
  369. {argus_alm-0.15.7 → argus_alm-0.15.8}/scripts/argus-status-page/index.html +0 -0
  370. {argus_alm-0.15.7 → argus_alm-0.15.8}/scripts/argus-status-page/js/status.js +0 -0
  371. {argus_alm-0.15.7 → argus_alm-0.15.8}/scripts/argus-status-page/static/app.css +0 -0
  372. {argus_alm-0.15.7 → argus_alm-0.15.8}/scripts/argus-status-page/static/argus.png +0 -0
  373. {argus_alm-0.15.7 → argus_alm-0.15.8}/scripts/argus-status-page/static/scylla.png +0 -0
  374. {argus_alm-0.15.7 → argus_alm-0.15.8}/scripts/argus-status-page/status.json +0 -0
  375. {argus_alm-0.15.7 → argus_alm-0.15.8}/scripts/migration/migration_2023-04-07.py +0 -0
  376. {argus_alm-0.15.7 → argus_alm-0.15.8}/scripts/migration/migration_2024-04-14.py +0 -0
  377. {argus_alm-0.15.7 → argus_alm-0.15.8}/scripts/migration/migration_2025-07-18.py +0 -0
  378. {argus_alm-0.15.7 → argus_alm-0.15.8}/setup.cfg +0 -0
  379. {argus_alm-0.15.7 → argus_alm-0.15.8}/start_argus.sh +0 -0
  380. {argus_alm-0.15.7 → argus_alm-0.15.8}/storage/profile_pictures/.gitignore +0 -0
  381. {argus_alm-0.15.7 → argus_alm-0.15.8}/templates/admin/base.html.j2 +0 -0
  382. {argus_alm-0.15.7 → argus_alm-0.15.8}/templates/admin/index.html.j2 +0 -0
  383. {argus_alm-0.15.7 → argus_alm-0.15.8}/templates/auth/login.html.j2 +0 -0
  384. {argus_alm-0.15.7 → argus_alm-0.15.8}/templates/auth/register.html.j2 +0 -0
  385. {argus_alm-0.15.7 → argus_alm-0.15.8}/templates/base.html.j2 +0 -0
  386. {argus_alm-0.15.7 → argus_alm-0.15.8}/templates/dashboard.html.j2 +0 -0
  387. {argus_alm-0.15.7 → argus_alm-0.15.8}/templates/duty_planner.html.j2 +0 -0
  388. {argus_alm-0.15.7 → argus_alm-0.15.8}/templates/error.html.j2 +0 -0
  389. {argus_alm-0.15.7 → argus_alm-0.15.8}/templates/flash_debug.html.j2 +0 -0
  390. {argus_alm-0.15.7 → argus_alm-0.15.8}/templates/groups.html.j2 +0 -0
  391. {argus_alm-0.15.7 → argus_alm-0.15.8}/templates/home.html.j2 +0 -0
  392. {argus_alm-0.15.7 → argus_alm-0.15.8}/templates/notifications/assigned.html.j2 +0 -0
  393. {argus_alm-0.15.7 → argus_alm-0.15.8}/templates/notifications/assigned_email.html.j2 +0 -0
  394. {argus_alm-0.15.7 → argus_alm-0.15.8}/templates/notifications/email_mention.html.j2 +0 -0
  395. {argus_alm-0.15.7 → argus_alm-0.15.8}/templates/notifications/mention.html.j2 +0 -0
  396. {argus_alm-0.15.7 → argus_alm-0.15.8}/templates/notifications/view_action_item_assigned.html.j2 +0 -0
  397. {argus_alm-0.15.7 → argus_alm-0.15.8}/templates/notifications/view_action_item_assigned_email.html.j2 +0 -0
  398. {argus_alm-0.15.7 → argus_alm-0.15.8}/templates/notifications/view_highlight_mention.html.j2 +0 -0
  399. {argus_alm-0.15.7 → argus_alm-0.15.8}/templates/notifications/view_highlight_mention_email.html.j2 +0 -0
  400. {argus_alm-0.15.7 → argus_alm-0.15.8}/templates/partials/nav_bar.html.j2 +0 -0
  401. {argus_alm-0.15.7 → argus_alm-0.15.8}/templates/plan_dashboard.html.j2 +0 -0
  402. {argus_alm-0.15.7 → argus_alm-0.15.8}/templates/profile.html.j2 +0 -0
  403. {argus_alm-0.15.7 → argus_alm-0.15.8}/templates/profile_jobs.html.j2 +0 -0
  404. {argus_alm-0.15.7 → argus_alm-0.15.8}/templates/profile_notifications.html.j2 +0 -0
  405. {argus_alm-0.15.7 → argus_alm-0.15.8}/templates/profile_schedules.html.j2 +0 -0
  406. {argus_alm-0.15.7 → argus_alm-0.15.8}/templates/release_dashboard.html.j2 +0 -0
  407. {argus_alm-0.15.7 → argus_alm-0.15.8}/templates/release_planner.html.j2 +0 -0
  408. {argus_alm-0.15.7 → argus_alm-0.15.8}/templates/release_schedule.html.j2 +0 -0
  409. {argus_alm-0.15.7 → argus_alm-0.15.8}/templates/releases.html.j2 +0 -0
  410. {argus_alm-0.15.7 → argus_alm-0.15.8}/templates/run_view_by_plugin.html.j2 +0 -0
  411. {argus_alm-0.15.7 → argus_alm-0.15.8}/templates/runs.html.j2 +0 -0
  412. {argus_alm-0.15.7 → argus_alm-0.15.8}/templates/standalone_test_with_runs.html.j2 +0 -0
  413. {argus_alm-0.15.7 → argus_alm-0.15.8}/templates/teams.html.j2 +0 -0
  414. {argus_alm-0.15.7 → argus_alm-0.15.8}/templates/test_run.html.j2 +0 -0
  415. {argus_alm-0.15.7 → argus_alm-0.15.8}/templates/test_runs.html.j2 +0 -0
  416. {argus_alm-0.15.7 → argus_alm-0.15.8}/templates/tests.html.j2 +0 -0
  417. {argus_alm-0.15.7 → argus_alm-0.15.8}/templates/view_dashboard.html.j2 +0 -0
  418. {argus_alm-0.15.7 → argus_alm-0.15.8}/templates/views.html.j2 +0 -0
  419. {argus_alm-0.15.7 → argus_alm-0.15.8}/tsconfig.json +0 -0
  420. {argus_alm-0.15.7 → argus_alm-0.15.8}/uv.lock +0 -0
  421. {argus_alm-0.15.7 → argus_alm-0.15.8}/uwsgi.ini +0 -0
  422. {argus_alm-0.15.7 → argus_alm-0.15.8}/yarn.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: argus-alm
3
- Version: 0.15.7
3
+ Version: 0.15.8
4
4
  Summary: Argus
5
5
  Author-email: Alexey Kartashov <alexey.kartashov@scylladb.com>, Łukasz Sójka <lukasz.sojka@scylladb.com>
6
6
  License-Expression: Apache-2.0
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
28
28
  commit_id: COMMIT_ID
29
29
  __commit_id__: COMMIT_ID
30
30
 
31
- __version__ = version = '0.15.7'
32
- __version_tuple__ = version_tuple = (0, 15, 7)
31
+ __version__ = version = '0.15.8'
32
+ __version_tuple__ = version_tuple = (0, 15, 8)
33
33
 
34
- __commit_id__ = commit_id = 'g0830253e3'
34
+ __commit_id__ = commit_id = 'geb08ab7cf'
@@ -2,6 +2,7 @@ import base64
2
2
  from typing import Any
3
3
  from uuid import UUID
4
4
  from dataclasses import asdict
5
+ from argus.common.email import RawAttachment, ReportSection, ReportSectionShortHand
5
6
  from argus.common.sct_types import GeminiResultsRequest, PerformanceResultsRequest, RawEventPayload
6
7
  from argus.common.enums import ResourceState, TestStatus
7
8
  from argus.client.base import ArgusClient
@@ -27,6 +28,7 @@ class ArgusSCTClient(ArgusClient):
27
28
  SUBMIT_EVENTS = "/sct/$id/events/submit"
28
29
  SUBMIT_EVENT = "/sct/$id/event/submit"
29
30
  SUBMIT_JUNIT_REPORT = "/sct/$id/junit/submit"
31
+ SUBMIT_EMAIL = "/testrun/report"
30
32
 
31
33
  def __init__(self, run_id: UUID, auth_token: str, base_url: str, api_version="v1", extra_headers: dict | None = None) -> None:
32
34
  super().__init__(auth_token, base_url, api_version, extra_headers=extra_headers)
@@ -136,6 +138,25 @@ class ArgusSCTClient(ArgusClient):
136
138
  )
137
139
  self.check_response(response)
138
140
 
141
+ def send_email(self, recipients: list[str], title: str = "#auto", sections: list[ReportSection | ReportSectionShortHand] = None, attachments: list[RawAttachment] | None = None) -> None:
142
+ """
143
+ Send a testrun report email using Argus.
144
+ Documentation: https://github.com/scylladb/argus/blob/master/docs/api_usage.md#L124
145
+ """
146
+ response = self.post(
147
+ endpoint=self.Routes.SUBMIT_EMAIL,
148
+ location_params={},
149
+ body={
150
+ **self.generic_body,
151
+ "run_id": self.run_id,
152
+ "title": title,
153
+ "recipients": recipients,
154
+ "sections": sections or [],
155
+ "attachments": attachments or [],
156
+ }
157
+ )
158
+ self.check_response(response)
159
+
139
160
  def submit_gemini_results(self, gemini_data: GeminiResultsRequest) -> None:
140
161
  """
141
162
  Submits gemini results such as oracle node information and gemini command & its results
@@ -0,0 +1,33 @@
1
+
2
+ from typing import Any, Literal, TypedDict
3
+
4
+
5
+ class ReportSection(TypedDict):
6
+ type: str
7
+ options: dict[str, Any]
8
+
9
+
10
+ ReportSectionShortHand = Literal["main",
11
+ "header",
12
+ "packages",
13
+ "logs",
14
+ "cloud",
15
+ "nemesis",
16
+ "events",
17
+ "screenshots",
18
+ "custom_table",
19
+ "custom_html",]
20
+
21
+
22
+ class RawAttachment(TypedDict):
23
+ filename: str
24
+ data: str # Base64 string
25
+
26
+
27
+ class RawReportSendRequest(TypedDict):
28
+ schema_version: str
29
+ run_id: str
30
+ title: str
31
+ recipients: list[str]
32
+ sections: list[ReportSection]
33
+ attachments: list[RawAttachment]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: argus-alm
3
- Version: 0.15.7
3
+ Version: 0.15.8
4
4
  Summary: Argus
5
5
  Author-email: Alexey Kartashov <alexey.kartashov@scylladb.com>, Łukasz Sójka <lukasz.sojka@scylladb.com>
6
6
  License-Expression: Apache-2.0
@@ -40,6 +40,7 @@ argus/client/sct/client.py
40
40
  argus/client/sct/types.py
41
41
  argus/client/sirenada/client.py
42
42
  argus/common/__init__.py
43
+ argus/common/email.py
43
44
  argus/common/enums.py
44
45
  argus/common/sct_types.py
45
46
  argus/common/sirenada_types.py
@@ -394,6 +395,19 @@ templates/admin/base.html.j2
394
395
  templates/admin/index.html.j2
395
396
  templates/auth/login.html.j2
396
397
  templates/auth/register.html.j2
398
+ templates/email/base.html.j2
399
+ templates/email/css/styles.css
400
+ templates/email/partials/cloud.html.j2
401
+ templates/email/partials/custom_html.html.j2
402
+ templates/email/partials/custom_table.html.j2
403
+ templates/email/partials/events.html.j2
404
+ templates/email/partials/header.html.j2
405
+ templates/email/partials/logs.html.j2
406
+ templates/email/partials/main.html.j2
407
+ templates/email/partials/nemesis.html.j2
408
+ templates/email/partials/packages.html.j2
409
+ templates/email/partials/screenshots.html.j2
410
+ templates/email/partials/unsupported.html.j2
397
411
  templates/notifications/assigned.html.j2
398
412
  templates/notifications/assigned_email.html.j2
399
413
  templates/notifications/email_mention.html.j2
@@ -0,0 +1,280 @@
1
+ # Argus API
2
+
3
+ To use argus API the user first should generate an API token. To do so, proceed to the Profile Page inside the application and locate the button to generate the token. WARNING: The token will be shown only once, so be sure to save it after copying. For each API call, the token should be provided as part of Authorization header, example:
4
+
5
+ ```sh
6
+ curl --request GET \
7
+ --url https://argus.scylladb.com/api/v1/client/driver_matrix/test_report?buildId=example/driver-matrix/test \
8
+ --header "Authorization: token YourTokenHere"
9
+ ```
10
+
11
+ ## Current endpoints
12
+
13
+ ```http
14
+ GET /api/v1/client/driver_matrix/test_report
15
+ ```
16
+
17
+ Accepts following parameters:
18
+
19
+ | Parameter | Type | Description |
20
+ | --------- | ---- | ------------|
21
+ | buildId | string | build id of the test to query |
22
+
23
+ ```json
24
+ {
25
+ "response": {
26
+ "build_id": "example/driver-matrix/test",
27
+ "release": "xxxxxxxx",
28
+ "test": "testing-driver-matrix",
29
+ "versions": {
30
+ "datastax": [
31
+ "pytest.datastax.v3.3.24.0",
32
+ "pytest.datastax.v3.3.25.0",
33
+ "pytest.datastax.v4.3.24.0",
34
+ "pytest.datastax.v4.3.25.0"
35
+ ],
36
+ "scylla": [
37
+ "pytest.scylla.v3.3.24.8",
38
+ "pytest.scylla.v3.3.25.5",
39
+ "pytest.scylla.v4.3.24.8",
40
+ "pytest.scylla.v4.3.25.5"
41
+ ]
42
+ }
43
+ },
44
+ "status": "ok"
45
+ }
46
+ ```
47
+
48
+ ```http
49
+ POST /api/v1/planning/plan/trigger
50
+ ```
51
+
52
+ Accepts following payload:
53
+
54
+ Type: application/json
55
+
56
+ | Parameter | Type | Description |
57
+ | --------- | ---- | ------------|
58
+ | release | string | Release name to trigger plans in (can be mixed vith version to narrow filter) |
59
+ | plan_id | string | Specific plan id to trigger |
60
+ | version | string | Target scylla version of plans to trigger |
61
+ | common_params | object{ param_name: value } | Common parameters, such as backend |
62
+ | params | object{ param_name: value }[] | specific job parameters |
63
+
64
+ Example payload:
65
+
66
+ ```json
67
+ {
68
+ {
69
+ "version": "2024.3.1~rc0",
70
+ "release": "scylla-master",
71
+ "plan_id": "some-plan-uuid",
72
+ "common_params": {
73
+ "instance_provision": "spot",
74
+ },
75
+ "params": [
76
+ {
77
+ "test": "longevity",
78
+ "backend": "aws",
79
+ "region": "eu-west-1",
80
+ "scylla_ami_id": "ami-abcd"
81
+ },
82
+ {
83
+ "test": "longevity",
84
+ "backend": "azure",
85
+ "region": "us-east1",
86
+ "azure_image_id": "/subscriptions…",
87
+ }
88
+ ]
89
+ }
90
+
91
+ }
92
+ ```
93
+
94
+ ```json
95
+ {
96
+ "response": {
97
+ "jobs": [
98
+ "http://jenkins/path/job/one/1",
99
+ "http://jenkins/path/job/two/3",
100
+ "http://jenkins/path/job/three/5",
101
+ "http://jenkins/path/job/four/9"
102
+ ],
103
+ "failed_to_execute": [
104
+ "path/job/one",
105
+ "path/job/two",
106
+ "path/job/three",
107
+ "path/job/four"
108
+ ]
109
+ },
110
+ "status": "ok"
111
+ }
112
+ ```
113
+
114
+ Additionally, this endpoint is available inside `argus-client-generic` executable, as follows:
115
+
116
+ ```bash
117
+ argus-client-generic trigger-jobs --api-key $key --version $version --plan_id $id --release $release --job-info-file $file_path
118
+ ```
119
+
120
+ `--job-info-file` is a .json file containing `common_params` and `params` parts of the payload, everything else is specified on the command line.
121
+
122
+
123
+
124
+ ## Email reporting API
125
+
126
+ ```http
127
+ POST /api/v1/client/testrun/report/email
128
+ ```
129
+
130
+ ### Payload
131
+
132
+ |Key|Type|Description|
133
+ |---|----|-----------|
134
+ |recepients|array of string| List of email report recepients |
135
+ |title|string| Title of the email. Use `#auto` for automatically generated title |
136
+ |run_id|string| UUID of the run to report |
137
+ |attachments| Attachment[] | list of attachments to send |
138
+ |sections | mixed(string, Section)[] | list of mixed strings of section names or Section object |
139
+
140
+ #### Attachment
141
+
142
+ |Field|Type|Description|
143
+ |-----|----|-----------|
144
+ |filename|string| Filename of the attachment |
145
+ |data|string| Base64 encoded payload |
146
+
147
+ #### Section
148
+
149
+ |Field|Type|Description|
150
+ |-----|----|-----------|
151
+ |type|string| Section type [Required]|
152
+ |options| Options | Options object with supported option keys |
153
+
154
+ Supported sections are:
155
+
156
+ | Name|Description|
157
+ |-----|-----------|
158
+ | header| Topmost header of the email. Contains the link to the Argus run and a status icon |
159
+ | main| Info block similar to the Info tab on the Argus run page. Contains info about the run such as runtime, used scylla version and sct branch and others. |
160
+ | packages| Table with package name and version information |
161
+ | logs| List of links to the log files stored on S3 for this run |
162
+ | cloud| Contains active remaining resources running at the end the test. Table |
163
+ | nemesis| Table of nemeses in the run with their status and durations |
164
+ | events| Event block of most recent events sorted by timestamp |
165
+ | screenshots| Grafana screenshot gallery |
166
+ | custom_table| Custom table element. Can be used to display arbitrary tables. HTML in cells is **not** supported |
167
+ | custom_html| Arbitrary HTML |
168
+
169
+ If a section is unrecognized, it will be rendered as a special "Unsupported" section which will print all the options sent to that section.
170
+
171
+ If a section is passed but data for it in Argus is empty, the section won't be rendered. Some sections are always attempted to be rendered.
172
+
173
+ The `section` block can be provided as empty array to use the default template.
174
+
175
+ ##### Section options
176
+
177
+ ###### Events
178
+
179
+ |Option|Type|Description|
180
+ |------|----|-----------|
181
+ |amount_per_severity| number | Amount of events per severity to display (default 10)|
182
+ |severity_filter| string[] | Names of severities to include in the email (default [CRITICAL, ERROR]). Available severities: CRITICAL, ERROR, WARNING, NORMAL, DEBUG (case-sensitive)|
183
+
184
+ ###### Nemesis
185
+
186
+ |Option|Type|Description|
187
+ |------|----|-----------|
188
+ |sort_order| tuple of key of NemesisRunInfo, direction | Default (start_time, desc). Direction can be: asc, desc. `NemesisRunInfo` can be viewed [here](https://github.com/scylladb/argus/blob/master/argus/backend/plugins/sct/udt.py#L78) |
189
+ |status_filter| string[] | Names of nemesis status to include in the email (default [failed, succeeded]). Available statuses: started, running, failed, skipped, succeeded, terminated (case-sensitive)|
190
+
191
+ ###### Custom Table
192
+
193
+ |Option|Type|Description|
194
+ |------|----|-----------|
195
+ |table_name| string | Table title|
196
+ |headers| any[] | Table header columns (Required) |
197
+ |rows| any[][] | Array of table cell arrays. |
198
+
199
+ ###### Custom HTML
200
+
201
+ |Option|Type|Description|
202
+ |------|----|-----------|
203
+ |section_name| string | Section Title |
204
+ |html| string | Section HTML Content |
205
+
206
+ Example:
207
+
208
+ ```json
209
+ {
210
+ "section_name": "Additional Info",
211
+ "html": "<h1 title='lorem' style='background-color: red'>loremLorem, ipsum dolor.</h1><p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Nisi maiores, eius nemo veritatis dolorem blanditiis nam magni dicta laborum iste!</p>"
212
+ }
213
+ ```
214
+
215
+
216
+ ### Example payload
217
+
218
+ ```json
219
+ {
220
+ "recepients": [
221
+ "john.smith@scylladb.com"
222
+ ],
223
+ "run_id": "17351a94-3aba-41de-aba5-cda123dff0bb",
224
+ "title": "#auto",
225
+ "attachments": [
226
+ ],
227
+ "sections": [
228
+ "header",
229
+ "main",
230
+ "packages",
231
+ "screenshots",
232
+ "cloud",
233
+ {
234
+ "type": "events",
235
+ "options": {
236
+ "amount_per_severity": 10,
237
+ "severity_filter": [
238
+ "CRITICAL",
239
+ "ERROR"
240
+ ]
241
+ }
242
+ },
243
+ {
244
+ "type": "nemesis",
245
+ "options": {
246
+ "sort_order": [
247
+ "start_time",
248
+ "desc"
249
+ ],
250
+ "status_filter": [
251
+ "failed",
252
+ "succeeded"
253
+ ]
254
+ }
255
+ },
256
+ "logs",
257
+ {
258
+ "type": "custom_table",
259
+ "options": {
260
+ "table_name": "My Table",
261
+ "headers": ["hello", "one", "two"],
262
+ "rows": [
263
+ [1,2,3],
264
+ ["four", "five", "six"]
265
+ ]
266
+ }
267
+ }
268
+ ]
269
+ }
270
+
271
+ ```
272
+
273
+ ### Response
274
+
275
+ ```json
276
+ {
277
+ "response": true,
278
+ "status": "ok"
279
+ }
280
+ ```
@@ -0,0 +1,46 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>{{ title }}</title>
7
+ <style>
8
+ {% include "email/css/styles.css" %}
9
+ </style>
10
+ </head>
11
+ <body style="background-color: #f8f9fa; font-family: sans-serif">
12
+ <div class="upper-block"></div>
13
+ <div style="display: none">
14
+ [{{ run.status.replace("_", " ").upper() }}] {{run.build_id}}#{{run.build_job_url | build_url_to_build_number }} {{ run.test_method }} - {{ run.id }}
15
+ <br>
16
+ <br>
17
+ <br>
18
+ <br>
19
+ </div>
20
+ <div class="margin-body" style="padding: 0.25rem; background-color: white; border: 1px solid #dee2e6">
21
+ <div style="min-height: 128px; background-color: #212529; padding: 0.25rem; margin-bottom: 0.5rem;">
22
+ <h1 style="color: white">
23
+ <table style="border-width: 0; width: 100%; vertical-align: middle">
24
+ <thead style="border-width: 0;"></thead>
25
+ <tbody style="border-width: 0;">
26
+ <tr style="border-width: 0;">
27
+ <td style="border-width: 0; width: 50%; text-align: right"><img style="height: 128px;" src="https://raw.githubusercontent.com/scylladb/argus/master/public/argus.png" alt="Argus Logo"></td>
28
+ <td style="border-width: 0; width: 50%; text-align: left">Argus</td>
29
+ </tr>
30
+ </tbody>
31
+ </table>
32
+ </h1>
33
+ </div>
34
+ {% for section in sections %}
35
+ {% if section["has_data"] %}
36
+ <div style="margin-bottom: 0.5rem">
37
+ {% from section["template_path"] import render_partial %}
38
+ {{ render_partial(section) }}
39
+ </div>
40
+ <hr>
41
+ {% else %}
42
+ {% endif %}
43
+ {% endfor %}
44
+ </div>
45
+ </body>
46
+ </html>
@@ -0,0 +1,179 @@
1
+
2
+ *,
3
+ *::before,
4
+ *::after {
5
+ box-sizing: border-box;
6
+ }
7
+
8
+ hr {
9
+ margin: 1rem 0;
10
+ color: inherit;
11
+ border: 0;
12
+ border-top: 1px solid;
13
+ opacity: 0.25;
14
+ }
15
+
16
+ pre,
17
+ code,
18
+ kbd,
19
+ samp {
20
+ font-family: monospace;
21
+ font-size: 1em;
22
+ }
23
+
24
+ pre {
25
+ display: block;
26
+ margin-top: 0;
27
+ margin-bottom: 1rem;
28
+ overflow: auto;
29
+ font-size: 0.875em;
30
+ }
31
+
32
+ pre code {
33
+ font-size: inherit;
34
+ color: inherit;
35
+ word-break: normal;
36
+ }
37
+
38
+ code {
39
+ font-size: 0.875em;
40
+ color: rgb(255, 97, 97);
41
+ word-wrap: break-word;
42
+ }
43
+
44
+ a>code {
45
+ color: inherit;
46
+ }
47
+
48
+ table {
49
+ caption-side: bottom;
50
+ border-collapse: collapse;
51
+ }
52
+
53
+ th {
54
+ text-align: inherit;
55
+ }
56
+
57
+ thead,
58
+ tbody,
59
+ tfoot,
60
+ tr,
61
+ td,
62
+ th {
63
+ border-color: rgb(192, 192, 192);
64
+ border-style: solid;
65
+ border-width: 1px;
66
+ }
67
+
68
+ .table {
69
+ width: 100%;
70
+ margin-bottom: 1rem;
71
+ vertical-align: top;
72
+ border-color: #dee2e6;
73
+ }
74
+
75
+ .table> :not(caption)>*>* {
76
+ padding: 0.5rem 0.5rem;
77
+ color: #000;
78
+ background-color: var(--bs-table-bg);
79
+ border-bottom-width: var(--bs-border-width);
80
+ }
81
+
82
+ .table>tbody {
83
+ vertical-align: inherit;
84
+ }
85
+
86
+ .table>thead {
87
+ vertical-align: bottom;
88
+ }
89
+
90
+ .table-group-divider {
91
+ border-top: calc(var(--bs-border-width) * 2) solid currentcolor;
92
+ }
93
+
94
+ .caption-top {
95
+ caption-side: top;
96
+ }
97
+
98
+ .table-sm> :not(caption)>*>* {
99
+ padding: 0.25rem 0.25rem;
100
+ }
101
+
102
+ .table-bordered> :not(caption)>* {
103
+ border-width: 1px 0;
104
+ }
105
+
106
+ .table-bordered> :not(caption)>*>* {
107
+ border-width: 0 1px;
108
+ }
109
+
110
+ .table-borderless> :not(caption)>*>* {
111
+ border-bottom-width: 0;
112
+ }
113
+
114
+ .table-borderless> :not(:first-child) {
115
+ border-top-width: 0;
116
+ }
117
+
118
+ .table-responsive {
119
+ overflow-x: scroll;
120
+ -webkit-overflow-scrolling: touch;
121
+ }
122
+
123
+ a.btn-link {
124
+ color: white;
125
+ text-decoration: none;
126
+ }
127
+
128
+ a.btn-link-dark {
129
+ color: black;
130
+ }
131
+
132
+ a.btn-link:visited {
133
+ color: white;
134
+ text-decoration: none;
135
+ }
136
+
137
+ a.btn-link-dark :visited {
138
+ color: black;
139
+ }
140
+
141
+ .margin-body {
142
+ margin: 3.5rem 10rem;
143
+ }
144
+
145
+ .upper-block {
146
+ height: 72px;
147
+ }
148
+
149
+ .info-list {
150
+ vertical-align:top;
151
+ list-style-type: none;
152
+ list-style-position: outside;
153
+ padding: 0;
154
+ display: inline-block;
155
+ width: 40%;
156
+ padding-left: 12px;
157
+ }
158
+
159
+ .img-screenshot {
160
+ display: inline-block;
161
+ width: 512px;
162
+ height: 512px;
163
+ object-fit: cover;
164
+ object-position: top;
165
+ }
166
+
167
+ @media screen and (max-width: 768px) {
168
+ .margin-body {
169
+ margin: 0 0;
170
+ }
171
+
172
+ .info-list {
173
+ width: 100%;
174
+ }
175
+
176
+ .upper-block {
177
+ display: none;
178
+ }
179
+ }
@@ -0,0 +1,29 @@
1
+ {% macro render_partial(options) %}
2
+ <div class="table-responsive">
3
+ <h2><a class="btn-link-dark" href="http://argus.scylladb.com/tests/scylla-cluster-tests/{{ options['run_id' ]}}/resources">Resources</a></h2>
4
+ <table class="table table-responsive table-bordered">
5
+ <thead>
6
+ <tr>
7
+ <th>Status</th>
8
+ <th>Backend</th>
9
+ <th>Type</th>
10
+ <th>Instance</th>
11
+ <th>Name</th>
12
+ <th>Region</th>
13
+ </tr>
14
+ </thead>
15
+ <tbody>
16
+ {% for resource in options["resources"] | sort(attribute="name") | selectattr("state", "eq", "running") %}
17
+ <tr style="text-align: center">
18
+ <td>{{ resource["state"] }}</td>
19
+ <td>{{ resource["instance_info"]["provider"] }}</td>
20
+ <td>{{ resource["resource_type"] }}</td>
21
+ <td>{{ resource["instance_info"]["instance_type"] }}</td>
22
+ <td>{{ resource["name"] }}</td>
23
+ <td>{{ resource["instance_info"]["region"] }}</td>
24
+ </tr>
25
+ {% endfor %}
26
+ </tbody>
27
+ </table>
28
+ </div>
29
+ {%- endmacro %}
@@ -0,0 +1,8 @@
1
+ {% macro render_partial(options) %}
2
+ <div>
3
+ <h2><a class="btn-link-dark" href="http://argus.scylladb.com/tests/scylla-cluster-tests/{{ options['run_id' ]}}">{{ options["section_name"] }}</a></h2>
4
+ <div>
5
+ {{ options["html"] | safe }}
6
+ </div>
7
+ </div>
8
+ {%- endmacro %}