Skip to content

Added workflow configurations and README updates#832

Merged
uweseimet merged 11 commits intodevelopfrom
ci_integration
Sep 6, 2022
Merged

Added workflow configurations and README updates#832
uweseimet merged 11 commits intodevelopfrom
ci_integration

Conversation

@akuker
Copy link
Copy Markdown
Member

@akuker akuker commented Sep 4, 2022

Added a new workflow build_code.yml that will:

  • Build for STANDARD configuration
  • Build for FULL SPEC configuration
  • Archive the binaries from these builds

Add a new workflow run_tests.yml which will:

Updated README with link to SonarCloud project. Also added some new sponsors.

@sonarqubecloud
Copy link
Copy Markdown

sonarqubecloud bot commented Sep 4, 2022

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 0 Code Smells

No Coverage information No Coverage information
No Duplication information No Duplication information

@uweseimet
Copy link
Copy Markdown
Contributor

uweseimet commented Sep 4, 2022

@akuker Really cool to have a SonarQube analysis! It's very interesting to see the issues reported, because till now I was only familiar with the issues SonarQube reports for some other languages. I guess I will create a ticket for fixing most of the simple issues like a missing 'const'. There will most likely be other (more complicated) issues that can can be resolved over time.
Compared to other languages I noticed that for C++ SonarQube generates a lot of false positives, like variables that are claimed to never be read, even though they are read in the next line.

Where did you get the C++ parser from, which I think is needed for that? I did not know that this parser is free.

What I am missing is the code coverage. SonarCloud says that the coverage is 0.0%, which is not correct. (Compare with the coverage reported by gcov/lcov.)

Do we also have a SonarCloud analysis for the Pyhton and HTML code?

@akuker
Copy link
Copy Markdown
Member Author

akuker commented Sep 6, 2022

@akuker Really cool to have a SonarQube analysis! It's very interesting to see the issues reported, because till now I was only familiar with the issues SonarQube reports for some other languages. I guess I will create a ticket for fixing most of the simple issues like a missing 'const'.

Thank you for looking into it! Definitely were a lot of false positives in there. I'm assuming there is an annotation we can add to the code to suppress those?

Where did you get the C++ parser from, which I think is needed for that? I did not know that this parser is free.

Not sure. Its just the one that SonarCloud provides. I didn't really research much.

What I am missing is the code coverage. SonarCloud says that the coverage is 0.0%, which is not correct. (Compare with the coverage reported by gcov/lcov.)

Agreed! I've been messing with that, but been struggling a little bit. Debugging things in github workflows is annoying! One step at a time.

The html coverage report from lcov should be attached to the test results. So, for now, we'll have to refer to that.

Do we also have a SonarCloud analysis for the Pyhton and HTML code?

Working on it :)

Would you mind approving the pull request?

@uweseimet uweseimet merged commit 34242a2 into develop Sep 6, 2022
@uweseimet
Copy link
Copy Markdown
Contributor

@akuker Regarding the false positives we can suppress them at least in the web UI. (But I don't want to do this now, would liike to wait.) Some of them obviously result from a wrong/incomplete analysis. Maybe I will create a SonarQube ticket for some of them.

uweseimet pushed a commit that referenced this pull request Sep 7, 2022
* automated test try 1

* filter branches

* filter branches

* filter branches

* filter branches

* filter branches

* Configured build and test CI workflows

* enable for all branches

* Update README.md

* Update README.md

Co-authored-by: Tony Kuker <akuker@gmail.com>
akuker added a commit that referenced this pull request Sep 8, 2022
* Added support for .hd1 (SCSI-1) image files

* Update c-cpp.yml

* Fixed unit test warnings

* Fixed wrong scan default default (must be 1, not -1)

* Updated max length check

* Removed file not present in develop branch

* Added unit test

* Added workflow configurations and README updates (#832)

* automated test try 1

* filter branches

* filter branches

* filter branches

* filter branches

* filter branches

* Configured build and test CI workflows

* enable for all branches

* Update README.md

* Update README.md

Co-authored-by: Tony Kuker <akuker@gmail.com>

* Fix simple SonarCloud issues (#834)

* Fixing SonarCloud issues, first round

* Fixing SonarCLoud issues, next round

* Fixing SonarQube issues, next round

* Fixed warning

* Replaced empty constructors/destructors with = default;

* Fixed warning

* Replaced new

* Use constants instead of macros

* Use structured binding declarations

* Use init statements for if

* Use string views

* Use enum class, use using instead of typedef

* Fixed more SonarCloud warnings

* Replaced redundant/duplicate types with auto

* Devlared methods const

* Memory management update

* Fixed warning

* Added missing const

* Improved RaScsiResponse memory management

* Improved memory management

* Improved memory management

* Replaced macros by constants, removed unused constants

* Made member private

* Fixed warning

* Added comment

* Fixed shadowing warnings

* Cleanup

* Cleanup

* Cleanup

* Fixed shadowing warning

* Removed unused code

* Fixed more warnings

* Removed obsolete casts

* Fixed warnings

* Removed unused field

* Removed library not needed by rasctl

* Include cleanup

* Updated platform check for better compatibility

* Improved check for invalid option. This prevents rasctl to break on macos.

* Updated option check

* Fixed typo

* Added TODO

* Removed macro

* Scope update

* Replaced macro

* Added TODO, update memory management

* Fixed typo

* Replaced NULL by nullptr

* Use more structured bindings

* Added TODO

* Use calloc instead of mallco to not need memset

* Fixed warnings

* Fixed SonarQube initialization issues

* Fixed warning

* Cleaned up override/virtual/final

* Fixed warnings

* Constructor update

* Fixed tests

* Improved memory management

* Added missing const

* Added const

* Fixed two bugs reported by SonarCloud

* Fix SonarCloud hotspot

* Fixed memory management

* Memory management update

* Addressing hotspot by using strncpy

* Fixed SonarCloud issues

* Fixed SonarQube issues

* Added missing const

* Added const

* Added const

* Suppress false positive

* Added SonarQube suppressions for false positives

* Added suppresoin

* Fixed code smells

* Reverted changes that is a SonarQube issue, but caused problems with -O3

* Removed TODO based on review

* Update c-cpp.yml

* Finalized merge

Co-authored-by: akuker <34318535+akuker@users.noreply.github.com>
Co-authored-by: Tony Kuker <akuker@gmail.com>
@akuker akuker deleted the ci_integration branch December 5, 2022 00:39
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.

2 participants