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

MDBF-782 Quick builders don't need "make package", default "make all"… #554

Draft
wants to merge 1 commit into
base: dev
Choose a base branch
from

Conversation

grooverdan
Copy link
Member

… sufficient

Quick builders aren't saving packages or using them for tests.

As such there doesn't need to be a tarball created.

The build default, target "all" is sufficient for the artifacts used in MTR tests to be generated.

Test cases:

Deb and rpm autobakes have different steps. The bintar builder also have unique steps.

Standard quick builders, (distro without {rpm,deb}_autobake) should have a compile step that doesn't finish with creating a tarball like:

CPack: Create package using TGZ
CPack: Install projects
CPack: - Run preinstall target for: MySQL
CPack: - Install project: MySQL []
CPack: Create package
CPack: - package: /home/buildbot/aarch64-debian-11/build/mariadb-10.11.10-linux-aarch64.tar.gz generated.
program finished with exit code 0

… sufficient

Quick builders aren't saving packages or using them for tests.

As such theree doesn't need to be a tarball created.

The build default, target "all" is sufficent for the artifacts used
in MTR tests to be generated.
@RazvanLiviuVarzaru
Copy link
Collaborator

… sufficient

Quick builders aren't saving packages or using them for tests.

As such there doesn't need to be a tarball created.

The build default, target "all" is sufficient for the artifacts used in MTR tests to be generated.

Test cases:

Deb and rpm autobakes have different steps. The bintar builder also have unique steps.

Standard quick builders, (distro without {rpm,deb}_autobake) should have a compile step that doesn't finish with creating a tarball like:

CPack: Create package using TGZ
CPack: Install projects
CPack: - Run preinstall target for: MySQL
CPack: - Install project: MySQL []
CPack: Create package
CPack: - package: /home/buildbot/aarch64-debian-11/build/mariadb-10.11.10-linux-aarch64.tar.gz generated.
program finished with exit code 0

@grooverdan
quickBuilders have a save_package step that is defined in addPostTests function.
addPostTests is part of getQuickBuildFactory

See for example : https://buildbot.mariadb.org/#/builders/221/builds/36656

If you want to remove package from make then save_package step must be removed also.
I'm sure there is a reason why it's there but I need to investigate more.

Historically speaking, @vladbogo might have a clear answer.

@vladbogo
Copy link
Collaborator

vladbogo commented Sep 2, 2024

@RazvanLiviuVarzaru the idea was for developers to be able to download the package and debug it without rebuilding. As far as I am aware this is not something that is actively used.

@RazvanLiviuVarzaru
Copy link
Collaborator

… sufficient
Quick builders aren't saving packages or using them for tests.
As such there doesn't need to be a tarball created.
The build default, target "all" is sufficient for the artifacts used in MTR tests to be generated.
Test cases:
Deb and rpm autobakes have different steps. The bintar builder also have unique steps.
Standard quick builders, (distro without {rpm,deb}_autobake) should have a compile step that doesn't finish with creating a tarball like:

CPack: Create package using TGZ
CPack: Install projects
CPack: - Run preinstall target for: MySQL
CPack: - Install project: MySQL []
CPack: Create package
CPack: - package: /home/buildbot/aarch64-debian-11/build/mariadb-10.11.10-linux-aarch64.tar.gz generated.
program finished with exit code 0

@grooverdan quickBuilders have a save_package step that is defined in addPostTests function. addPostTests is part of getQuickBuildFactory

See for example : https://buildbot.mariadb.org/#/builders/221/builds/36656

If you want to remove package from make then save_package step must be removed also. I'm sure there is a reason why it's there but I need to investigate more.

Historically speaking, @vladbogo might have a clear answer.

I've found one use-case why packages is needed. maybe more are hiding

Quick Builders are triggering ECO .

factory.addStep(

Took one random ECO factory i.e. f_eco_mysqljs
Look for the step name="fetching and installing database",

+ "/%(prop:tarbuildnum)s/%(prop:parentbuildername)s/%(prop:mariadb_binary)s"

You will see that ECO needs the parent builder mariadb_binary which is why packages was needed in the first place.

@RazvanLiviuVarzaru
Copy link
Collaborator

@RazvanLiviuVarzaru the idea was for developers to be able to download the package and debug it without rebuilding. As far as I am aware this is not something that is actively used.

@vladbogo we need to ask around and also take into account the ECO triggering.

@grooverdan grooverdan marked this pull request as draft November 7, 2024 07:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

3 participants