volcano icon indicating copy to clipboard operation
volcano copied to clipboard

Improve ci with reusable workflows

Open hajnalmt opened this issue 3 weeks ago • 7 comments

What is the problem you're trying to solve

Currently we are running our CI jobs completely paralelly, each e2e job will just invoke the appropriate make target so they build the images as a first step.

See for example the admission workflow: https://github.com/volcano-sh/volcano/blob/master/.github/workflows/e2e_admission.yaml#L53 that invokes https://github.com/volcano-sh/volcano/blob/master/Makefile#L162

This is not efficient to build the images at each step:

  • From resource usage point of view it's unnecesarry.
  • When someone retriggers the pipeline the whole process rebuilds the images again, which results in a much more time consuming feedback-loop.

Describe the solution you'd like

I would like to see the image building in a separate reusable workflow: https://docs.github.com/en/actions/how-tos/reuse-automations/reuse-workflows

It should update the created docker image as an artifacts with maybe a month of expiration: https://docs.github.com/en/actions/tutorials/store-and-share-data For this standard docker save - docker load commands can be used to load the artifacts created later on in the next workflow.

As a bonus image validation can be added to the e2e workflows which fails and indicates the need to retrigger the original image building workflow if needed.

hajnalmt avatar Nov 29 '25 09:11 hajnalmt

/good-first-issue /area test

hajnalmt avatar Nov 29 '25 09:11 hajnalmt

@hajnalmt: This request has been marked as suitable for new contributors.

Please ensure the request meets the requirements listed here.

If this request no longer meets these requirements, the label can be removed by commenting with the /remove-good-first-issue command.

In response to this:

/good-first-issue /area test

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

volcano-sh-bot avatar Nov 29 '25 09:11 volcano-sh-bot

Would like to pick this one, Thanks!

7h3-3mp7y-m4n avatar Nov 29 '25 21:11 7h3-3mp7y-m4n

/assign

7h3-3mp7y-m4n avatar Nov 29 '25 21:11 7h3-3mp7y-m4n

@hajnalmt It's very useful, thanks for raising this issue! @7h3-3mp7y-m4n has the same avatar as mine, lol 😆

JesseStutler avatar Dec 01 '25 01:12 JesseStutler

@JesseStutler Anytime, I needed to duble check twice that it's not you😀

hajnalmt avatar Dec 01 '25 09:12 hajnalmt

Hi @hajnalmt @JesseStutler I have opened PR #4782 which should close this issue. I am sorry for making the PR a bit out of turn. I found the idea pretty interesting and I sort of jumped into it. Hope this is alright. Let me know if anything needs changes.

Deepam02 avatar Dec 04 '25 19:12 Deepam02

Good that you pick this up @Deepam02 , I was out cause of chickenpox , All the best @Deepam02

7h3-3mp7y-m4n avatar Dec 14 '25 20:12 7h3-3mp7y-m4n

/unassign

7h3-3mp7y-m4n avatar Dec 14 '25 20:12 7h3-3mp7y-m4n