Skip to content
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

update from main to protocol_changes #924

Merged
merged 49 commits into from
Apr 10, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
ace10ab
break memory leaks due to cyclic references
DenisBiryukov91 Mar 15, 2024
301ab46
terminate tasks to prevent corresponding memory leaks
DenisBiryukov91 Mar 15, 2024
8b81210
fix infinite recursion if session.close() is called explicitly
DenisBiryukov91 Mar 15, 2024
2e7c911
add function to force-drop ZRUNTIME_POOL static variable
DenisBiryukov91 Mar 18, 2024
adb7da7
make TaskController copyable
DenisBiryukov91 Mar 18, 2024
44dfef4
make TaskController use tokio_util TaskTracker and CancellationTokens
DenisBiryukov91 Mar 19, 2024
e12eedf
terminate more tasks
DenisBiryukov91 Mar 19, 2024
15b1c92
clippy, fmt
DenisBiryukov91 Mar 19, 2024
757cd48
- add ci bash script to run valgrind test;
DenisBiryukov91 Mar 21, 2024
a1beb28
-fix fmt
DenisBiryukov91 Mar 21, 2024
f45df41
-fix fmt; update valgrind-check script
DenisBiryukov91 Mar 21, 2024
04aeeed
clippy
DenisBiryukov91 Mar 21, 2024
e7134e5
drop runtimes instead of shutdown_background
DenisBiryukov91 Mar 21, 2024
5c672cd
include memory-leaks test in ci
DenisBiryukov91 Mar 21, 2024
ca05313
add sudo before valgrind install in ci
DenisBiryukov91 Mar 21, 2024
a94e86f
replace ZRuntime drop with shutdown_timeout to prevent infinite wait …
DenisBiryukov91 Mar 21, 2024
918b1f8
docs update
DenisBiryukov91 Mar 22, 2024
1b4622f
- rename spawn -> spawn_abortable, spawn_cancellable -> spawn, for mo…
DenisBiryukov91 Mar 25, 2024
9d293a7
merge
DenisBiryukov91 Mar 25, 2024
13ae47b
Simplify the drop of ZRUNTIME_POOL
YuanYuYuan Mar 26, 2024
93eeacf
Update the doc
YuanYuYuan Mar 26, 2024
9841bea
- use ZRuntime executor instead of futures::executor
DenisBiryukov91 Mar 26, 2024
f593283
Merge pull request #3 from YuanYuYuan/feat/memory_leaks/drop-zruntime…
DenisBiryukov91 Mar 26, 2024
8520a24
terminate scouting task
DenisBiryukov91 Mar 27, 2024
888d340
Merge pull request #846 from DenisBiryukov91/fix/memory_leaks
milyin Mar 29, 2024
12584fa
Squash merge sync-lockfile prs, provide zenoh HEAD hash & date (#876)
fuzzypixelz Mar 29, 2024
9449c31
Correct generic name IntoSelector to TryIntoSelector in Session.get (…
DenisBiryukov91 Mar 29, 2024
05b9cb4
Fix cargo clippy (#880)
Mallets Mar 29, 2024
51f4f1c
Review tokio runtime being used (#875)
Mallets Apr 1, 2024
02d4783
feat: use GitHub's markdown alerts for warnings (#883)
ayhon Apr 2, 2024
6799a92
Fix issue #887 (#888)
YuanYuYuan Apr 3, 2024
44900b7
fix ZRuntimePool drop crash if not runtimes were initialized
DenisBiryukov91 Apr 4, 2024
f419da8
clippy and fmt
DenisBiryukov91 Apr 4, 2024
1f8dbe4
Merge pull request #901 from DenisBiryukov91/fix/ZRuntime_drop
milyin Apr 4, 2024
d818d60
Proposal: Cancel query timeout task, once query is finalized (#881)
DenisBiryukov91 Apr 4, 2024
9485061
Revert "Fix issue #887 (#888)" (#905)
Mallets Apr 5, 2024
2062883
fix: Release workflow (#904)
fuzzypixelz Apr 5, 2024
b2ef3dd
fix: Release workflow (#909)
fuzzypixelz Apr 5, 2024
0926dd3
fix(913): using 2+batch.len() when increasing rx_bytes (#914)
gabrik Apr 8, 2024
fff238c
make session only close its runtime on drop, if it was created from c…
DenisBiryukov91 Apr 9, 2024
c50b680
fmt
DenisBiryukov91 Apr 9, 2024
70d7a4c
fix address"
DenisBiryukov91 Apr 9, 2024
9ba3eb9
Merge pull request #917 from DenisBiryukov91/fix/drop_sessions_with_s…
milyin Apr 10, 2024
d594afb
fix(replication): do not reply an error when a key is not found (#912)
J-Loudet Apr 10, 2024
d0d97c9
Merge branch 'main' into protocol_changes_update2
milyin Apr 10, 2024
834be85
compilation fixes
milyin Apr 10, 2024
ef24da3
Merge pull request #921 from eclipse-zenoh/protocol_changes_update2
milyin Apr 10, 2024
e484021
Revert "merge `main` into `protocol changes`"
milyin Apr 10, 2024
15a46a0
Merge pull request #922 from eclipse-zenoh/revert-921-protocol_change…
milyin Apr 10, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,16 @@ jobs:
- name: Run doctests
run: cargo test --doc

- name: Install valgrind
if: ${{ matrix.os == 'ubuntu-latest' }}
run: sudo apt-get install -y valgrind
shell: bash

- name: Run memory leaks check
if: ${{ matrix.os == 'ubuntu-latest' }}
run: ci/valgrind-check/run.sh
shell: bash

# NOTE: In GitHub repository settings, the "Require status checks to pass
# before merging" branch protection rule ensures that commits are only merged
# from branches where specific status checks have passed. These checks are
Expand Down
60 changes: 0 additions & 60 deletions .github/workflows/enforce-linking-issues.yml

This file was deleted.

15 changes: 5 additions & 10 deletions .github/workflows/pre-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,10 +35,8 @@ jobs:
- name: Clone this repository
uses: actions/checkout@v4

- name: Install Rust toolchain
run: |
rustup show
rustup component add rustfmt clippy
- name: Install rustup components
run: rustup component add rustfmt clippy

- name: Code format check
run: cargo fmt --check
Expand All @@ -62,11 +60,8 @@ jobs:
- name: Clone this repository
uses: actions/checkout@v4

- name: Install Rust toolchain
run: rustup show

- name: Install nextest
run: cargo install --locked cargo-nextest
run: cargo +stable install --locked cargo-nextest
env:
CARGO_REGISTRIES_CRATES_IO_PROTOCOL: sparse

Expand All @@ -83,7 +78,7 @@ jobs:
ASYNC_STD_THREAD_COUNT: 4

doc:
name: Doc generation
name: Generate documentation
needs: checks
runs-on: ubuntu-latest
steps:
Expand All @@ -94,7 +89,7 @@ jobs:
- name: Install Rust toolchain nightly for docs gen
run: rustup toolchain install nightly

- name: generate doc
- name: Run rustdoc using Nightly Rust and Zenoh unstable
# NOTE: force 'unstable' feature for doc generation, as forced for docs.rs build in zenoh/Cargo.toml
run: >
cargo +nightly rustdoc --manifest-path ./zenoh/Cargo.toml --lib --features unstable -j3
Expand Down
50 changes: 34 additions & 16 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,24 +20,38 @@ on:
inputs:
live-run:
type: boolean
description: If false (or undefined) the workflow runs in dry-run mode (i.e. with no side-effects)
description: Live-run
required: false
default: false
version:
type: string
description: Release number. If undefined, the workflow auto-generates a version using git-describe
description: Release number
required: false

jobs:
tag:
name: Bump and tag crates
uses: eclipse-zenoh/ci/.github/workflows/tag-crates.yml@main
with:
repo: ${{ github.repository }}
live-run: ${{ inputs.live-run || false }}
version: ${{ inputs.version }}
inter-deps-pattern: zenoh.*
secrets: inherit
name: Branch, bump & tag crates
runs-on: ubuntu-latest
outputs:
version: ${{ steps.create-release-branch.outputs.version }}
branch: ${{ steps.create-release-branch.outputs.branch }}
steps:
- id: create-release-branch
uses: eclipse-zenoh/ci/create-release-branch@main
with:
repo: ${{ github.repository }}
live-run: ${{ inputs.live-run || false }}
version: ${{ inputs.version }}
github-token: ${{ secrets.BOT_TOKEN_WORKFLOW }}

- uses: eclipse-zenoh/ci/bump-crates@main
with:
repo: ${{ github.repository }}
version: ${{ steps.create-release-branch.outputs.version }}
branch: ${{ steps.create-release-branch.outputs.branch }}
bump-deps-pattern: zenoh.*
bump-deps-version: ${{ steps.create-release-branch.outputs.version }}
github-token: ${{ secrets.BOT_TOKEN_WORKFLOW }}

build-debian:
name: Build Debian packages
Expand All @@ -64,14 +78,14 @@ jobs:
secrets: inherit

cargo:
name: Publish Cargo crates
needs: tag
name: Publish Cargo crates
uses: eclipse-zenoh/ci/.github/workflows/release-crates-cargo.yml@main
with:
repos: ${{ github.repository }}
repo: ${{ github.repository }}
live-run: ${{ inputs.live-run || false }}
branch: ${{ needs.tag.outputs.branch }}
inter-deps-pattern: zenoh.*
unpublished-deps-patterns: "zenoh.*"
secrets: inherit

debian:
Expand Down Expand Up @@ -146,9 +160,10 @@ jobs:
uses: eclipse-zenoh/ci/.github/workflows/release-crates-dockerhub.yml@main
with:
no-build: true
live-run: ${{ inputs.live-run || false }}
live-run: true
version: ${{ needs.tag.outputs.version }}
repo: ${{ github.repository }}
branch: ${{ needs.tag.outputs.branch }}
tags: "eclipse/zenoh:${{ needs.tag.outputs.version }}"
binary: zenohd
files: |
Expand All @@ -158,6 +173,7 @@ jobs:
platforms: |
linux/arm64
linux/amd64
licenses: EPL-2.0 OR Apache-2.0
secrets: inherit

ghcr:
Expand All @@ -166,10 +182,11 @@ jobs:
uses: eclipse-zenoh/ci/.github/workflows/release-crates-ghcr.yml@main
with:
no-build: true
live-run: ${{ inputs.live-run || false }}
live-run: true
version: ${{ needs.tag.outputs.version }}
repo: ${{ github.repository }}
tags: "${{ github.repository }}:${{ needs.tag.outputs.version }}"
branch: ${{ needs.tag.outputs.branch }}
tags: "ghcr.io/${{ github.repository }}:${{ needs.tag.outputs.version }}"
binary: zenohd
files: |
zenohd
Expand All @@ -178,4 +195,5 @@ jobs:
platforms: |
linux/arm64
linux/amd64
licenses: EPL-2.0 OR Apache-2.0
secrets: inherit
25 changes: 22 additions & 3 deletions .github/workflows/sync-lockfiles.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,22 @@ jobs:
fetch:
name: Fetch Zenoh's lockfile
runs-on: ubuntu-latest
outputs:
zenoh-head-hash: ${{ steps.info.outputs.head-hash }}
zenoh-head-date: ${{ steps.info.outputs.head-date }}
steps:
- name: Checkout Zenoh
uses: actions/checkout@v4
with:
repository: eclipse-zenoh/zenoh
ref: ${{ inputs.branch }}

- id: info
name: Get HEAD info
run: |
echo "head-hash=$(git log -1 --format=%h)" >> $GITHUB_OUTPUT
echo "head-date=$(git log -1 --format=%ad)" >> $GITHUB_OUTPUT

- name: Upload lockfile
uses: actions/upload-artifact@v3
with:
Expand Down Expand Up @@ -94,8 +103,14 @@ jobs:
# NOTE: If there is a pending PR, this action will simply update it with a forced push.
uses: peter-evans/create-pull-request@v6
with:
title: Sync lockfile with Zenoh's
body: Automated synchronization of the Cargo lockfile with Zenoh. This is done to ensure plugin ABI compatibility.
title: Sync `Cargo.lock` with `eclipse-zenoh/zenoh@${{ needs.fetch.outputs.zenoh-head-hash }}` from `${{ needs.fetch.outputs.zenoh-head-date }}`"
body: >
This pull request synchronizes ${{ matrix.dependant }}'s Cargo lockfile with zenoh's.
This is done to ensure ABI compatibility between Zenoh applications, backends & plugins.

- **Zenoh HEAD hash**: eclipse-zenoh/zenoh@${{ needs.fetch.outputs.zenoh-head-hash }}
- **Zenoh HEAD date**: ${{ needs.fetch.outputs.zenoh-head-date }}
- **Workflow run**: [${{ github.run_id }}](https://github.com/eclipse-zenoh/zenoh/actions/runs/${{ github.run_id }})
commit-message: "chore: Sync Cargo lockfile with Zenoh's"
committer: eclipse-zenoh-bot <[email protected]>
author: eclipse-zenoh-bot <[email protected]>
Expand All @@ -107,6 +122,10 @@ jobs:

- name: Enable auto merge for the pull request
if: steps.cpr.outputs.pull-request-operation == 'created'
run: gh pr merge -R "eclipse-zenoh/${{ matrix.dependant }}" --merge --auto "${{ steps.cpr.outputs.pull-request-number }}"
run: >
gh pr merge "${{ steps.cpr.outputs.pull-request-number }}"
--repo "eclipse-zenoh/${{ matrix.dependant }}"
--squash
--auto
env:
GH_TOKEN: ${{ secrets.BOT_TOKEN_WORKFLOW }}
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -20,3 +20,5 @@
.vscode

cargo-timing*.html

ci/valgrind-check/*.log
Loading
Loading