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

Refactor .deb builds #1700

Closed

Conversation

ottok
Copy link
Contributor

@ottok ottok commented Dec 26, 2020

Feel free to merge this. At least the build works now, but it is far from ideal yet. I might continue with this project in #1701 if I have time.

Before:

image

After:

image

The rpm builds are still failing on test columnstore/basic.mcs38_select_limit which is unrelated to this PR.

@ottok
Copy link
Contributor Author

ottok commented Dec 26, 2020

Weird. All of the Debian and Ubuntu builds in the CI at https://ci.columnstore.mariadb.net/mariadb-corporation/mariadb-columnstore-engine/1402 are passing, but the OpenSUSE, Centos 8 and Centos 9 builds are failing on test columnstore/basic.mcs38_select_limit.

@mariadb-RomanNavrotskiy
Copy link
Contributor

Weird. All of the Debian and Ubuntu builds in the CI at https://ci.columnstore.mariadb.net/mariadb-corporation/mariadb-columnstore-engine/1402 are passing, but the OpenSUSE, Centos 8 and Centos 9 builds are failing on test columnstore/basic.mcs38_select_limit.

We have different mtr results between deb and rpm platforms. And for that reason we don't have mtr's step on debs pipelines. I hope we will fix tests/configuration very soon to get the same results on debs.

I masked mcs39_select_limit test (it will be skipped) for a while (needs investigation).

@mariadb-RomanNavrotskiy
Copy link
Contributor

mariadb-RomanNavrotskiy commented Dec 26, 2020

this copy of debian/autobake-deb.sh was made for testing of transition some deb packaging stuff to that repo. and now it is not used at all. we just forgot to delete it.

@ottok ottok force-pushed the ok-10.5-rewrite-deb-build branch 4 times, most recently from 86f26f7 to 0130e6b Compare December 27, 2020 20:36
@ottok ottok changed the title WIP: Refactor .deb builds Refactor .deb builds Dec 28, 2020
@@ -11,17 +11,27 @@ local server_ref_map = {
};

local builddir = 'verylongdirnameforverystrangecpackbehavior';
local cmakeflags = '-DCMAKE_BUILD_TYPE=RelWithDebInfo -DPLUGIN_COLUMNSTORE=YES -DPLUGIN_XPAND=NO -DPLUGIN_MROONGA=NO -DPLUGIN_ROCKSDB=NO -DPLUGIN_TOKUDB=NO -DPLUGIN_CONNECT=NO -DPLUGIN_SPIDER=NO -DPLUGIN_OQGRAPH=NO -DPLUGIN_SPHINX=NO';

// This is stupid use of PLUGIN_*=NO syntax. It should just skip building
Copy link
Contributor

Choose a reason for hiding this comment

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

do you know the proper path how to reach that? it looks stupid indeed. but I don't know other ways to skip plugins. you could address that to mariadb server project. debian/autobase-deb.sh uses the same stupid way.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

For autobake-deb.sh it is not stupid, since it wants to build as much of the server as possible and "blacklist" only a few ones that take too long.

In ColumnStore you want to avoid building anything, and only "whitelist" ColumnStore to be built.

This makes the current Drone CI build .deb partspass and also simplifies
the config so that future maitenance of it will be easier and less error
prone. The mcs39_select_limit test failure still remains for .rpm.

Also remove autobake-deb.sh as it is unfit for this git repository.

The debian/autobake-deb.sh is designed as a build system for the MariaDB
Server that automatically adapts the build dependencies according to each
platform the MariaDB Server supports.

This is not in any way designed or fit for use with ColumnStore. It was
copied to this repo in commit 68f15c9 without any motivations on why
and accoring to Roman it was just a temporary thing that is safe to
remove.
@ottok
Copy link
Contributor Author

ottok commented Dec 28, 2020

@mariadb-RomanNavrotskiy Removed commit d71374e as it only made the rpm MTR fail even more.

Squashed this PR into a single commit. Feel free to merge now or request further changes (different target branch, other "trimming"?).

// _everything_ else apart from the things that ColumnStore actually needs.
local cmakeflags = '-DCMAKE_BUILD_TYPE=RelWithDebInfo -DPLUGIN_COLUMNSTORE=YES -DPLUGIN_XPAND=NO -DPLUGIN_MROONGA=NO -DPLUGIN_ROCKSDB=NO ' +
'-DPLUGIN_TOKUDB=NO -DPLUGIN_CONNECT=NO -DPLUGIN_SPIDER=NO -DPLUGIN_OQGRAPH=NO -DPLUGIN_SPHINX=NO ' +
'-DPLUGIN_PERFSCHEMA=NO -DWITH_EMBEDDED_SERVER=OFF -DWITH_WSREP=OFF';
Copy link
Collaborator

@drrtuy drrtuy Dec 29, 2020

Choose a reason for hiding this comment

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

IIRC our bulk insertion buffer depends on perfschema so we can't compler w/o it.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Apparently you can compile and the test suite passes as the CI shows? Or is the CI unreliable, it does not actually run a ColumnStore test suite?

Copy link
Collaborator

Choose a reason for hiding this comment

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

Yes, ATM the feature is in testing so production MTR that is also under development doesn't have tests for the feature.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I've added perfschema back in PR#1702 for develop-5, which you should merge, since you seem to merge from develop-5 onwards to develop and this PR will become obsolete.

.drone.jsonnet Show resolved Hide resolved
Copy link
Collaborator

@drrtuy drrtuy left a comment

Choose a reason for hiding this comment

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

I left comments inline.

@drrtuy
Copy link
Collaborator

drrtuy commented Dec 29, 2020

Many thanks for the help with debian packaging @ottok

@ottok
Copy link
Contributor Author

ottok commented Feb 1, 2021

This is superseded by #1702

drrtuy added a commit that referenced this pull request Feb 6, 2021
Refactor and simplify .deb build steps in Drone CI config (duplicate of #1700 for develop-5 branch)
@drrtuy drrtuy closed this Mar 8, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants