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

Fix #416, Display cppcheck in Code Scanning Alerts Dashboard #514

Merged
merged 1 commit into from
Oct 11, 2022

Conversation

ArielSAdamsNASA
Copy link
Contributor

@ArielSAdamsNASA ArielSAdamsNASA commented Jun 21, 2022

Checklist (Please check before submitting)

Describe the contribution
Fixes #416

Testing performed
Tested on fork - Static analysis: https://github.com/ArielSAdams/cFS/runs/6990609543?check_suite_focus=true
Tested on fork - Static analysis misra: https://github.com/ArielSAdams/cFS/runs/6990964130?check_suite_focus=true

Expected behavior changes
Users can view results from cppcheck in the code scanning alerts.

Removed cat command that displays errors. Output of cppcheck file is now .xml instead of .txt to be able to convert to .sarif.

Example of cppcheck in code scanning alerts:
image

Additional context
Number of alerts are not provided. Created a forum to investigate this: https://github.community/t/cannot-view-number-of-code-scanning-alerts/257644. Not sure if this is due to the repository being a forked repo.

Contributor Info - All information REQUIRED for consideration of pull request
Ariel Adams, ASRC Federal

@ArielSAdamsNASA ArielSAdamsNASA added CCB:Ready Pull request is ready for discussion at the Configuration Control Board (CCB) continuous-integration labels Jun 21, 2022
uses: actions/upload-artifact@v2
with:
name: ${{matrix.cppcheck}}-cppcheck-err
path: ./*cppcheck_err.txt
Copy link
Contributor

Choose a reason for hiding this comment

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

Might be worth keeping this to flag errors at the end of the workflow run

run: |
if [[ -s general_cppcheck_err.txt ]];
Copy link
Contributor

Choose a reason for hiding this comment

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

Keep this check with the xml file instead to alert users when cppcheck flags errors.

uses: actions/upload-artifact@v2
with:
name: cppcheck-errors
path: ./*cppcheck_err.txt
path: ./*cppcheck_err.xml
Copy link
Contributor

Choose a reason for hiding this comment

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

Add end-of-file line

@astrogeco astrogeco removed the CCB:Ready Pull request is ready for discussion at the Configuration Control Board (CCB) label Jun 22, 2022
@astrogeco
Copy link
Contributor

CCB:-2022.06.22 Changes requested

  • want to ensure that people can use the old txt file to address findings
  • ensure that new findings still cause workflow failure
  • suggestion that xml files can be opened using a stylesheet

@ArielSAdamsNASA ArielSAdamsNASA force-pushed the fix-416-display-cppcheck-dashboard branch from e56377e to 0b31f84 Compare July 14, 2022 18:15
@ArielSAdamsNASA
Copy link
Contributor Author

Changes:

  • Archive xml and txt results in artifacts
  • New findings causes workflow failures

To generate the txt file, cppcheck must run without --xml. With --xml, the txt file will always cause workflow failures. Failures occur when the txt file is not empty and --xml will always make the txt file not empty due to the xml tags.

@dzbaker dzbaker added CCB:Ready Pull request is ready for discussion at the Configuration Control Board (CCB) CCB:Approved Indicates code review and approval by community CCB and removed CCB:Ready Pull request is ready for discussion at the Configuration Control Board (CCB) labels Oct 6, 2022
dzbaker added a commit that referenced this pull request Oct 11, 2022
*Combines:*

cfe v7.0.0-rc4+dev193
cFS-GroundSystem v3.0.0-rc4+dev33
osal v7.0.0-rc4+dev131
to_lab v2.5.0-rc4+dev31
ci_lab v2.5.0-rc4+dev39
sample_app v1.3.0-rc4+dev35
sample_lib v1.3.0-rc4+dev28
tblCRCTool v1.3.0-rc4+dev24
elf2cfetbl v3.4.0-rc4+dev26
sch_lab v2.5.0-rc4+dev41

**Includes:**

*cFS*
- #567
- #514

*cFE*
- nasa/cFE#2163
- nasa/cFE#2158
- nasa/cFE#2159

*osal*
- nasa/osal#1283
- nasa/osal#1291
- nasa/osal#1298

*sample_app*
- nasa/sample_app#185
- nasa/sample_app#183

*sch_lab*
- nasa/sch_lab#123

*tblCRCTool*
- nasa/tblCRCTool#73

*to_lab*
- nasa/to_lab#127
- nasa/to_lab#126
- nasa/to_lab#129

*ci_lab*
- nasa/ci_lab#123
- nasa/ci_lab#120

*sample_lib*
- nasa/sample_lib#89
- nasa/sample_lib#86

*cFS-GroundSystem*
- nasa/cFS-GroundSystem#224
- nasa/cFS-GroundSystem#225

*elf2cfetbl*
- nasa/elf2cfetbl#117

Co-authored-by: Avi Weiss <[email protected]>
Co-authored by: Joseph Hickey <[email protected]>
Co-authored by: Ariel Adams <[email protected]>
Co-authored by: Sam Price <[email protected]>
@dzbaker dzbaker mentioned this pull request Oct 11, 2022
2 tasks
dzbaker added a commit that referenced this pull request Oct 11, 2022
*Combines:*

cfe v7.0.0-rc4+dev193
cFS-GroundSystem v3.0.0-rc4+dev33
osal v7.0.0-rc4+dev131
to_lab v2.5.0-rc4+dev31
ci_lab v2.5.0-rc4+dev39
sample_app v1.3.0-rc4+dev35
sample_lib v1.3.0-rc4+dev28
tblCRCTool v1.3.0-rc4+dev24
elf2cfetbl v3.4.0-rc4+dev26
sch_lab v2.5.0-rc4+dev41

**Includes:**

*cFS*
- #567
- #514

*cFE*
- nasa/cFE#2163
- nasa/cFE#2158
- nasa/cFE#2159

*osal*
- nasa/osal#1283
- nasa/osal#1291
- nasa/osal#1298

*sample_app*
- nasa/sample_app#185
- nasa/sample_app#183

*sch_lab*
- nasa/sch_lab#123

*tblCRCTool*
- nasa/tblCRCTool#73

*to_lab*
- nasa/to_lab#127
- nasa/to_lab#126
- nasa/to_lab#129

*ci_lab*
- nasa/ci_lab#123
- nasa/ci_lab#120

*sample_lib*
- nasa/sample_lib#89
- nasa/sample_lib#86

*cFS-GroundSystem*
- nasa/cFS-GroundSystem#224
- nasa/cFS-GroundSystem#225

*elf2cfetbl*
- nasa/elf2cfetbl#117

Co-authored-by: Avi Weiss <[email protected]>
Co-authored by: Joseph Hickey <[email protected]>
Co-authored by: Ariel Adams <[email protected]>
Co-authored by: Sam Price <[email protected]>
@dzbaker dzbaker merged commit 58a58c4 into nasa:main Oct 11, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CCB:Approved Indicates code review and approval by community CCB continuous-integration
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Display cppcheck results in GitHub code scanning dashboard
4 participants