diff --git a/.github/workflows/rust-cubestore.yml b/.github/workflows/rust-cubestore.yml index a2a2cd0ae0167..eb289d26469a0 100644 --- a/.github/workflows/rust-cubestore.yml +++ b/.github/workflows/rust-cubestore.yml @@ -27,25 +27,14 @@ jobs: fail-fast: false matrix: rust: [nightly-2024-01-29] + container: + image: cubejs/rust-builder:bookworm-llvm-18 env: RUST: ${{ matrix.rust }} steps: - - name: Maximize build space (disk space limitations) - run: | - echo "Before" - df -h - sudo apt-get remove -y 'php.*' - sudo apt-get remove -y '^mongodb-.*' - sudo apt-get remove -y '^mysql-.*' - sudo apt-get autoremove -y - sudo apt-get clean - - sudo rm -rf /usr/share/dotnet - sudo rm -rf /usr/local/lib/android - sudo rm -rf /opt/ghc - sudo rm -rf /opt/hostedtoolcache/CodeQL - echo "After" - df -h + - name: Prepare directories + # See TMPDIR comment below + run: mkdir /__w/tmp - name: Checkout uses: actions/checkout@v4 - name: Install Rust @@ -69,10 +58,15 @@ jobs: cargo fmt --manifest-path rust/cubestore/cubehll/Cargo.toml -- --check - name: Run cargo build run: | - cargo build --manifest-path rust/cubestore/Cargo.toml -j 4 + cargo build --manifest-path rust/cubestore/Cargo.toml - name: Run cargo test + env: + # LocalDirRemoteFs expect that std::env::temp_dir and its local dir is on same FS, to use `rename` + # On Unix it's controlled by TMPDIR + # When using `container` in GHA checkout will be located in `/__w`, and that's a separate mount from `/tmp` + TMPDIR: /__w/tmp run: | - cargo test --manifest-path rust/cubestore/Cargo.toml -j 1 + cargo test --manifest-path rust/cubestore/Cargo.toml docker-image-latest: name: Build only :latest image diff --git a/rust/cubestore/cubestore-sql-tests/src/multiproc.rs b/rust/cubestore/cubestore-sql-tests/src/multiproc.rs index 1f8a22ea086eb..55d8df8a5d727 100644 --- a/rust/cubestore/cubestore-sql-tests/src/multiproc.rs +++ b/rust/cubestore/cubestore-sql-tests/src/multiproc.rs @@ -113,7 +113,7 @@ pub trait MultiProcTest { /// This timeout will be applied both on worker and for the drive() function. fn timeout(&self) -> Duration { - Duration::from_secs(20) + Duration::from_secs(30) } fn worker_init_timeout(&self) -> Duration { diff --git a/rust/cubestore/cubestore-sql-tests/src/tests.rs b/rust/cubestore/cubestore-sql-tests/src/tests.rs index 048157c2172d9..8a8be2101c05b 100644 --- a/rust/cubestore/cubestore-sql-tests/src/tests.rs +++ b/rust/cubestore/cubestore-sql-tests/src/tests.rs @@ -2256,6 +2256,7 @@ async fn create_table_with_csv_no_header_and_delimiter(service: Box) { + // TODO serve this data ourselves let url = "https://data.wprdc.org/dataset/0b584c84-7e35-4f4d-a5a2-b01697470c0f/resource/e95dd941-8e47-4460-9bd8-1e51c194370b/download/bikepghpublic.csv"; service