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

build: extract project metrics/analytics to terasology-metrics gradle plugin #5020

Merged
merged 5 commits into from
May 22, 2022

Conversation

keturn
Copy link
Member

@keturn keturn commented May 21, 2022

It didn't take long to run in to other parts of #4985; #5013 didn't include configuration for module builds.

That was happening in common.gradle, so it seemed like a good time to extract a chunk of that stuff to build-logic, in line with the other gradle plans of #4015.

Removes jacoco, because it wasn't even used by CI.

For Reviewers

Most of the stuff from common.gradle went to terasology-metrics.gradle.kts. Except the jacoco parts, they were dropped.

It does look a little weird to have moved 80% of common.gradle, but some of the last things needed more investigation, so I decided to keep scope to the various checks.

How to test

  • run engine-tests locally: unitTest, integrationTest, test
  • run subsystem tests locally: unitTest, test
  • run module tests locally: unitTest, integrationTest, test
  • run check locally for checkstyle and whatnot
  • run clean jacocoReport, make sure jacoco task depends on (and runs) the tests
  • make sure CI has all expected reports for checkstyle, spotbugs, pmd, jacoco

Post-Merge

@github-actions github-actions bot added the Category: Build/CI Requests, Issues and Changes targeting gradle, groovy, Jenkins, etc. label May 21, 2022
@keturn
Copy link
Member Author

keturn commented May 21, 2022

Side note: in the process of moving these configurations over, I discovered that the current line of gradle-spotbugs integration has a minimum requirement of gradle 7.0. So I've set us to use the last release of their previous major version until we do that gradle upgrade.

@keturn keturn force-pushed the build/extractCommonMetrics branch from a01fcf0 to 90af4b2 Compare May 21, 2022 19:21
We can do this now that spotbugs and sonarqube moved to terasology-metrics in build-logic
@keturn keturn force-pushed the build/extractCommonMetrics branch from 8fadf22 to ec8decf Compare May 21, 2022 20:46
@keturn keturn marked this pull request as ready for review May 21, 2022 22:52
@keturn
Copy link
Member Author

keturn commented May 21, 2022

I pushed this to Nanoware:experimental and ran some module builds there: https://jenkins.terasology.io/teraorg/job/Nanoware/job/TerasologyModules/job/X/job/Health/job/develop/

It looks good. We'll just need one ModuleJteConfig change; I've added it to this PR's description.

Copy link
Member

@Cervator Cervator left a comment

Choose a reason for hiding this comment

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

Looks quite reasonable to me and I'm thrilled to see it already got tested fully via Jenkins / Nanoware experimental stuff. Nice job 👍

I have not tested locally but you have my full trust in this and all seems well :-) Not sure if that's enough to merge or if more eyeballs could help. I'm good :shipit:

@keturn
Copy link
Member Author

keturn commented May 22, 2022

Yeah, once I figured out which parts to push to Nanoware, I agree that did a good job of exercising it.

@keturn keturn merged commit c7da4e6 into develop May 22, 2022
@keturn keturn deleted the build/extractCommonMetrics branch May 22, 2022 20:03
@Cervator
Copy link
Member

I'm glad I did manage to set up the parallel testing infrastructure to help make that happen :-) Happy you find it useful!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Category: Build/CI Requests, Issues and Changes targeting gradle, groovy, Jenkins, etc.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants