Skip to content

Issue #12721: add Buildkite CI with mvn verify#19427

Merged
romani merged 1 commit into
checkstyle:masterfrom
ayushactiveat:issue-12721-buildkite-ci
Mar 28, 2026
Merged

Issue #12721: add Buildkite CI with mvn verify#19427
romani merged 1 commit into
checkstyle:masterfrom
ayushactiveat:issue-12721-buildkite-ci

Conversation

@ayushactiveat

Copy link
Copy Markdown
Contributor

Closes #12721
added Buildkite ci pipeline config to run mvn verify on every push and pull request.

@ayushactiveat

Copy link
Copy Markdown
Contributor Author

@romani unrelated fail here, please let me know if any other change needed

@romani romani left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

items:

Comment thread .buildkite/pipeline.yml Outdated
- label: ":maven: verify"
command:
- "apt-get update && apt-get install -y libxext6 libxrender1 libxtst6 libxi6 xvfb"
- "mvn -e --no-transfer-progress verify -Dsurefire.excludes=**/MainTest.java"

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

-Dsurefire.excludes=**/MainTest.java why is it required ?

@ayushactiveat ayushactiveat Mar 25, 2026

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

actually yes, it is not needed for a basic verify run, I'll remove it

@ayushactiveat ayushactiveat force-pushed the issue-12721-buildkite-ci branch from 43db125 to fd6ae46 Compare March 25, 2026 13:11
@ayushactiveat

Copy link
Copy Markdown
Contributor Author

@romani updated , let me know if any other change needed

@ayushactiveat ayushactiveat force-pushed the issue-12721-buildkite-ci branch from fd6ae46 to 10989e0 Compare March 25, 2026 14:23

@romani romani left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Do you have example how it integrates to PR? Is it visible list of CIs?

Comment thread .buildkite/pipeline.yml Outdated
steps:
- label: ":maven: verify"
command:
- "apt-get update && apt-get install -y libxext6 libxrender1 libxtst6 libxi6 xvfb"

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Why all such libraries are required?
Non of CI needs them, look strange

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

during local testing i got display related error and adding them fixed it, let me check it out locally, I'll update here shortly

@ayushactiveat ayushactiveat force-pushed the issue-12721-buildkite-ci branch from 10989e0 to 67de463 Compare March 25, 2026 16:33
@ayushactiveat

Copy link
Copy Markdown
Contributor Author

@romani check it locally, those lib were from other env issue locally, not for this build, those are removed now

@ayushactiveat

ayushactiveat commented Mar 25, 2026

Copy link
Copy Markdown
Contributor Author

@romani also regarding your other concern , yes, i set up a buildkite account and connected it to my forked repo to test this. my build here already ran successfully on our issue. ig for it to appear in pr check list buildkite would be need to be connect to main checktyle repo, then it may report check directly on prs
image

@romani

romani commented Mar 26, 2026

Copy link
Copy Markdown
Member

Is there way to run two jobs in parallel?
Instead of mvn full commands, please run mvn command from validation.sh.

We try to keep CI as confirmation of environment, and all details on special commands are in validation.sh to be easily reused and run same on local.

@romani

romani commented Mar 26, 2026

Copy link
Copy Markdown
Member

They allow 3 concurrent jobs in personnel plan.
Let's run some 3 commands from validation.sh that are quick in execution, like javac compilation .

We will see how it works, and how credits are used

@romani

romani commented Mar 26, 2026

Copy link
Copy Markdown
Member

All maven jobs needs cache of .m2 folder where all jar are stored, it speeds up building time dramatically. How can we reuse it? All other CI do have cache.

@ayushactiveat ayushactiveat force-pushed the issue-12721-buildkite-ci branch from 67de463 to 14a2157 Compare March 26, 2026 05:52
@ayushactiveat ayushactiveat force-pushed the issue-12721-buildkite-ci branch from 14a2157 to cf55976 Compare March 26, 2026 05:58
@ayushactiveat

ayushactiveat commented Mar 26, 2026

Copy link
Copy Markdown
Contributor Author

@romani updated - >
->split into 3 parallel quick jobs: checkstyle, sevntu, spotless
->commands now use ./.ci/validation.sh
->.m2 cache via Docker volume mount

also tested on fork - 3 jobs ran in parallel. sevntu fail is ig pre-existing issue in these antlr files, not related to this .
let me know if evrything seems fine.

@romani

romani commented Mar 27, 2026

Copy link
Copy Markdown
Member

Can you share link to build to let me confirm. By config it looks like sequential execution.
Just wanted to know is it sequential or parallel.

@ayushactiveat

ayushactiveat commented Mar 27, 2026

Copy link
Copy Markdown
Contributor Author

@romani yes they run in parallel, the link - https://buildkite.com/ayush-singh/checkstyle-verify/builds/47 you may have to login to view it, also if there is an issue do let me know, still here's a ss of the same for reference -
Screenshot 2026-03-27 141407

@romani romani left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Big event, new CI in our pipeline.

Thanks a lot

@romani romani merged commit 601213d into checkstyle:master Mar 28, 2026
123 checks passed
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.

Use buildkite CI

2 participants