[MDEV-13234] buildbot: minimal build Created: 2017-07-03 Updated: 2022-11-03 |
|
| Status: | Open |
| Project: | MariaDB Server |
| Component/s: | Compiling, Tests |
| Fix Version/s: | N/A |
| Type: | Task | Priority: | Major |
| Reporter: | Sergei Golubchik | Assignee: | Daniel Bartholomew |
| Resolution: | Unresolved | Votes: | 1 |
| Labels: | None | ||
| Issue Links: |
|
||||||||
| Description |
|
"Minimal build" builder. All non-mandatory plugins are disabled. Just the compilation and a minimal test run. The goal is to ensure that the code compiles and the binary doesn't crash on startup. |
| Comments |
| Comment by Daniel Bartholomew [ 2017-07-03 ] | ||||||||||||||||||||||||||||||||||||||||
|
Any suggestions for the distro to build on? | ||||||||||||||||||||||||||||||||||||||||
| Comment by Sergei Golubchik [ 2017-07-04 ] | ||||||||||||||||||||||||||||||||||||||||
|
Nothing in particular. I'd pick one of the existing VMs, not too old distribution. Xenial, may be. Or new Fedora. | ||||||||||||||||||||||||||||||||||||||||
| Comment by Colin Charles [ 2019-06-20 ] | ||||||||||||||||||||||||||||||||||||||||
|
Hi! Is this semi-related? https://jira.mariadb.org/browse/MDEV-131 I actually would love to create a minimal tarball, which may be beyond the goal of disabling non-mandatory plugins and minimal tests – but one that strips the binaries, changing compression, etc. for distribution purposes. MySQL has brought this on nowadays, and it is immensely useful for testing purposes, i.e. with tools like dbdeployer See https://mysqlrelease.com/2019/05/the-amazing-shrinking-tarball/ for MySQL "going from 439.4Mb down to 42.2Mb". MariaDB Server 10.4.6 is 701.6MB to 874.7MB for tarballs, and it would be great to get this reduced in size! | ||||||||||||||||||||||||||||||||||||||||
| Comment by Daniel Bartholomew [ 2019-10-10 ] | ||||||||||||||||||||||||||||||||||||||||
|
I've added a minimal build to buildbot. Here's the log of the first build: The minimal bintar builder is currently configured with the following additions to the standard cmake flags for bintars:
RocksDB and TokuDB fail to build when '-DCMAKE_BUILD_TYPE=MinSizeRel' is set, so they had to be disabled to get an initial working config in place in buildbot. I also set '-DPLUGIN_CASSANDRA=NO' because it definitely meets the definition of "non-mandatory". Not sure if we want to eventually release this bintar or not. The size is greatly reduced from regular bintars, 142M for the 10.4 xenial minimal bintar compared to 1001M for the 10.4 trusty bintar, so I imagine some users would find it useful. If we do decide to eventually release it we could reduce the filesize even further, down to 80M, if we switched from gzip to using xz for the final compression of the tar file. But I haven't looked into how to configure that to happen automatically when building. serg: Now that there's an initial working config in place, let me know what other plugins I should disable for this build. Thanks. | ||||||||||||||||||||||||||||||||||||||||
| Comment by Sergei Golubchik [ 2019-10-11 ] | ||||||||||||||||||||||||||||||||||||||||
|
the idea was to disable everything
so let's try -DWITH_NONE=1 | ||||||||||||||||||||||||||||||||||||||||
| Comment by Daniel Bartholomew [ 2019-10-11 ] | ||||||||||||||||||||||||||||||||||||||||
|
Ok, the cmake line in buildbot is now just:
| ||||||||||||||||||||||||||||||||||||||||
| Comment by Daniel Bartholomew [ 2019-10-11 ] | ||||||||||||||||||||||||||||||||||||||||
|
serg Looks like trying to compile with -DWITH_NONE=1 fails: https://buildbot.askmonty.org/buildbot/builders/kvm-bintar-xenial-amd64-minimal/builds/23 | ||||||||||||||||||||||||||||||||||||||||
| Comment by Daniel Bartholomew [ 2019-10-11 ] | ||||||||||||||||||||||||||||||||||||||||
|
I've set up a bld-starfs-minimal builder/factory with the following cmake line:
Builds are succeeding. There was a 10.2 build that failed when I just did '-DWITH_NONE=1' but after adding the others it is succeeding too. Builds on this are faster compared to the bld-starfs-release builder, e.g. 17 vs 9 minutes for 10.5, and on 10.2 it builds in only 5 minutes. | ||||||||||||||||||||||||||||||||||||||||
| Comment by Oleksandr Byelkin [ 2019-10-15 ] | ||||||||||||||||||||||||||||||||||||||||
|
it fails on tokudb compile on 5.5 http://buildbot.askmonty.org/buildbot/builders/kvm-bintar-xenial-amd64-minimal/builds/20 | ||||||||||||||||||||||||||||||||||||||||
| Comment by Daniel Bartholomew [ 2019-10-15 ] | ||||||||||||||||||||||||||||||||||||||||
|
Thanks Sanja! Yes, the kvm-bintar-xenial-amd64-minimal builder is failing most of its builds at the moment. I need to adjust the cmake line. | ||||||||||||||||||||||||||||||||||||||||
| Comment by Sergei Golubchik [ 2019-11-27 ] | ||||||||||||||||||||||||||||||||||||||||
|
why do we need both? bld-starfs-minimal looks good enough. We just need to test a minimal build, not a minimal bintar — the latter is not expected to work | ||||||||||||||||||||||||||||||||||||||||
| Comment by Daniel Bartholomew [ 2019-12-02 ] | ||||||||||||||||||||||||||||||||||||||||
|
ok, then I'll remove kvm-bintar-xenial-amd64-minimal and close this issue | ||||||||||||||||||||||||||||||||||||||||
| Comment by Daniel Black [ 2020-12-16 ] | ||||||||||||||||||||||||||||||||||||||||
|
on dbdeployer requirements looking at the minimal build from MySQL Default 10.5 is: CPackConfig.cmake:set(CPACK_COMPONENTS_ALL Of which I think to match the MySQL minimal is removing:
If a cpack -G TXZ command could pack that minimal list it might be achievable. https://buildbot.mariadb.org/#/builders/124 has the largest step as fetching the tarball built so a secondary requirement is using it there. | ||||||||||||||||||||||||||||||||||||||||
| Comment by Daniel Black [ 2022-11-03 ] | ||||||||||||||||||||||||||||||||||||||||
|
Separate tar files can be generated:
|