Commit Graph

159 Commits

Author SHA1 Message Date
Azat Khuzhin
0b258dda4e Reproducible builds for Rust
From now on cargo will not download anything from the internet during
builds. This step had been moved for docker image builds (via cargo
vendor).

And now cargo inside docker.io/clickhouse/binary-builder will not use
any crates from the internet, so we don't need to add --offline for
cargo commands in cmake (corrosion_import_crate()).

Also the docker build command had been adjusted to allow following
symlinks inside build context, by using tar, this is required for Rust
packages.

Note, that to make proper Cargo.lock that could be vendored I did the
following:
- per-project locks had been removed (since there is no automatic way to
  sync the workspace Cargo.lock with per-project Cargo.lock, since cargo
  update/generate-lockfile will use only per-project Cargo.toml files
  apparently, -Z minimal-versions does not helps either)
- and to generate Cargo.lock with less changes I've pinned version in
  the Cargo.toml strictly, i.e. not 'foo = "0.1"' but 'foo = "=0.1"'
  then the Cargo.lock for workspace had been generated and afterwards
  I've reverted this part.

Plus I have to update the dependencies afterwards, since otherwise there
are conflicts with dependencies for std library. Non trivial.

Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2023-07-22 22:46:22 +02:00
Azat Khuzhin
ec5e26a017 Pin rust nightly (to make it stable)
Because of using Rust nightly, and without #49601 the Rust toolchain is
very unstable, and can be frequently failed.

So let's ping particular version.

Also I've looked and it seems that Rust archives stores this archive
without any TTL, since there is even a version for 2015 year.

Follow-up for: #50541
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2023-07-06 21:17:50 +02:00
Mikhail f. Shiryaev
6d2b5166b9
Update golang version in builder 2023-06-28 10:32:20 +02:00
Azat Khuzhin
bf127f4e1e MSan support for Rust
Previously you have to unpoison memory from the Rust, however Rust does
supports MSan, so let's simply use it.

But for this we need nightly Rust and recompile standard library.

Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2023-06-04 23:04:55 +02:00
Mikhail f. Shiryaev
6d8da8f88b
Add sccache and ctcache S3 parameters, don't use 2023-03-29 23:33:27 +02:00
Mikhail f. Shiryaev
612d1d8876
Install sccache in binary-builder and fasttests 2023-03-29 23:33:24 +02:00
Mikhail f. Shiryaev
4d8ff0c0fb
Update the golang version to 1.19.5 2023-02-13 13:19:45 +01:00
Mikhail f. Shiryaev
ebb41504c0
Move copy to the end for parallel image building 2023-02-12 14:55:16 +01:00
Mikhail f. Shiryaev
376b5d178f
Experiment with multiple build stages 2023-02-09 19:13:44 +01:00
Mikhail f. Shiryaev
1ef1eefa26
Format the RUN, update clang-tidy-cache 2023-02-09 19:10:48 +01:00
Mikhail f. Shiryaev
5bc3e703ef
Move the heaviest operation to the top 2023-02-09 19:10:06 +01:00
MeenaRenganathan22
4a0202a074 Committing the docker with the changes to install the ysam 2023-01-24 20:41:43 -05:00
Alexey Milovidov
e9f11a3e61 Fix Docker 2023-01-08 22:45:30 +01:00
Mikhail f. Shiryaev
a68dc6280d
Optimize binary-builder size 2022-11-25 12:17:51 +01:00
Mikhail f. Shiryaev
150ceb7d37
Use matus-chochlik/ctcache for clang-tidy 2022-11-03 11:53:11 +01:00
Azat Khuzhin
043c4163f4 Use nfpm packager for archlinux packages
Since nfpm v2.20.0 it can build packages for archlinux [1].

  [1]: https://github.com/goreleaser/nfpm/pull/543

Something like this:

    $ mkdir -p /src/packages/root
    $ cmake -DCMAKE_INSTALL_PREFIX=/usr /src
    $ DESTDIR=/src/packages/root ninja install
    $ cd /src/packages
    $ ./build --archlinux

    $ root@s3:/src/packages# ./build --archlinux
    Current version is 22.10.1.1
    Building archlinux package for clickhouse-client.yaml
    using archlinux packager...
    created package: /src/clickhouse-client-22.10.1.1-1-x86_64.pkg.tar.zst
    ...

Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-10-18 18:33:48 +03:00
BoloniniD
3a3ca51980 Fixes after review 2022-10-02 20:52:05 +03:00
BoloniniD
55c79230b3 Merge branch 'master' of github.com:ClickHouse/ClickHouse into BLAKE3 2022-09-29 23:53:25 +03:00
Mikhail f. Shiryaev
5d8b8a7db6
Add deb Source for packages 2022-09-19 20:42:02 +02:00
BoloniniD
2f771daa8c Fix Rust installation for Corrosion 2022-09-18 15:22:16 +03:00
BoloniniD
627dea333e Merge branch 'master' into BLAKE3 2022-09-17 22:14:30 +03:00
BoloniniD
452ef4435b Merge branch 'master' of github.com:ClickHouse/ClickHouse into BLAKE3 2022-09-16 20:05:56 +03:00
BoloniniD
0df426d329 Corrosion fixes + review fixes 2022-09-16 00:05:21 +03:00
Azat Khuzhin
ced30a2072 Switch to llvm/clang 15
It had been released few hours ago, and I want to check how clang-15
generates DWARF-5

Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-09-10 21:38:34 +02:00
BoloniniD
e8bcbcd016
Merge branch 'master' into BLAKE3 2022-09-09 11:48:31 +03:00
Azat Khuzhin
64f95710cd ci: add symlink for llvm-symbolizer (to make symbolizer work)
Simply installing llvm-symbolizer-$VER is not enough, since it does not
contain proper symblink, while LLVM is looking only for
"llvm-symbolizer" (without version) - [1]:

  [1]:
c444af1c20/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp (L454)

Follow-up for: #40655
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-09-04 14:03:34 +02:00
Azat Khuzhin
ce88c7cb60 Add llvm-15 for llvm-symbolizer-15 for clang-15 (used for TSan)
Simply installing llvm-15 over TSAN_SYMBOLIZER_PATH had been prefered
(to keep everything in one place and as simple as possible), though
TSAN_SYMBOLIZER_PATH should also work.

Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-08-26 09:28:42 +02:00
Alexey Milovidov
5ce6c07005 Set linker for RISC-V 64 2022-08-14 05:57:55 +02:00
BoloniniD
48c91619b0
Merge branch 'master' into BLAKE3 2022-08-04 20:30:47 +03:00
Alexey Milovidov
f474eb957d
Merge pull request #39758 from ClickHouse/tsan_clang_15
Try clang-15 for build with tsan
2022-08-04 01:56:52 +03:00
Mikhail f. Shiryaev
eeaf08525f
Use test-util as source for base-test, fasttest and package builder 2022-08-03 14:49:06 +02:00
Alexander Tokmakov
e292d830f5
Update Dockerfile 2022-08-02 15:37:02 +03:00
Alexander Tokmakov
31550436e4 try clang-15 for build with tsan 2022-07-31 14:38:13 +02:00
Alexey Milovidov
36e6500e54
Merge branch 'master' into BLAKE3 2022-07-30 23:14:05 +03:00
Mikhail f. Shiryaev
061e61919a
Merge pull request #39450 from ClickHouse/tsal-clang-13
Build thread sanitizer binaries with clang-13
2022-07-26 15:13:17 +02:00
Mikhail f. Shiryaev
17b504b0d4
Build thread sanitizer binaries with clang-13 2022-07-22 12:14:22 +02:00
jasperzhu
c044c67745
Merge branch 'master' into dev_intel_iaa_deflate 2022-07-19 15:32:57 +08:00
Mikhail f. Shiryaev
7388b6fb55
Test and build clickhouse-diagnostics in release builds 2022-07-04 10:59:37 +02:00
Mikhail f. Shiryaev
0aae60f8f1
Update nfpm version 2022-07-01 11:43:13 +02:00
jasperzhu
bca18b2caf
Merge branch 'master' into dev_intel_iaa_deflate 2022-06-16 08:56:27 +08:00
BoloniniD
6120495373 Fix Dockerfile 2022-06-10 10:31:25 +03:00
BoloniniD
14ddcee432 Trying another Rust target to fix compatibility test 2022-06-07 18:10:49 +03:00
BoloniniD
b05ee41d25 Merge branch 'master' of github.com:ClickHouse/ClickHouse into BLAKE3 2022-06-06 16:03:10 +03:00
jinjunzh
c7ca746994 fixed build issues in clickhouse-keeper 2022-06-05 14:46:28 -04:00
BoloniniD
dd8aefdf1e Merge branch 'master' of github.com:ClickHouse/ClickHouse into BLAKE3 2022-06-01 11:46:55 +03:00
jinjunzh
1d3ae2d88c fixed unable to find library -ldl in docker build 2022-05-31 17:14:08 -04:00
jinjunzh
822cef10b3 add nasm into more docker configuration 2022-05-30 21:16:06 -04:00
Alexey Milovidov
dce7a86ca9 Merge branch 'master' into llvm-14 2022-05-22 22:38:07 +02:00
Mikhail f. Shiryaev
8507a4ddbf
Update nfpm version, prepare UID/GID workdir 2022-05-18 01:38:43 +02:00
BoloniniD
aec9af18e9 Test alt linker in blake3 2022-04-03 00:29:45 +03:00