Skip to content

Commit d14c043

Browse files
author
Hugo Laloge
committed
Merge remote-tracking branch 'upstream/main' into feature/endpoint-auto-update
2 parents 3f079dc + 1a61bf7 commit d14c043

File tree

225 files changed

+11207
-6875
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

225 files changed

+11207
-6875
lines changed

.config/nextest.toml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,14 @@ test(=zenoh_unicity_p2p) |
1515
test(=zenoh_unicity_brokered) |
1616
test(=transport_tcp_intermittent) |
1717
test(=transport_tcp_intermittent_for_lowlatency_transport) |
18+
test(=transport_unicast_quic_only_mutual_success) |
19+
test(=transport_unicast_quic_only_server) |
1820
test(=three_node_combination) |
1921
test(=watchdog_alloc_concurrent) |
2022
test(=header_check_memory_concurrent) |
2123
test(=header_link_concurrent) |
22-
test(=header_link_failure_concurrent)
24+
test(=header_link_failure_concurrent) |
25+
test(=zenoh_querier_matching_status)
2326
"""
2427
slow-timeout = { period = "60s", terminate-after = 6 }
2528
threads-required = 'num-cpus'

.github/workflows/ci.yml

Lines changed: 48 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,9 @@ jobs:
116116
run: rustup update stable
117117

118118
- name: Make sure necessary tools are installed
119-
run: rustup component add clippy rustfmt
119+
run: |
120+
rustup component add clippy --toolchain stable
121+
rustup component add rustfmt --toolchain nightly
120122
121123
- name: Setup rust-cache
122124
uses: Swatinem/rust-cache@v2
@@ -134,9 +136,9 @@ jobs:
134136

135137
- name: Install latest taplo
136138
uses: taiki-e/install-action@taplo
137-
139+
138140
- name: Code format check
139-
run: rustfmt --check --config "unstable_features=true,imports_granularity=Crate,group_imports=StdExternalCrate,skip_children=true" $(git ls-files '*.rs')
141+
run: rustfmt +nightly --check --config "unstable_features=true,imports_granularity=Crate,group_imports=StdExternalCrate,skip_children=true" $(git ls-files '*.rs')
140142

141143
- name: Clippy zenoh no-default-features
142144
run: cargo +stable clippy -p zenoh --all-targets --no-default-features -- --deny warnings
@@ -268,7 +270,9 @@ jobs:
268270

269271
- name: Run tests with SHM + unixpipe
270272
if: ${{ matrix.os == 'ubuntu-latest' }}
271-
run: cargo nextest run -F test -F shared-memory -F unstable -F internal_config -F transport_unixpipe -E 'not (test(test_default_features))' --exclude zenoh-examples --exclude zenoh-plugin-example --workspace
273+
run: |
274+
sudo prlimit --memlock=unlimited --pid=$$
275+
cargo nextest run -F test -F shared-memory -F unstable -F internal_config -F transport_unixpipe -E 'not (test(test_default_features))' --exclude zenoh-examples --exclude zenoh-plugin-example --workspace
272276
273277
- name: Rename junit test report
274278
if: ${{ matrix.os == 'ubuntu-latest' }}
@@ -329,6 +333,24 @@ jobs:
329333
config: '.markdownlint.yaml'
330334
globs: '**/README.md'
331335

336+
doc:
337+
name: Generate documentation
338+
runs-on: ubuntu-latest
339+
steps:
340+
- name: Clone this repository
341+
uses: actions/checkout@v4
342+
343+
# Use a similar command than docs.rs build: rustdoc with nightly toolchain
344+
- name: Install Rust toolchain nightly for docs gen
345+
run: rustup toolchain install nightly
346+
347+
- name: Run rustdoc using Nightly Rust and Zenoh unstable
348+
# NOTE: force 'unstable' feature for doc generation, as forced for docs.rs build in zenoh/Cargo.toml
349+
run: |
350+
cargo +nightly rustdoc --manifest-path ./zenoh/Cargo.toml --lib --features "shared-memory unstable" -j3 \
351+
-Z rustdoc-map -Z unstable-options -Z rustdoc-scrape-examples \
352+
--config build.rustdocflags='["--cfg", "docsrs", "-Z", "unstable-options", "--emit=invocation-specific", "--cap-lints", "warn", "--extern-html-root-takes-precedence"]'
353+
332354
coverage:
333355
name: Coverage
334356
strategy:
@@ -338,8 +360,22 @@ jobs:
338360
rust: [nightly]
339361
runs-on: ${{ matrix.os }}
340362
steps:
341-
- name: Uninstall pre-installed packages
342-
run: sudo apt remove dotnet* azure-cli google-cloud-cli microsoft-edge-stable google-chrome-stable firefox temurin-8-jdk powershell mysql-server-core-8.0 mono-devel -y
363+
- name: Free Disk Space (Ubuntu)
364+
uses: jlumbroso/free-disk-space@main
365+
with:
366+
tool-cache: false
367+
android: true
368+
dotnet: true
369+
haskell: true
370+
large-packages: true
371+
docker-images: true
372+
swap-storage: true
373+
374+
- name: Install build-essential (Ubuntu)
375+
if: ${{ matrix.os == 'ubuntu-latest' }}
376+
run: |
377+
sudo apt-get update
378+
sudo apt-get install -y build-essential clang libc6-dev
343379
344380
- name: Checkout sources
345381
uses: actions/checkout@v4
@@ -359,6 +395,7 @@ jobs:
359395

360396
- name: Generate code coverage
361397
run: |
398+
sudo prlimit --memlock=unlimited --pid=$$
362399
cargo +${{ matrix.rust }} llvm-cov test --features unstable --features test --features shared-memory \
363400
${{ matrix.rust == 'nightly' && '--doctests' || '' }} --lcov --output-path lcov.info \
364401
--no-cfg-coverage --no-cfg-coverage-nightly --ignore-run-fail -- \
@@ -367,7 +404,10 @@ jobs:
367404
--skip three_node_combination \
368405
--skip three_node_combination_multicast \
369406
--skip two_node_combination \
370-
--skip test_gossip
407+
--skip test_gossip \
408+
--skip metadata_alloc_concurrent \
409+
--skip metadata_link_concurrent \
410+
--skip metadata_link_failure_concurrent
371411
env:
372412
RUST_LOG: None
373413

@@ -392,7 +432,7 @@ jobs:
392432
ci:
393433
name: CI status checks
394434
runs-on: ubuntu-latest
395-
needs: [check_rust, check, test, valgrind, typos, markdown_lint, coverage]
435+
needs: [check_rust, check, test, valgrind, typos, markdown_lint, doc, coverage]
396436
if: always()
397437
steps:
398438
- name: Check whether all jobs pass
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
name: Trigger sync lockfiles workflow
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
paths: [Cargo.lock]
8+
9+
jobs:
10+
trigger-sync-lockfiles:
11+
name: Trigger sync lockfiles workflow
12+
uses: eclipse-zenoh/ci/.github/workflows/sync-lockfiles.yml@main
13+
permissions:
14+
pull-requests: write
15+
secrets: inherit

0 commit comments

Comments
 (0)