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
Add check-project workflow #1746
base: master
Are you sure you want to change the base?
Conversation
Create a workflow for analyzing Java projects via PR versions of Spotbugs. Baseline diff and time measurement features are added to monitor the impact of PRs (result set changes or possible regressions). Open-source projects spotbugs, matsim and jenkins are added as test subjects.
Hi,
With these in place I would like to propose this new PR, which consists of only 2 workflow files. If you have any ideas or suggestions as to how to improve this differential CI, please feel free to share! |
- name: Cache analyzed Spotbugs | ||
uses: actions/cache@v2 | ||
with: | ||
path: spotbugs-4.4.1.jar |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you move the version infos to variables, so it's easier to modify them in the future? (Not only for spotbugs, but the other projects as well.)
const resultDiff = fs.readFileSync(`${projectDir}/result_diff`) | ||
|
||
const body = | ||
`${projectName} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
IMO it would be easier to understand if the comments contained whole sentences, instead of only the bare minimal info. Also, it would be a bit more informative, if it contained not only the name of the tested project, but a link to the exact source and some version info (or commit hash).
This line could be e.g. Testing/Running this PR on ${projectName} (${projectUrl}) version ${projectVersion}.
.
`${projectName} | ||
baseline time: ${baselineTime}s | ||
new time: ${newTime}s | ||
results diff: ${resultDiff ? '\n```' + resultDiff + '```' : '-'} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If there are no differences, instead of an empty codeblock, there could a No differences were found.
or The results are identical.
or some other similar string.
|
||
steps: | ||
- name: Checkout PR | ||
uses: actions/checkout@v2 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This version is old.
java-version: '17.0.x' | ||
|
||
- name: Cache Gradle | ||
uses: actions/cache@v2 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This version is old.
persist-credentials: false | ||
|
||
- name: Set up JDK 17 | ||
uses: actions/setup-java@v1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This version is old.
Create a workflow for analyzing Java projects via PR versions of
Spotbugs. Baseline diff and time measurement features are added to
monitor the impact of PRs (result set changes or possible regressions).
Open-source projects spotbugs, matsim and jenkins are added as test
subjects.
Make sure these boxes are checked before submitting your PR -- thank you!
CHANGELOG.md
if you have changed SpotBugs code