Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: NASA-AMMOS/openmct-mcws
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v5.1.0-rc2
Choose a base ref
...
head repository: NASA-AMMOS/openmct-mcws
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: main
Choose a head ref
Loading
Showing with 6,687 additions and 18,143 deletions.
  1. +42 −3 .github/ISSUE_TEMPLATE/commitment.md
  2. +36 −15 .github/ISSUE_TEMPLATE/defect-report.md
  3. +20 −1 .github/ISSUE_TEMPLATE/documentation.md
  4. +25 −9 .github/ISSUE_TEMPLATE/improvement.md
  5. +26 −0 .github/ISSUE_TEMPLATE/other.md
  6. +30 −2 .github/ISSUE_TEMPLATE/sustaining-activities.md
  7. +116 −0 .github/workflows/codeql_scrub.yml
  8. +2 −0 .gitignore
  9. +35 −27 .webpack/webpack.common.js
  10. +33 −32 .webpack/webpack.dev.js
  11. +1 −7 .webpack/webpack.prod.js
  12. +46 −11 config.js
  13. +1 −0 index.html
  14. +208 −0 issue-list-generator.sh
  15. +6 −25 loader.js
  16. +27 −29 package.json
  17. +1 −1 pom.xml
  18. +35 −19 src/AMMOSPlugins.js
  19. +1 −1 src/actionModifiers/ImportExportWithDatasets/ImportWithDatasetsFormComponent.vue
  20. +25 −12 src/actionModifiers/ImportExportWithDatasets/importWithDatasetsModifier.js
  21. +3 −0 src/actionModifiers/MultipleDatasets/constants.js
  22. +49 −0 src/actionModifiers/MultipleDatasets/warnMultipleDatasetsOnDuplicateModifier.js
  23. +46 −0 src/actionModifiers/MultipleDatasets/warnMultipleDatasetsOnImportModifier.js
  24. +9 −2 src/actionModifiers/plugin.js
  25. +21 −7 src/alarmsView/{alarms-view-timeout.vue → AlarmsAutoclear.vue}
  26. +61 −0 src/alarmsView/AlarmsAutoclearViewProvider.js
  27. +27 −13 src/alarmsView/AlarmsViewProvider.js
  28. +11 −45 src/alarmsView/plugin.js
  29. +0 −39 src/channelTable/channelTablePlugin/CellFormatConfigurationComponent.js
  30. +50 −0 src/channelTable/channelTablePlugin/CellFormatConfigurationComponent.vue
  31. +131 −141 src/channelTable/channelTablePlugin/ChannelTable.js
  32. +55 −52 src/channelTable/channelTablePlugin/ChannelTableFormatViewProvider.js
  33. +23 −26 src/channelTable/channelTablePlugin/ChannelTableRow.js
  34. +119 −132 src/channelTable/channelTablePlugin/ChannelTableRowCollection.js
  35. +28 −13 src/channelTable/channelTablePlugin/ChannelTableViewProvider.js
  36. +35 −36 src/channelTable/channelTablePlugin/EmptyChannelTableRow.js
  37. +0 −9 src/channelTable/channelTablePlugin/cell-format-configuration.html
  38. +10 −5 src/channelTable/channelTablePlugin/plugin.js
  39. +2 −1 src/channelTable/channelTableSetPlugin/ChannelRow.vue
  40. +6 −6 src/channelTable/channelTableSetPlugin/ChannelTableSet.vue
  41. +21 −10 src/channelTable/channelTableSetPlugin/ChannelTableSetView.js
  42. 0 src/clearDataIndicator/{indicator/clearDataIndicator.vue → ClearDataIndicator.vue}
  43. +23 −17 src/clearDataIndicator/plugin.js
  44. +12 −20 src/commandEventsView/CommandEventsTable.js
  45. +53 −40 src/commandEventsView/CommandEventsViewProvider.js
  46. +5 −4 src/commandEventsView/plugin.js
  47. +18 −8 src/containerView/FolderGridViewProvider.js
  48. +19 −9 src/containerView/FolderListViewProvider.js
  49. +111 −0 src/customForms/UrlField/UrlField.vue
  50. +41 −0 src/customForms/UrlField/UrlFieldFormController.js
  51. +7 −0 src/customForms/plugin.js
  52. +26 −12 src/dictionaryView/dictionaryViewProvider.js
  53. +2 −30 src/dictionaryView/dictionaryViewTable.js
  54. +2 −2 src/dictionaryView/plugin.js
  55. +0 −4 src/evrView/EVRTable.js
  56. +1 −1 src/evrView/EVRViewLevelsConfigurationView.vue
  57. +24 −13 src/evrView/EVRViewLevelsConfigurationViewProvider.js
  58. +28 −14 src/evrView/EVRViewProvider.js
  59. +7 −4 src/evrView/plugin.js
  60. +84 −0 src/exportDataAction/ExportDataAction.js
  61. +202 −0 src/exportDataAction/ExportDataActionSpec.js
  62. +62 −0 src/exportDataAction/ExportDataTask.js
  63. +118 −0 src/exportDataAction/ExportDataTaskSpec.js
  64. +8 −0 src/exportDataAction/plugin.js
  65. +0 −4 src/frameEventFilterView/FrameEventFilterTable.js
  66. +28 −14 src/frameEventFilterView/FrameEventFilterViewProvider.js
  67. +2 −2 src/frameEventFilterView/plugin.js
  68. +2 −2 src/frameaccountability/BadFramesTelemetryTable.js
  69. +5 −7 src/frameaccountability/components/frameAccountability.js
  70. +3 −2 src/frameaccountability/components/frameAccountabilityBadFrames.vue
  71. +25 −11 src/frameaccountability/frameAccountabilityViewProvider.js
  72. +2 −2 src/frameaccountability/plugin.js
  73. +22 −10 src/framesummary/FrameWatchConfigurationViewProvider.js
  74. +2 −2 src/framesummary/FrameWatchTable.js
  75. +2 −2 src/framesummary/FrameWatchTableConfiguration.js
  76. +26 −11 src/framesummary/FrameWatchViewProvider.js
  77. +1 −1 src/framesummary/components/FrameWatchViewComponent.vue
  78. +5 −1 src/framesummary/plugin.js
  79. +5 −2 src/globalFilters/FilterField.vue
  80. +1 −1 src/globalFilters/GlobalFilterIndicator.vue
  81. +5 −3 src/globalFilters/GlobalFilterSelector.vue
  82. +22 −16 src/globalFilters/plugin.js
  83. +0 −24 src/globalStaleness/globalStaleness.js
  84. +0 −28 src/globalStaleness/plugin.js
  85. +39 −9 src/historical/HistoricalProvider.js
  86. +95 −106 src/historical/HistoricalProviderSpec.js
  87. +0 −90 src/identity/LoginService.js
  88. +0 −18 src/identity/close.html
  89. +0 −1 src/identity/login.html
  90. +0 −20 src/identity/plugin.js
  91. +0 −3 src/legacy/README.md
  92. +0 −240 src/legacy/ampcs-view-importer/ViewImport.js
  93. +0 −33 src/legacy/export/bundle.js
  94. +0 −80 src/legacy/export/src/ExportDataAction.js
  95. +0 −72 src/legacy/export/src/ExportDataTask.js
  96. +0 −224 src/legacy/export/test/ExportDataActionSpec.js
  97. +0 −145 src/legacy/export/test/ExportDataTaskSpec.js
  98. BIN src/legacy/general/res/images/bg-splash.jpg
  99. +0 −33 src/legacy/general/res/images/logo-app-shdw.svg
  100. +0 −10,404 src/legacy/general/res/images/logo-app.svg
  101. +0 −53 src/legacy/products/bundle.js
  102. +0 −17 src/legacy/products/res/packet-query.html
  103. +0 −4 src/legacy/products/res/product-dialog.html
  104. +0 −71 src/legacy/products/src/DataProductViewAggregator.js
  105. +0 −54 src/legacy/products/src/EMDViewProvider.js
  106. +0 −70 src/legacy/products/src/MCWSURLBuilder.js
  107. +0 −145 src/legacy/products/src/PacketQueryController.js
  108. +0 −16 src/legacy/products/src/VistaProductView.js
  109. +0 −13 src/legacy/table/bundle.js
  110. +0 −96 src/legacy/table/res/templates/mct-table.html
  111. +0 −824 src/legacy/table/src/controllers/MCTTableController.js
  112. +0 −92 src/legacy/table/src/directives/MCTTable.js
  113. +0 −49 src/legacy/test/ControlledPromise.js
  114. +0 −20 src/legacy/test/go.js
  115. +6 −13 src/lib/HistoricalContextTableRow.js
  116. +9 −3 src/link/plugin.js
  117. +2 −3 src/mcwsIndicator/MCWSIndicator.vue
  118. +37 −28 src/mcwsIndicator/MCWSIndicatorSpec.js
  119. +25 −16 src/mcwsIndicator/plugin.js
  120. +0 −4 src/messagesView/MessagesTable.js
  121. +28 −12 src/messagesView/MessagesViewProvider.js
  122. +4 −3 src/messagesView/plugin.js
  123. +51 −37 src/metadataAction/metadataAction.js
  124. +18 −18 src/multipleHistoricalSessions/indicator/historicalSessionIndicator.vue
  125. +48 −36 src/multipleHistoricalSessions/plugin.js
  126. +17 −16 src/multipleHistoricalSessions/sessionSelector/historicalSessionSelector.vue
  127. +2 −30 src/multipleHistoricalSessions/sessionTable/SessionTable.js
  128. +18 −8 src/packetQuery/PacketQueryViewProvider.js
  129. +6 −11 src/packetQuery/components/PacketQueryView.vue
  130. +0 −4 src/packetSummary/PacketSummaryTable.js
  131. +26 −11 src/packetSummary/PacketSummaryViewProvider.js
  132. +1 −1 src/packetSummary/components/PacketSummaryViewComponent.vue
  133. +5 −4 src/packetSummary/plugin.js
  134. +227 −0 src/persistence/BaseMCWSPersistenceProvider.js
  135. +48 −348 src/persistence/MCWSPersistenceProvider.js
  136. +22 −0 src/persistence/MCWSUserContainerProvider.js
  137. +49 −0 src/persistence/oldPersistenceFolderInterceptor.js
  138. +14 −10 src/persistence/plugin.js
  139. +224 −116 src/persistence/test/MCWSNamespaceModelProviderSpec.js
  140. +317 −343 src/persistence/test/MCWSNamespaceServiceSpec.js
  141. +171 −181 src/persistence/test/MCWSPersistenceProviderSpec.js
  142. +27 −1 src/persistence/utils.js
  143. +7 −9 src/product-status/DATColumn.js
  144. +45 −7 src/product-status/DataProductCell.js
  145. +59 −0 src/product-status/DataProductInspectorViewProvider.js
  146. +100 −102 src/product-status/DataProductRow.js
  147. +184 −192 src/product-status/DataProductRowSpec.js
  148. +171 −182 src/product-status/DataProductTable.js
  149. +36 −16 src/product-status/DataProductViewProvider.js
  150. +7 −9 src/product-status/EMDColumn.js
  151. +7 −9 src/product-status/EMDPreviewColumn.js
  152. +6 −9 src/product-status/TXTColumn.js
  153. +28 −10 src/product-status/data-product-autoclear.vue
  154. +10 −55 src/product-status/plugin.js
  155. +8 −31 src/realtime/MCWSStreamProvider.js
  156. +1 −1 src/realtimeIndicator/RealtimeIndicator.vue
  157. +26 −21 src/realtimeIndicator/plugin.js
  158. +1 −1 src/realtimeSessions/components/RealtimeSessionIndicator.vue
  159. +3 −2 src/realtimeSessions/components/RealtimeSessionSelector.vue
  160. +27 −21 src/realtimeSessions/plugin.js
  161. +6 −13 src/services/filtering/FilterService.js
  162. +22 −8 src/services/filtering/FilterUrlHandler.js
  163. +43 −0 src/services/globalStaleness/globalStaleness.js
  164. +4 −0 src/services/identity/MCWSIdentityProvider.js
  165. +1 −24 src/services/mcws/MCWSClient.js
  166. +18 −17 src/services/session/SessionLocalStorageHandler.js
  167. +25 −31 src/services/session/SessionService.js
  168. +21 −18 src/services/session/SessionURLHandler.js
  169. +145 −154 src/services/session/test/controllers/SessionIndicatorControllerSpec.js
  170. +220 −231 src/services/session/test/controllers/SessionSelectorControllerSpec.js
  171. +322 −364 src/services/session/test/service/SessionServiceSpec.js
  172. 0 src/{legacy/general/res → styles}/sass/_constants.scss
  173. 0 src/{legacy/general/res → styles}/sass/vista.scss
  174. +61 −48 src/tables/VistaTableConfigurationProvider.js
  175. +0 −17 src/taxonomy/plugin.js
  176. +20 −32 src/time/Clock.js
  177. +8 −15 src/time/LADClock.js
  178. +4 −2 src/time/LMSTTimeSystem.js
  179. +4 −2 src/time/MSLSolTimeSystem.js
  180. +1 −1 src/time/SCLKTimeSystem.js
  181. +18 −20 src/time/UTCClock.js
  182. +118 −134 src/time/plugin.js
  183. +16 −16 src/types/DatasetType.js
  184. +31 −38 src/types/TypeCompositionPolicy.js
  185. +20 −29 src/types/TypeCompositionPolicySpec.js
  186. +33 −54 src/types/plugin.js
  187. +15 −0 src/utils/mountVueComponent.js
  188. +43 −50 src/venues/Venue.js
  189. +121 −87 src/venues/VenueService.js
  190. +90 −85 src/venues/VenueSpec.js
  191. +128 −0 src/venues/components/ActiveSessionSelectorComponent.vue
  192. +65 −0 src/venues/components/ActiveVenueSelectorComponent.vue
  193. +128 −0 src/venues/components/HistoricalSessionSelectorComponent.vue
  194. +60 −0 src/venues/components/VenueComponent.vue
  195. +149 −0 src/venues/components/VenueDialogComponent.vue
  196. +0 −52 src/venues/controllers/ActiveSessionSelectorController.js
  197. +0 −25 src/venues/controllers/ActiveVenueSelectorController.js
  198. +0 −118 src/venues/controllers/HistoricalSessionSelectorController.js
  199. +0 −35 src/venues/controllers/VenueController.js
  200. +0 −65 src/venues/controllers/VenueDialogController.js
  201. +31 −145 src/venues/plugin.js
  202. +0 −56 src/venues/templates/active-session-selector.html
  203. +0 −15 src/venues/templates/active-venue-selector.html
  204. +0 −48 src/venues/templates/historical-session-selector.html
  205. +0 −93 src/venues/templates/venue-dialog.html
  206. +0 −11 src/venues/templates/venue.html
45 changes: 42 additions & 3 deletions .github/ISSUE_TEMPLATE/commitment.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,49 @@
---
name: Commitment
about: MGSS commitment
name: Requirement
about: Items in this category are considered significant to the functionality of the software, the workload of the subsystem or a promised commitment to customers or the MGSS Program Office
title: ''
labels: commitment
labels: commitment, requirement
assignees: ''

---

<!--
Because of their significance, items in this category require a rationale for why the task is doing them. Valid rationales would include:
- The initial implementation of approved requirements
- The implementation of an approved change request
- The implementation of an action item approved by the Program Office
- A work agreement that includes deliverables or a specific description of the work in the RLI (a general overview or level of effort is not sufficient).
-->

**Describe the commitment**
<!-- A clear and concise description of what the commitment is. -->

**Expected behavior**
<!-- A clear and concise description of what you expect to happen. -->

**Testing Instructions**
1.

**Additional context**
<!-- Add any other context or screenshots about the commitment here. -->

<!-- REPORT SECTION
Fill in any of the below values that apply, they can then be pulled out for reporting purposes. Add the information directly after the ":" on one line.
Who reported this?
$$reporter:
Is there an ask ticket number (ex. 322)?
$$ask:
Is there a mcr ticket number (ex. 190)?
$$mcr:
Time estimate (ex. 3 days or 8 hours)
$$estimate:
Is there a rationale?
$$rationale:
END REPORT SECTION -->
51 changes: 36 additions & 15 deletions .github/ISSUE_TEMPLATE/defect-report.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,17 @@
---
name: Defect Report
about: Report a defect and report a criticality
title: "[DEFECT] "
title: ""
labels: defect
assignees: ''

---

<!--
Bugs discovered during testing of the release.
Bugs related to fixing items found in security scans.
-->

**Describe the defect**
<!-- A clear and concise description of what the bug is. -->

@@ -15,20 +20,36 @@ assignees: ''

**Steps To Reproduce**
1.
2.
3.
4.

**Environment (please complete the following information):**
- Version [<!-- e.g. release version, commit hash, branch-->]
- Browser [<!-- e.g. chrome, safari -->]

**Additional context**
Add any other context, code snippets, error messages, screen shots about the problem here.

|Criticality|Name|Description|
|---|---|---|
|crit1|Critical|Defect makes the software unusable for mission operations.|
|crit2|Major|Defect has significant impact on usability of delivered software for mission operations. User experience is difficult and/or cumbersome. Workaround available is arduous.|
|crit3|Moderate|Defect has moderate to mild impact on usability of delivered software for mission operations. User experience is degraded but workable.|
|crit4|Minor|Defect means software does not work as originally intended, but the defect has little impact on the usability of the delivered software.|
<!-- Add any other context, software version, browser, code snippets, error messages, screen shots about the problem here. -->


<!--
Consider adding a criticality label.
Criticality Label Descriptions
crit1 - Critical: Defect makes the software unusable for mission operations.
crit2 - Major: Defect has significant impact on usability of delivered software for mission operations. User experience is difficult and/or cumbersome. Workaround available is arduous.
crit3 - Moderate: Defect has moderate to mild impact on usability of delivered software for mission operations. User experience is degraded but workable.
crit4 - Minor: Defect means software does not work as originally intended, but the defect has little impact on the usability of the delivered software.
-->


<!-- REPORT SECTION
Fill in any of the below values that apply, they can then be pulled out for reporting purposes. Add the information directly after the ":" on one line.
Who reported this?
$$reporter:
Is there an ask ticket number (ex. 322)?
$$ask:
Is there a mcr ticket number (ex. 190)?
$$mcr:
Time estimate (ex. 3 days or 8 hours)
$$estimate:
END REPORT SECTION -->
21 changes: 20 additions & 1 deletion .github/ISSUE_TEMPLATE/documentation.md
Original file line number Diff line number Diff line change
@@ -2,9 +2,28 @@
name: Documentation
about: A modification to the project's released documentation.
title: ''
labels: documentation
labels: documentation, other
assignees: ''

---

**Describe the document**
<!-- A clear and concise description of what the document is. -->

**Additional context**
<!-- Add any other context or information here. -->


<!-- REPORT SECTION
Fill in any of the below values that apply, they can then be pulled out for reporting purposes. Add the information directly after the ":" on one line.
Enter the document id for this item (ex. DOC-44322)
$$docid:
Time estimate (ex. 3 days or 8 hours)
$$estimate:
Is there a requester?
$$requester:
END REPORT SECTION -->
34 changes: 25 additions & 9 deletions .github/ISSUE_TEMPLATE/improvement.md
Original file line number Diff line number Diff line change
@@ -1,26 +1,42 @@
---
name: Improvement
about: Improvements are enhancements to already implemented requirements that does
not change the requirement or previously documented interfaces.
about: Improvements are enhancements to already implemented requirements that does not change the requirement or previously documented interfaces.
title: ''
labels: improvement
assignees: ''

---

<!--
An improvement is a modification to an existing capability. Improvements are enhancements to already implemented requirements and the improvement does not change the requirement or previously documented interfaces. Improvements are expected to be relatively low-cost, requiring roughly a work-week or less for implementation. Typically, improvements focus on enhancing usability or performance of the software.
-->

**Is your feature request related to a problem? Please describe.**
<!-- A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] -->

**Describe the solution you'd like**
A clear and concise description of what you want to happen.
<!-- A clear and concise description of what you want to happen. -->

**Testing Instructions**
1.
2.
3.
4.

An improvement is a modification to an existing capability. Improvements are enhancements to already implemented requirements and the improvement does not change the requirement or previously documented interfaces. Improvements are expected to be relatively low-cost, requiring roughly a work-week or less for implementation. Typically, improvements focus on enhancing usability or performance of the software.

**Additional context**
Add any other context or screenshots about the feature request here.
<!-- Add any other context or screenshots about the feature request here. -->


<!-- REPORT SECTION
Fill in any of the below values that apply, they can then be pulled out for reporting purposes. Add the information directly after the ":" on one line.
Who reported this?
$$reporter:
Is there an ask ticket number (ex. 322)?
$$ask:
Is there a mcr ticket number (ex. 190)?
$$mcr:
Time estimate (ex. 3 days or 8 hours)
$$estimate:
END REPORT SECTION -->
26 changes: 26 additions & 0 deletions .github/ISSUE_TEMPLATE/other.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
---
name: Other
about: Any items that are not one of the following (Commitment, Imporovement, Defect Report, Sustaining Activity, Document)
title: ''
labels: other
assignees: ''

---

**Description**
<!-- A clear and concise description of what the item is. -->

**Additional context**
<!-- Add any other context or information here. -->


<!-- REPORT SECTION
Fill in any of the below values that apply, they can then be pulled out for reporting purposes. Add the information directly after the ":" on one line.
Time estimate (ex. 3 days or 8 hours)
$$estimate:
Is there a requester?
$$requester:
END REPORT SECTION -->
32 changes: 30 additions & 2 deletions .github/ISSUE_TEMPLATE/sustaining-activities.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,39 @@
---
name: Sustaining Activities
about: Covers work to maintain current capabilities in a changing environment. Operation
of the software or documented software interfaces is unchanged.
about: Covers work to maintain current capabilities in a changing environment. Operation of the software or documented software interfaces is unchanged.
title: ''
labels: sustaining
assignees: ''

---

<!--
If sustaining activities are mandated by an approved Change Request or Action Item from the MGSS Program Office they fall under the Commitments category.
-->

**Describe the sustaining activity**
<!-- A clear and concise description of what the sustaining activity is. -->

**Expected behavior**
<!-- A clear and concise description of what you expected to happen. -->

**Testing Instructions**
1.

**Additional context**
<!-- Add any other context or screenshots about the sustaining activity here. -->


<!-- REPORT SECTION
Fill in any of the below values that apply, they can then be pulled out for reporting purposes. Add the information directly after the ":" on one line.
Is there a rationale?
$$rationale:
Who requested this?
$$requester:
Time estimate (ex. 3 days or 8 hours)
$$estimate:
END REPORT SECTION -->
116 changes: 116 additions & 0 deletions .github/workflows/codeql_scrub.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
# For most projects, this workflow file will not need changing; you simply need
# to commit it to your repository.
#
# You may wish to alter this file to override the set of languages analyzed,
# or to provide custom queries or build logic.
#
# ******** NOTE ********
# We have attempted to detect the languages in your repository. Please check
# the `language` matrix defined below to confirm you have the correct set of
# supported CodeQL languages.
#
name: "CodeQL with Scrub"

on:
push:
branches: [ "main", "release/*" ]
pull_request:
branches: [ "main", "release/*" ]
schedule:
- cron: '43 6 * * 6'
workflow_dispatch: {}

jobs:
analyze:
name: Analyze (${{ matrix.language }})
# Runner size impacts CodeQL analysis time. To learn more, please see:
# - https://gh.io/recommended-hardware-resources-for-running-codeql
# - https://gh.io/supported-runners-and-hardware-resources
# - https://gh.io/using-larger-runners
# Consider using larger runners for possible analysis time improvements.
runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'ubuntu-latest' }}
timeout-minutes: ${{ (matrix.language == 'swift' && 120) || 360 }}
permissions:
# required for all workflows
security-events: write

# only required for workflows in private repositories
actions: read
contents: read

strategy:
fail-fast: false
matrix:
include:
- language: javascript-typescript
build-mode: none
# CodeQL supports the following values keywords for 'language': 'c-cpp', 'csharp', 'go', 'java-kotlin', 'javascript-typescript', 'python', 'ruby', 'swift'
# Use `c-cpp` to analyze code written in C, C++ or both
# Use 'java-kotlin' to analyze code written in Java, Kotlin or both
# Use 'javascript-typescript' to analyze code written in JavaScript, TypeScript or both
# To learn more about changing the languages that are analyzed or customizing the build mode for your analysis,
# see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning.
# If you are analyzing a compiled language, you can modify the 'build-mode' for that language to customize how
# your codebase is analyzed, see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages
steps:
- name: Checkout repository
uses: actions/checkout@v4

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}
build-mode: ${{ matrix.build-mode }}
queries: security-and-quality, security-extended
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.

# For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
# queries: security-extended,security-and-quality

# If the analyze step fails for one of the languages you are analyzing with
# "We were unable to automatically build your code", modify the matrix above
# to set the build mode to "manual" for that language. Then modify this step
# to build your code.
# ℹ️ Command-line programs to run using the OS shell.
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
- if: matrix.build-mode == 'manual'
run: |
echo 'If you are using a "manual" build mode for one or more of the' \
'languages you are analyzing, replace this with the commands to build' \
'your code, for example:'
echo ' make bootstrap'
echo ' make release'
exit 1
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3
with:
category: "/language:${{matrix.language}}"

- name: Post-Process Output
run: |
python3 -m pip install nasa-scrub
results_dir=`realpath ${{ github.workspace }}/../results`
sarif_files=`find $results_dir -name '*.sarif'`

for sarif_file in $sarif_files
do
output_file="$results_dir/$(basename $sarif_file .sarif).scrub"

python3 -m scrub.tools.parsers.translate_results $sarif_file $output_file ${{ github.workspace }} scrub
done

python3 -m scrub.tools.parsers.csv_parser $results_dir

echo "RESULTS_DIR=$results_dir" >> $GITHUB_ENV


- name: Upload CodeQL Artifacts
uses: actions/upload-artifact@v4.3.1
with:
name: codeql-artifacts
path: ${{ env.RESULTS_DIR }}
Loading