-
Notifications
You must be signed in to change notification settings - Fork 16
Fix master branch issues #1224
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
Merged
Merged
Fix master branch issues #1224
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
79208b1 to
a86b9c2
Compare
olegrok
approved these changes
Dec 24, 2025
f7d6370 to
e7ccff1
Compare
f8c08cc to
8f674d3
Compare
follow-up 331436c applying the approach introduced in 97f88ec The mentioned approach implies using of `lib/dial` library rather than `tls-dialer`. The implementation of `lib/dial` depends on build type and either uses `tls-dialer` for 'ssl' build (`tls-dialer` in turn depends on OpenSSL c-library) or dummy implementation for 'no-ssl'. Prior to this patch `tls-dialer` was used directly which means that `tt`-executable always required OpenSSL c-library (`libssl.so`). Certain version of the SSL-library is resolved at build-time and depends on the build environment. So previously `tt`-executable always required `libssl.so` of the version that was installed on builder. Then if target system didn't have it `tt` executable failed to launch. This exact problem arose for example when one tries to install `tarantool` using docker with command: $ tt install tarantool --use-docker This command eventually launch `tt` in a docker image that is prepared internally and is based on Ubuntu 18.04 which have SSL of version 1 onboard. `tt` itself is usually built in modern environment with SSL of version 3 and thus its execution in docker failed. Closes #1220 Part of #1223
`tt` performs `tarantool` in-docker compilation in the scope of commands tt install tarantool --use-docker tt pack tgz|deb|rpm --use-docker Docker images that are used internally are based on Ubuntu 18.04, but starting from tarantool/tarantool#1fd4404 `tarantool` compilation no longer succeed in this system due to compilation issues. The problem has been fixed already (tarantool/tarantool#12170), but anyway there are a bunch of commits (including version 3.6.0 of tarantool) that can't be used with the commands mentioned above. At the same time Ubuntu 18.04 is quite an old release that is no longer supported. So this patch bumps "base" of the tarantool-builder dockers to the next Ubuntu LTS which is 20.04 (its default c-compiler is not affected with the "problem" commits). Closes #1223 Related to tarantool/tarantool#12167 @TarantoolBot document Title: upgrade internal docker container Docker container that is used when in-docker tarantool build is requested was upgraded from Ubuntu 18.04 to Ubuntu 20.04.
Full integration tests on master branch were ended up with 'no space left' at `test_pack_deb_with_docker`. With this patch the tests that consume the most disk space are executed first as a separate job step. A few 'docker' tests that have been disabled recently in 4fb50af are turned back to be launched within that step. Closes #1223
Prior to this patch integration test `test_install_tarantool_in_docker` checked doesn't specify tarantool version explicitly, so it was always checked against the latest one. Which means that it might fail due to some problem introduced in tarantool and thus broke `tt` release cycle with non-tt problem. To avoid such an unpredictable behavior this test is adjusted to check only against predefined `tarantool` versions (each of them is obtained from the corresponding test environment). Original test that checks against the latest `tarantool` version is to be moved to separate workflow that is not involved into release cycle and is performed periodically (by cron) to monitor consistency. Closes #1221
Prior to this patch installation-by-commit only worked if commit is accessible from the master's HEAD. Closes #1222 @TarantoolBot document Title: fix installation of tarantool by commit hash.
8f674d3 to
499d1e0
Compare
patapenka-alexey
approved these changes
Dec 26, 2025
Contributor
patapenka-alexey
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR resolves all the problems found during investigation of the subject
Fixed 'no-ssl' build.
follow-up 331436c applying the approach introduced in 97f88ec
The mentioned approach implies using of
lib/diallibrary rather thantls-dialer. The implementation oflib/dialdepends on build type and either usestls-dialerfor 'ssl' build (tls-dialerin turn depends on OpenSSL c-library) or dummy implementation for 'no-ssl'.Prior to this patch
tls-dialerwas used directly which means thattt-executable always required OpenSSL c-library (libssl.so).Certain version of the SSL-library is resolved at build-time and depends on the build environment. So previously
tt-executable always requiredlibssl.soof the version that was installed on builder. Then if target system didn't have itttexecutable failed to launch. This exact problem arose for example when one tries to installtarantoolwith the command:This command eventually launches
ttin a docker container that is prepared internally and is based on Ubuntu 18.04 which have SSL of version 1 onboard.ttitself is usually built in modern environment with SSL of version 3 and thus its execution in docker failed.Upgraded docker images that is used by
ttto build tarantool.ttperformstarantoolin-docker compilation in the scope of commandsDocker images that are used internally are based on Ubuntu 18.04, but starting from tarantool/tarantool@1fd4404
tarantoolcompilation no longer succeed in this system due to compilation issues. The problem has been fixed already (tarantool/tarantool#12170), but anyway there are a bunch of commits (including version 3.6.0 of tarantool) that can't be used with the commands mentioned above.At the same time Ubuntu 18.04 is quite an old release that is no longer supported. So this patch bumps "base" of the tarantool-builder dockers to the next Ubuntu LTS which is 20.04 (its default c-compiler is not affected with the "problem" commits).
Test against predefined versions of
tarantoolintest_install_tarantool_in_dockerPrior to this patch integration test
test_install_tarantool_in_dockerdoesn't specify tarantool version explicitly, so it was always checked against the latest one. Which means that it might fail due to some problem introduced intarantooland thus it might break tt release cycle with non-tt problem.To avoid such an unpredictable behavior this test is adjusted to check only against predefined
tarantoolversions (each of them is obtained from the corresponding test environment). Original test that checks against the latesttarantoolversion is to be moved to separate workflow that is not involved into release cycle and is performed periodically (by cron) to monitor consistency.Fix installing tarantool by commit hash.
Prior to the correction installation-by-commit only worked with commits that are accessible from the current master's HEAD
I didn't forget about:
Related issues:
Closes #1220
Closes #1221
Closes #1222
Closes #1223
Related to tarantool/tarantool#12167