Skip to content

A GitHub action to provide feedback on Java source code quality. It is triggered on a pull request, and a report is emitted as a comment to the PR.

Notifications You must be signed in to change notification settings

search-rug/student-friendly-report

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mvn-student-friendly-report

This action treats information from files generated by different Maven plugins and dependencies. It ouputs a single variable of type String to visualize the information under the Markdown format. The plugins and dependencies are listed below:

You can use it in your Github Actions workflow.

Inputs

File Generated by Description
jacoco-html-report Jacoco plugin Required The file corresponding
to the analysis of the test coverage:
- /target/site/jacoco/index.html
ck-main-class-csv ck-mvn-plugin Required The file corresponding
to the analysis of the classes in the main folder:
- /src/main/java/class.csv
metrics-xml JaSoMe Required The file corresponding
to the analysis of the src folder:
- /metrics.xml
checkstyle-result-xml Apache Maven Checkstyle Plugin Required The
file corresponding to the analysis of code quality:
- /target/checkstyle-result.xml
designite-design-result-csv DesigniteJava Required The file corresponding
to the analysis of design smells:
- /target/designite/designCodeSmells.csv
designite-implementation-result-csv DesigniteJava Required The file corresponding
to the analysis of implementation smells:
- /target/designite/implementationCodeSmells.csv

Outputs

Variable Description
report-comment A Markdown formatted String displaying the report composed of 4 categories:
- test coverage
- metrics
- code quality
- code smells

Example usage

Once you executed the goal of each plugin.

      uses: search-rug/[email protected]
      with:
            jacoco-html-report: ${{ github.workspace }}/target/site/jacoco/index.html
            ck-main-class-csv: ${{ github.workspace }}/src/main/java/class.csv
            metrics-xml: ${{ github.workspace }}/metrics.xml
            checkstyle-result-xml: ${{ github.workspace }}/target/checkstyle-result.xml
            designite-design-result-csv: ${{ github.workspace }}/target/designite/designCodeSmells.csv
            designite-implementation-result-csv: ${{ github.workspace }}/target/designite/implementationCodeSmells.csv

Student-friendly pipeline explanation and context of use

This action is used as a part of a workflow implemented on Maven projects. You can look at an example of this workflow in use here.

The purpose of the workflow is to give feedback to students about the code quality of their projects once they are submitting a pull request.

If you want to implement this workflow check the usage here in the usage section.

The explanation of the feedback report can be seen here in the feedback report section.

About

A GitHub action to provide feedback on Java source code quality. It is triggered on a pull request, and a report is emitted as a comment to the PR.

Resources

Stars

Watchers

Forks

Packages

No packages published