diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index d2565444..40a90487 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -8,11 +8,11 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- - uses: dtolnay/rust-toolchain@1.75.0
+ - uses: dtolnay/rust-toolchain@1.94.0
with:
- toolchain: 1.75.0
+ toolchain: 1.94.0
- run: scripts/ubuntu-setup.sh
- run: rustup component add rustfmt clippy
- name: cargo build
run: cargo build --release
- - run: scripts/pre-commit-checks.sh
\ No newline at end of file
+ - run: scripts/pre-commit-checks.sh
diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml
index a1c9a06a..edf09924 100644
--- a/.github/workflows/coverage.yml
+++ b/.github/workflows/coverage.yml
@@ -7,12 +7,42 @@ jobs:
coverage:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v3
- - uses: dtolnay/rust-toolchain@master
+ - uses: actions/checkout@v4
+
+ - name: Install Rust Toolchain
+ uses: dtolnay/rust-toolchain@master
+ with:
+ toolchain: nightly-2026-03-01
+ components: llvm-tools
+
+ - name: Setup System Dependencies
+ run: scripts/ubuntu-setup.sh
+
+ - name: Install llvm-tools
+ run: rustup component add llvm-tools
+
+ - name: Install grcov
+ run: |
+ curl -L https://github.com/mozilla/grcov/releases/latest/download/grcov-x86_64-unknown-linux-gnu.tar.bz2 | tar jxf -
+ echo "$(pwd)" >> $GITHUB_PATH
+
+ - name: Run Coverage Script
+ run: bash scripts/coverage-report.sh
+ env:
+ CARGO_TERM_COLOR: always
+
+ - name: Check token exists
+ run: |
+ if [ -z "${{ secrets.CODECOV_TOKEN }}" ]; then
+ echo "CODECOV_TOKEN is NOT set"
+ else
+ echo "CODECOV_TOKEN is set"
+ fi
+ env:
+ CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
+
+ - name: Upload to Codecov
+ uses: codecov/codecov-action@v5
with:
- toolchain: nightly-2023-12-28
- - run: scripts/ubuntu-setup.sh
- - run: rustup component add llvm-tools-preview
- - run: curl -L https://github.com/mozilla/grcov/releases/latest/download/grcov-x86_64-unknown-linux-gnu.tar.bz2 | tar jxf -
- - run: PATH=$PATH:$(pwd) scripts/coverage-report.sh
- - run: bash <(curl -s https://codecov.io/bash) -f lcov.info
+ files: lcov.info
+ token: ${{ secrets.CODECOV_TOKEN }}
diff --git a/.github/workflows/master.yml b/.github/workflows/master.yml
index de8bc550..c7e686c1 100644
--- a/.github/workflows/master.yml
+++ b/.github/workflows/master.yml
@@ -10,3 +10,4 @@ jobs:
uses: ./.github/workflows/build.yml
coverage:
uses: ./.github/workflows/coverage.yml
+ secrets: inherit
diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml
index 6bd52ecd..524511a5 100644
--- a/.github/workflows/publish.yml
+++ b/.github/workflows/publish.yml
@@ -6,337 +6,362 @@
# - macOs arm64
# - linux alpine x86
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- name: Publish tagged crates and NPMs
-
- on:
- push:
- tags:
- - 'v[0-9]+.[0-9]+.[0-9]+'
- env:
- REGISTRY: "https://npm.pkg.github.com"
- SDK_JS_PACKAGE_NAME: "@kindredgroup/cohort_sdk_js"
- DIR_SDK_JS: packages/cohort_sdk_js
- DIR_SDK_JS_CLIENT: cohort_sdk_client
- jobs:
+name: Publish tagged crates and NPMs
+
+on:
+ push:
+ tags:
+ - "v[0-9]+.[0-9]+.[0-9]+"
+ - "v[0-9]+.[0-9]+.[0-9]+-beta.*"
+env:
+ REGISTRY: "https://npm.pkg.github.com"
+ SDK_JS_PACKAGE_NAME: "@kindredgroup/cohort_sdk_js"
+ DIR_SDK_JS: packages/cohort_sdk_js
+ DIR_SDK_JS_CLIENT: cohort_sdk_client
+jobs:
prebuild:
- name: Build for ${{ matrix.name }}
- runs-on: ${{ matrix.os }}
- strategy:
- fail-fast: false
- matrix:
- include:
- # macOS Intel (native build)
- - name: macOS-x64
- os: macos-latest
- target_arch: x64
- rust_target: x86_64-apple-darwin
- npm_target_platform: darwin-x64
- use_docker: false
-
- # macOS ARM64 (native build)
- - name: macOS-arm64
- os: macos-latest
- target_arch: arm64
- rust_target: aarch64-apple-darwin
- npm_target_platform: darwin-arm64
- use_docker: false
-
- # Alpine x64 (Docker build)
- - name: alpine-x64
- os: ubuntu-latest
- target_arch: x64
- rust_target: x86_64-unknown-linux-musl
- npm_target_platform: linux-x64-musl
- use_docker: true
- docker_platform: linux/amd64
-
- # Alpine ARM64 (Docker build)
- # - name: alpine-arm64
- # os: ubuntu-latest
- # target_arch: arm64
- # rust_target: aarch64-unknown-linux-musl
- # npm_target_platform: linux-arm64-musl
- # use_docker: true
- # docker_platform: linux/arm64
-
- steps:
- - uses: actions/checkout@v4
-
- # ===== macOS Native Builds =====
- - name: Setup Node.js (macOS)
- if: ${{ !matrix.use_docker }}
- uses: actions/setup-node@v4
- with:
- node-version: 22
- check-latest: true
- registry-url: "https://npm.pkg.github.com"
-
- - name: Install Rust toolchain (macOS)
- if: ${{ !matrix.use_docker }}
- uses: dtolnay/rust-toolchain@1.75
- with:
- target: ${{ matrix.rust_target }}
-
- - name: Install dependencies (macOS)
- if: ${{ !matrix.use_docker }}
- run: |-
- currentDir=$(pwd)
- cd $DIR_SDK_JS
- pwd
- ls -l
- npm install
-
- - name: Install NAPI-RS CLI (macOS)
- if: ${{ !matrix.use_docker }}
- run: npm install -g @napi-rs/cli@2.16.0 # Pinning to version 2 of napi-rs as version 3 has breaking changes with cli and threadedfunction
-
- - name: Build NAPI-RS Binary (macOS)
- if: ${{ !matrix.use_docker }}
- working-directory: ${{ env.DIR_SDK_JS }}
- run: |-
- napi build --platform --release
- ls -l
-
- # ===== Alpine Docker Builds =====
- - name: Set up QEMU for multi-platform builds
- if: ${{ matrix.use_docker }}
- uses: docker/setup-qemu-action@v3
-
- - name: Set up Docker Buildx
- if: ${{ matrix.use_docker }}
- uses: docker/setup-buildx-action@v3
-
- - name: Build in Alpine Docker
- if: ${{ matrix.use_docker }}
- run: |
- docker run --rm \
- --platform ${{ matrix.docker_platform }} \
- -v ${{ github.workspace }}:/workspace \
- -w /workspace/${{ env.DIR_SDK_JS }} \
- node:22-alpine \
- sh -c "
- echo 'Installing Alpine packages...'
- set -e && \
- apk add --no-cache \
- bash \
- curl \
- python3 make g++ \
- cmake pkgconfig \
- cyrus-sasl-dev \
- openssl-dev \
- musl-dev \
- linux-headers
-
- echo 'Installing Rust 1.75 via rustup...'
- # Remove system rust first if present
- apk del rust cargo || true
-
- # Install rustup and set Rust 1.75
- curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain 1.75.0
- . ~/.cargo/env
- rustup target add ${{ matrix.rust_target }}
-
- echo 'Verifying Rust version...'
- rustc --version
-
- echo 'Installing npm dependencies...'
- npm install
-
- echo 'Installing NAPI-RS CLI...'
- npm install -g @napi-rs/cli
-
- echo 'Building native module...'
- napi build --platform --release --target ${{ matrix.rust_target }}
-
- echo 'Build complete, listing files...'
- ls -la
- "
-
- - name: Archive prebuilt binaries
- uses: actions/upload-artifact@v4
- with:
- name: prebuilt-binary-${{ matrix.name }}
- path: |
- ${{ env.DIR_SDK_JS }}/*.node
- ${{ env.DIR_SDK_JS }}/index.js
- ${{ env.DIR_SDK_JS }}/index.d.ts
+ name: Build for ${{ matrix.name }}
+ runs-on: ${{ matrix.os }}
+ strategy:
+ fail-fast: false
+ matrix:
+ include:
+ # macOS Intel (native build)
+ - name: macOS-x64
+ os: macos-latest
+ target_arch: x64
+ rust_target: x86_64-apple-darwin
+ npm_target_platform: darwin-x64
+ use_docker: false
+
+ # macOS ARM64 (native build)
+ - name: macOS-arm64
+ os: macos-latest
+ target_arch: arm64
+ rust_target: aarch64-apple-darwin
+ npm_target_platform: darwin-arm64
+ use_docker: false
+
+ # Alpine x64 (Docker build)
+ - name: alpine-x64
+ os: ubuntu-latest
+ target_arch: x64
+ rust_target: x86_64-unknown-linux-musl
+ npm_target_platform: linux-x64-musl
+ use_docker: true
+ docker_platform: linux/amd64
+
+ # Alpine ARM64 (Docker build)
+ # - name: alpine-arm64
+ # os: ubuntu-latest
+ # target_arch: arm64
+ # rust_target: aarch64-unknown-linux-musl
+ # npm_target_platform: linux-arm64-musl
+ # use_docker: true
+ # docker_platform: linux/arm64
+
+ steps:
+ - uses: actions/checkout@v4
+
+ # ===== macOS Native Builds =====
+ - name: Setup Node.js (macOS)
+ if: ${{ !matrix.use_docker }}
+ uses: actions/setup-node@v4
+ with:
+ node-version: 22
+ check-latest: true
+ registry-url: "https://npm.pkg.github.com"
+
+ - name: Install Rust toolchain (macOS)
+ if: ${{ !matrix.use_docker }}
+ uses: dtolnay/rust-toolchain@1.94
+ with:
+ target: ${{ matrix.rust_target }}
+
+ - name: Install dependencies (macOS)
+ if: ${{ !matrix.use_docker }}
+ run: |-
+ currentDir=$(pwd)
+ cd $DIR_SDK_JS
+ pwd
+ ls -l
+ npm install
+
+ - name: Install NAPI-RS CLI (macOS)
+ if: ${{ !matrix.use_docker }}
+ run: npm install -g @napi-rs/cli@2.16.0 # Pinning to version 2 of napi-rs as version 3 has breaking changes with cli and threadedfunction
+
+ - name: Build NAPI-RS Binary (macOS)
+ if: ${{ !matrix.use_docker }}
+ working-directory: ${{ env.DIR_SDK_JS }}
+ run: |-
+ napi build --platform --release
+ ls -l
+
+ # ===== Alpine Docker Builds =====
+ - name: Set up QEMU for multi-platform builds
+ if: ${{ matrix.use_docker }}
+ uses: docker/setup-qemu-action@v3
+
+ - name: Set up Docker Buildx
+ if: ${{ matrix.use_docker }}
+ uses: docker/setup-buildx-action@v3
+
+ - name: Build in Alpine Docker
+ if: ${{ matrix.use_docker }}
+ run: |
+ docker run --rm \
+ --platform ${{ matrix.docker_platform }} \
+ -v ${{ github.workspace }}:/workspace \
+ -w /workspace/${{ env.DIR_SDK_JS }} \
+ node:22-alpine \
+ sh -c "
+ echo 'Installing Alpine packages...'
+ set -e && \
+ apk add --no-cache \
+ bash \
+ curl \
+ python3 make g++ \
+ cmake pkgconfig \
+ cyrus-sasl-dev \
+ openssl-dev \
+ musl-dev \
+ linux-headers
+
+ echo 'Installing Rust 1.94 via rustup...'
+ # Remove system rust first if present
+ apk del rust cargo || true
+
+ # Install rustup and set Rust 1.94
+ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain 1.94.0
+ . ~/.cargo/env
+ rustup target add ${{ matrix.rust_target }}
+
+ echo 'Verifying Rust version...'
+ rustc --version
+
+ echo 'Installing npm dependencies...'
+ npm install
+
+ echo 'Installing NAPI-RS CLI...'
+ npm install -g @napi-rs/cli
+
+ echo 'Building native module...'
+ napi build --platform --release --target ${{ matrix.rust_target }}
+
+ echo 'Build complete, listing files...'
+ ls -la
+ "
+
+ - name: Archive prebuilt binaries
+ uses: actions/upload-artifact@v4
+ with:
+ name: prebuilt-binary-${{ matrix.name }}
+ path: |
+ ${{ env.DIR_SDK_JS }}/*.node
+ ${{ env.DIR_SDK_JS }}/index.js
+ ${{ env.DIR_SDK_JS }}/index.d.ts
publish-npm:
- name: Publish to NPM
- needs: prebuild # Ensure all prebuild jobs complete successfully
- runs-on: ubuntu-latest
- if: success() && startsWith(github.ref, 'refs/tags/v') # Only publish on successful tag pushes
- permissions:
- contents: read
- packages: write # Crucial for publishing to GitHub Packages
-
- steps:
- - uses: actions/checkout@v4
- - name: Setup Node.js
- uses: actions/setup-node@v4
- with:
- node-version: 22 # Updated to Node 22
- check-latest: true
- registry-url: "https://npm.pkg.github.com"
-
- - name: Install dependencies
- working-directory: ${{ env.DIR_SDK_JS }}
- run: |-
- npm install
- ls -la
-
- - name: Download all prebuilt binaries
- uses: actions/download-artifact@v4
- with:
- path: . # Download artifacts to the root of the workspace
-
- - name: Move prebuilt binaries to correct location
- run: |
- ls -la
- for dir in prebuilt-binary-*; do
- if [ -d "$dir" ]; then
-
- echo "Processing artifact directory: $dir"
- ls -la "$dir"
-
- # Move .node files into the folder within the target package
- find "$dir" -maxdepth 1 -name "*.node" -exec mv {} ${{ env.DIR_SDK_JS }}/ \;
-
- # Move index.js to the target package directory
- if [ -f "$dir/index.js" ]; then
- mv "$dir/index.js" ${{ env.DIR_SDK_JS }}/index.js
- fi
-
- # Move index.d.ts to the target package directory
- if [ -f "$dir/index.d.ts" ]; then
- mv "$dir/index.d.ts" ${{ env.DIR_SDK_JS }}/index.d.ts
- fi
- fi
- done
- echo "Contents of ${{ env.DIR_SDK_JS }} after consolidation:"
- ls -la ${{ env.DIR_SDK_JS }}/
-
- - name: "Extract tag name"
- shell: bash
- run: |-
- echo "VERSION_NAME=${GITHUB_REF#refs/tags/v}" >> $GITHUB_ENV
-
- - name: "Publish ${{env.DIR_SDK_JS}} to npm"
- env:
- NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- run: |
- # Check if the version contains a hyphen (indicating a pre-release)
- if echo "$VERSION_NAME" | grep -q '-'; then
- echo "Publishing pre-release version $VERSION_NAME with --tag dev"
- npm publish --foreground-scripts --tag dev
- else
- echo "Publishing stable version $VERSION_NAME"
- npm publish --foreground-scripts
- fi
- working-directory: ${{ env.DIR_SDK_JS }}
-
- - name: "Publish ${{env.DIR_SDK_JS_CLIENT}} to npm"
- env:
- NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- run: |
- echo "Updating $SDK_JS_PACKAGE_NAME to $VERSION_NAME"
- rm package-lock.json || true
- echo "D: npm install $SDK_JS_PACKAGE_NAME@$VERSION_NAME --foreground-scripts"
- npm install $SDK_JS_PACKAGE_NAME@$VERSION_NAME --foreground-scripts
- ls -lah node_modules
- echo ""
- echo "listing node_modules/@kindredgroup"
- ls -lah node_modules/@kindredgroup || true
- echo ""
- npm run build
- npm version
- pwd
- ls -l
- # Check if the version contains a hyphen (indicating a pre-release)
- if echo "$VERSION_NAME" | grep -q '-'; then
- echo "Publishing pre-release version $VERSION_NAME with --tag dev"
- npm publish --foreground-scripts --tag dev
- else
- echo "Publishing stable version $VERSION_NAME"
- npm publish --foreground-scripts
- fi
- working-directory: ${{ env.DIR_SDK_JS_CLIENT }}
-
+ name: Publish to NPM
+ needs: prebuild # Ensure all prebuild jobs complete successfully
+ runs-on: ubuntu-latest
+ if: success() && startsWith(github.ref, 'refs/tags/v') # Only publish on successful tag pushes
+ permissions:
+ contents: read
+ packages: write # Crucial for publishing to GitHub Packages
+
+ steps:
+ - uses: actions/checkout@v4
+ - name: Setup Node.js
+ uses: actions/setup-node@v4
+ with:
+ node-version: 22 # Updated to Node 22
+ check-latest: true
+ registry-url: "https://npm.pkg.github.com"
+
+ - name: Install dependencies
+ working-directory: ${{ env.DIR_SDK_JS }}
+ run: |-
+ npm install
+ ls -la
+
+ - name: Download all prebuilt binaries
+ uses: actions/download-artifact@v4
+ with:
+ path: . # Download artifacts to the root of the workspace
+
+ - name: Move prebuilt binaries to correct location
+ run: |
+ ls -la
+ for dir in prebuilt-binary-*; do
+ if [ -d "$dir" ]; then
+
+ echo "Processing artifact directory: $dir"
+ ls -la "$dir"
+
+ # Move .node files into the folder within the target package
+ find "$dir" -maxdepth 1 -name "*.node" -exec mv {} ${{ env.DIR_SDK_JS }}/ \;
+
+ # Move index.js to the target package directory
+ if [ -f "$dir/index.js" ]; then
+ mv "$dir/index.js" ${{ env.DIR_SDK_JS }}/index.js
+ fi
+
+ # Move index.d.ts to the target package directory
+ if [ -f "$dir/index.d.ts" ]; then
+ mv "$dir/index.d.ts" ${{ env.DIR_SDK_JS }}/index.d.ts
+ fi
+ fi
+ done
+ echo "Contents of ${{ env.DIR_SDK_JS }} after consolidation:"
+ ls -la ${{ env.DIR_SDK_JS }}/
+
+ - name: "Extract tag name"
+ shell: bash
+ run: |-
+ echo "VERSION_NAME=${GITHUB_REF#refs/tags/v}" >> $GITHUB_ENV
+
+ - name: Bump npm version (beta only)
+ run: |
+ if [[ $VERSION_NAME =~ -beta\.[0-9]+$ ]]; then
+ # Publish SDK JS
+ npm version $VERSION_NAME --no-git-tag-version --prefix ${{ env.DIR_SDK_JS }}
+ # Publish SDK JS CLIENT
+ npm version $VERSION_NAME --no-git-tag-version --prefix ${{ env.DIR_SDK_JS_CLIENT }}
+ fi
+ - name: "Publish ${{env.DIR_SDK_JS}} to npm"
+ env:
+ NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ run: |
+ # Check if the version contains a hyphen (indicating a pre-release)
+ if echo "$VERSION_NAME" | grep -q '-'; then
+ echo "Publishing pre-release version $VERSION_NAME with --tag dev"
+ npm publish --foreground-scripts --tag dev
+ else
+ echo "Publishing stable version $VERSION_NAME"
+ npm publish --foreground-scripts
+ fi
+ working-directory: ${{ env.DIR_SDK_JS }}
+
+ - name: "Publish ${{env.DIR_SDK_JS_CLIENT}} to npm"
+ env:
+ NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ run: |
+ echo "Updating $SDK_JS_PACKAGE_NAME to $VERSION_NAME"
+ rm package-lock.json || true
+ echo "D: npm install $SDK_JS_PACKAGE_NAME@$VERSION_NAME --foreground-scripts"
+ npm install $SDK_JS_PACKAGE_NAME@$VERSION_NAME --foreground-scripts
+ ls -lah node_modules
+ echo ""
+ echo "listing node_modules/@kindredgroup"
+ ls -lah node_modules/@kindredgroup || true
+ echo ""
+ npm run build
+ npm version
+ pwd
+ ls -l
+ # Check if the version contains a hyphen (indicating a pre-release)
+ if echo "$VERSION_NAME" | grep -q '-'; then
+ echo "Publishing pre-release version $VERSION_NAME with --tag dev"
+ npm publish --foreground-scripts --tag dev
+ else
+ echo "Publishing stable version $VERSION_NAME"
+ npm publish --foreground-scripts
+ fi
+ working-directory: ${{ env.DIR_SDK_JS_CLIENT }}
publish-crates:
- name: Publish to Crates.io
- needs: publish-npm # Ensure all npm packages are published
- runs-on: ubuntu-latest
- if: success() && startsWith(github.ref, 'refs/tags/v') # Only publish on successful tag pushes
- steps:
- - uses: actions/checkout@v4
- - uses: dtolnay/rust-toolchain@1.75.0
- - run: scripts/ubuntu-setup.sh
- - run: rustup component add rustfmt clippy
- - name: "Extract tag name"
- shell: bash
- run: |-
- echo "VERSION_NAME=${GITHUB_REF#refs/tags/v}" >> $GITHUB_ENV
-
- - name: Publish talos_metrics@ ${{ env.VERSION_NAME }} crate
- shell: bash
- env:
- CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN_TALOS }}
- run: |-
- cargo publish -v -p talos_metrics
-
- - name: Publish talos_suffix@ ${{ env.VERSION_NAME }} crate
- shell: bash
- env:
- CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN_TALOS }}
- run: |-
- cargo publish -v -p talos_suffix
-
- - name: Publish talos_common_utils@ ${{ env.VERSION_NAME }} crate
- shell: bash
- env:
- CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN_TALOS }}
- run: |-
- cargo publish -v -p talos_common_utils
-
- - name: Publish talos_certifier@ ${{ env.VERSION_NAME }} crate
- shell: bash
- env:
- CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN_TALOS }}
- run: |-
- cargo publish -v -p talos_certifier
-
- - name: Publish talos_rdkafka_utils@ ${{ env.VERSION_NAME }} crate
- shell: bash
- env:
- CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN_TALOS }}
- run: |-
- cargo publish -v -p talos_rdkafka_utils
-
- - name: Publish talos_certifier_adapters@ ${{ env.VERSION_NAME }} crate
- shell: bash
- env:
- CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN_TALOS }}
- run: |-
- cargo publish -v -p talos_certifier_adapters
- # Talos messenger core
- - name: Publish talos_messenger_core@ ${{ env.VERSION_NAME }} crate
- shell: bash
- env:
- CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN_TALOS }}
- run: |-
- cargo publish -v -p talos_messenger_core
- # Talos messenger actions
- - name: Publish talos_messenger_actions@ ${{ env.VERSION_NAME }} crate
- shell: bash
- env:
- CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN_TALOS }}
- run: |-
- cargo publish -v -p talos_messenger_actions
- # Talos replicator
- - name: Publish talos_cohort_replicator@ ${{ env.VERSION_NAME }} crate
- shell: bash
- env:
- CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN_TALOS }}
- run: |-
- cargo publish -v -p talos_cohort_replicator
\ No newline at end of file
+ name: Publish to Crates.io
+ needs: publish-npm # Ensure all npm packages are published
+ runs-on: ubuntu-latest
+ if: success() && startsWith(github.ref, 'refs/tags/v') # Only publish on successful tag pushes
+ steps:
+ - uses: actions/checkout@v4
+ - uses: dtolnay/rust-toolchain@1.94.0
+ - run: scripts/ubuntu-setup.sh
+ - run: rustup component add rustfmt clippy
+ - name: "Extract tag name"
+ shell: bash
+ run: |-
+ echo "VERSION_NAME=${GITHUB_REF#refs/tags/v}" >> $GITHUB_ENV
+
+ - name: Install cargo-binstall
+ uses: cargo-bins/cargo-binstall@main
+ - name: Install cargo-release
+ run: cargo binstall cargo-release --no-confirm
+
+ - name: Bump Cargo version (beta only)
+ run: |
+ if [[ $VERSION_NAME =~ -beta\.[0-9]+$ ]]; then
+ cargo release version $VERSION_NAME --workspace --no-confirm --execute
+ fi
+ - name: Set publish flags (beta only)
+ run: |
+ if [[ $VERSION_NAME =~ -beta\.[0-9]+$ ]]; then
+ echo "PUBLISH_FLAGS=--allow-dirty" >> $GITHUB_ENV
+ fi
+
+ # Publish the packages to crates.io
+ - name: Publish talos_metrics@ ${{ env.VERSION_NAME }} crate
+ shell: bash
+ env:
+ CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN_TALOS }}
+ run: |-
+ cargo publish -v -p talos_metrics $PUBLISH_FLAGS
+
+ - name: Publish talos_suffix@ ${{ env.VERSION_NAME }} crate
+ shell: bash
+ env:
+ CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN_TALOS }}
+ run: |-
+ cargo publish -v -p talos_suffix $PUBLISH_FLAGS
+
+ - name: Publish talos_common_utils@ ${{ env.VERSION_NAME }} crate
+ shell: bash
+ env:
+ CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN_TALOS }}
+ run: |-
+ cargo publish -v -p talos_common_utils $PUBLISH_FLAGS
+
+ - name: Publish talos_certifier@ ${{ env.VERSION_NAME }} crate
+ shell: bash
+ env:
+ CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN_TALOS }}
+ run: |-
+ cargo publish -v -p talos_certifier $PUBLISH_FLAGS
+
+ - name: Publish talos_rdkafka_utils@ ${{ env.VERSION_NAME }} crate
+ shell: bash
+ env:
+ CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN_TALOS }}
+ run: |-
+ cargo publish -v -p talos_rdkafka_utils $PUBLISH_FLAGS
+
+ - name: Publish talos_certifier_adapters@ ${{ env.VERSION_NAME }} crate
+ shell: bash
+ env:
+ CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN_TALOS }}
+ run: |-
+ cargo publish -v -p talos_certifier_adapters $PUBLISH_FLAGS
+ # Talos messenger core
+ - name: Publish talos_messenger_core@ ${{ env.VERSION_NAME }} crate
+ shell: bash
+ env:
+ CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN_TALOS }}
+ run: |-
+ cargo publish -v -p talos_messenger_core $PUBLISH_FLAGS
+ # Talos messenger actions
+ - name: Publish talos_messenger_actions@ ${{ env.VERSION_NAME }} crate
+ shell: bash
+ env:
+ CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN_TALOS }}
+ run: |-
+ cargo publish -v -p talos_messenger_actions $PUBLISH_FLAGS
+ # Talos replicator
+ - name: Publish talos_cohort_replicator@ ${{ env.VERSION_NAME }} crate
+ shell: bash
+ env:
+ CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN_TALOS }}
+ run: |-
+ cargo publish -v -p talos_cohort_replicator $PUBLISH_FLAGS
diff --git a/.github/workflows/pull_request.yml b/.github/workflows/pull_request.yml
index a6fdf6cc..4ca3bb5c 100644
--- a/.github/workflows/pull_request.yml
+++ b/.github/workflows/pull_request.yml
@@ -4,12 +4,12 @@ on:
pull_request:
push:
branches:
- - '*'
- - '!master'
-
+ - "*"
+ - "!master"
jobs:
build:
uses: ./.github/workflows/build.yml
coverage:
uses: ./.github/workflows/coverage.yml
+ secrets: inherit
diff --git a/Cargo.lock b/Cargo.lock
index 84ce456b..97e5eb73 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -1,6 +1,6 @@
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
-version = 3
+version = 4
[[package]]
name = "addr2line"
@@ -19,7 +19,7 @@ checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa"
[[package]]
name = "agent_client"
-version = "0.3.14-dev"
+version = "0.3.15"
dependencies = [
"async-channel",
"async-trait",
@@ -237,7 +237,7 @@ dependencies = [
[[package]]
name = "banking_common"
-version = "0.3.14-dev"
+version = "0.3.15"
dependencies = [
"async-trait",
"deadpool",
@@ -255,7 +255,7 @@ dependencies = [
[[package]]
name = "banking_replicator"
-version = "0.3.14-dev"
+version = "0.3.15"
dependencies = [
"async-trait",
"banking_common",
@@ -410,7 +410,7 @@ dependencies = [
[[package]]
name = "certifier_kafka_pg"
-version = "0.3.14-dev"
+version = "0.3.15"
dependencies = [
"cargo-husky",
"env_logger",
@@ -500,7 +500,7 @@ dependencies = [
[[package]]
name = "cohort_banking"
-version = "0.3.14-dev"
+version = "0.3.15"
dependencies = [
"async-channel",
"async-trait",
@@ -532,7 +532,7 @@ dependencies = [
[[package]]
name = "cohort_banking_with_sdk"
-version = "0.3.14-dev"
+version = "0.3.15"
dependencies = [
"async-channel",
"async-trait",
@@ -566,7 +566,7 @@ dependencies = [
[[package]]
name = "cohort_replicator_kafka_pg"
-version = "0.3.14-dev"
+version = "0.3.15"
dependencies = [
"async-trait",
"banking_common",
@@ -592,7 +592,7 @@ dependencies = [
[[package]]
name = "cohort_sdk"
-version = "0.3.14-dev"
+version = "0.3.15"
dependencies = [
"async-trait",
"axum",
@@ -626,7 +626,7 @@ dependencies = [
[[package]]
name = "cohort_sdk_js"
-version = "0.3.14-dev"
+version = "0.3.15"
dependencies = [
"async-trait",
"chrono",
@@ -923,7 +923,7 @@ checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0"
[[package]]
name = "examples_support"
-version = "0.3.14-dev"
+version = "0.3.15"
dependencies = [
"async-channel",
"async-trait",
@@ -1691,7 +1691,7 @@ checksum = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273"
[[package]]
name = "messenger_using_kafka"
-version = "0.3.14-dev"
+version = "0.3.15"
dependencies = [
"ahash 0.8.12",
"async-trait",
@@ -3218,7 +3218,7 @@ dependencies = [
[[package]]
name = "talos_agent"
-version = "0.3.14-dev"
+version = "0.3.15"
dependencies = [
"async-trait",
"mockall",
@@ -3246,7 +3246,7 @@ dependencies = [
[[package]]
name = "talos_certifier"
-version = "0.3.14-dev"
+version = "0.3.15"
dependencies = [
"ahash 0.8.12",
"async-trait",
@@ -3280,7 +3280,7 @@ dependencies = [
[[package]]
name = "talos_certifier_adapters"
-version = "0.3.14-dev"
+version = "0.3.15"
dependencies = [
"ahash 0.8.12",
"async-trait",
@@ -3310,7 +3310,7 @@ dependencies = [
[[package]]
name = "talos_cohort_replicator"
-version = "0.3.14-dev"
+version = "0.3.15"
dependencies = [
"ahash 0.8.12",
"async-trait",
@@ -3341,7 +3341,7 @@ dependencies = [
[[package]]
name = "talos_common_utils"
-version = "0.3.14-dev"
+version = "0.3.15"
dependencies = [
"opentelemetry 0.28.0",
"serial_test",
@@ -3352,7 +3352,7 @@ dependencies = [
[[package]]
name = "talos_messenger_actions"
-version = "0.3.14-dev"
+version = "0.3.15"
dependencies = [
"ahash 0.8.12",
"async-trait",
@@ -3392,7 +3392,7 @@ dependencies = [
[[package]]
name = "talos_messenger_core"
-version = "0.3.14-dev"
+version = "0.3.15"
dependencies = [
"ahash 0.8.12",
"async-trait",
@@ -3423,7 +3423,7 @@ dependencies = [
[[package]]
name = "talos_metrics"
-version = "0.3.14-dev"
+version = "0.3.15"
dependencies = [
"env_logger",
"log",
@@ -3439,7 +3439,7 @@ dependencies = [
[[package]]
name = "talos_rdkafka_utils"
-version = "0.3.14-dev"
+version = "0.3.15"
dependencies = [
"async-trait",
"criterion",
@@ -3464,7 +3464,7 @@ dependencies = [
[[package]]
name = "talos_suffix"
-version = "0.3.14-dev"
+version = "0.3.15"
dependencies = [
"async-trait",
"criterion",
diff --git a/README.md b/README.md
index df84ea2a..1c1f71a1 100644
--- a/README.md
+++ b/README.md
@@ -33,7 +33,7 @@ Talos is based on the STRIDE algorithm for strict serializable certification of
### Requirements
- [docker (20.10.6)](https://docs.docker.com/get-docker/)
-- [cargo (1.75.0), rust (1.75.0)](https://www.rust-lang.org/tools/install) only required if wanting to run outside of docker
+- [cargo (1.94.0), rust (1.94.0)](https://www.rust-lang.org/tools/install) only required if wanting to run outside of docker
- openssl for SASL supports
### Installation and setup.
diff --git a/codecov.yml b/codecov.yml
new file mode 100644
index 00000000..b1a2787c
--- /dev/null
+++ b/codecov.yml
@@ -0,0 +1,5 @@
+coverage:
+ status:
+ patch:
+ default:
+ informational: true
diff --git a/cohort_sdk_client/package-lock.json b/cohort_sdk_client/package-lock.json
index 322989e5..28982afa 100644
--- a/cohort_sdk_client/package-lock.json
+++ b/cohort_sdk_client/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "@kindredgroup/cohort_sdk_client",
- "version": "0.3.14-dev",
+ "version": "0.3.15",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "@kindredgroup/cohort_sdk_client",
- "version": "0.3.14-dev",
+ "version": "0.3.15",
"license": "MIT",
"dependencies": {
"@kindredgroup/cohort_sdk_js": "^0.2.13",
diff --git a/cohort_sdk_client/package.json b/cohort_sdk_client/package.json
index 298a935d..f7750240 100644
--- a/cohort_sdk_client/package.json
+++ b/cohort_sdk_client/package.json
@@ -1,6 +1,6 @@
{
"name": "@kindredgroup/cohort_sdk_client",
- "version": "0.3.14-dev",
+ "version": "0.3.15",
"author": "Kindredgroup",
"license": "MIT",
"description": "The Cohort SDK library for Talos Certifier clients",
diff --git a/examples/agent_client/Cargo.toml b/examples/agent_client/Cargo.toml
index 8d763383..4902452e 100644
--- a/examples/agent_client/Cargo.toml
+++ b/examples/agent_client/Cargo.toml
@@ -1,13 +1,13 @@
[package]
name = "agent_client"
-version = "0.3.14-dev"
+version = "0.3.15"
edition = "2021"
[dev-dependencies]
-talos_agent = { path = "../../packages/talos_agent", version = "0.3.14-dev" }
-talos_rdkafka_utils = { path = "../../packages/talos_rdkafka_utils", version = "0.3.14-dev" }
-examples_support = { path = "../../packages/examples_support", version = "0.3.14-dev" }
+talos_agent = { path = "../../packages/talos_agent", version = "0.3.15" }
+talos_rdkafka_utils = { path = "../../packages/talos_rdkafka_utils", version = "0.3.15" }
+examples_support = { path = "../../packages/examples_support", version = "0.3.15" }
async-channel = { version = "1.8.0" }
async-trait = { workspace = true }
diff --git a/examples/certifier_kafka_pg/Cargo.toml b/examples/certifier_kafka_pg/Cargo.toml
index e517936d..d9cf84f1 100644
--- a/examples/certifier_kafka_pg/Cargo.toml
+++ b/examples/certifier_kafka_pg/Cargo.toml
@@ -1,7 +1,7 @@
[package]
# [package]
name = "certifier_kafka_pg"
-version = "0.3.14-dev"
+version = "0.3.15"
edition = "2021"
keywords = ["talos"]
description = "Talos Certifier using Kafka and Pg adapters"
@@ -17,11 +17,11 @@ tokio = { workspace = true }
refinery = { version = "0.8.7", features = ["tokio-postgres"] }
# internal crates
-talos_certifier = { path = "../../packages/talos_certifier", version = "0.3.14-dev" }
-talos_suffix = { path = "../../packages/talos_suffix", version = "0.3.14-dev" }
-talos_certifier_adapters = { path = "../../packages/talos_certifier_adapters", version = "0.3.14-dev" }
-talos_common_utils = { path = "../../packages/talos_common_utils", version = "0.3.14-dev" }
-talos_rdkafka_utils = { path = "../../packages/talos_rdkafka_utils", version = "0.3.14-dev" }
+talos_certifier = { path = "../../packages/talos_certifier", version = "0.3.15" }
+talos_suffix = { path = "../../packages/talos_suffix", version = "0.3.15" }
+talos_certifier_adapters = { path = "../../packages/talos_certifier_adapters", version = "0.3.15" }
+talos_common_utils = { path = "../../packages/talos_common_utils", version = "0.3.15" }
+talos_rdkafka_utils = { path = "../../packages/talos_rdkafka_utils", version = "0.3.15" }
[dev-dependencies.cargo-husky]
version = "1"
diff --git a/examples/cohort_banking_with_sdk/Cargo.toml b/examples/cohort_banking_with_sdk/Cargo.toml
index be52d7ae..921bbe74 100644
--- a/examples/cohort_banking_with_sdk/Cargo.toml
+++ b/examples/cohort_banking_with_sdk/Cargo.toml
@@ -1,19 +1,19 @@
[package]
name = "cohort_banking_with_sdk"
-version = "0.3.14-dev"
+version = "0.3.15"
edition = "2021"
[dev-dependencies]
-banking_common = { path = "../../packages/banking_common", version = "0.3.14-dev" }
-cohort_sdk = { path = "../../packages/cohort_sdk", version = "0.3.14-dev" }
-cohort_banking = { path = "../../packages/cohort_banking", version = "0.3.14-dev" }
-examples_support = { path = "../../packages/examples_support", version = "0.3.14-dev" }
-talos_metrics = { path = "../../packages/talos_metrics", version = "0.3.14-dev" }
-talos_agent = { path = "../../packages/talos_agent", version = "0.3.14-dev" }
-talos_certifier = { path = "../../packages/talos_certifier", version = "0.3.14-dev" }
-talos_certifier_adapters = { path = "../../packages/talos_certifier_adapters", version = "0.3.14-dev" }
-talos_rdkafka_utils = { path = "../../packages/talos_rdkafka_utils", version = "0.3.14-dev" }
+banking_common = { path = "../../packages/banking_common", version = "0.3.15" }
+cohort_sdk = { path = "../../packages/cohort_sdk", version = "0.3.15" }
+cohort_banking = { path = "../../packages/cohort_banking", version = "0.3.15" }
+examples_support = { path = "../../packages/examples_support", version = "0.3.15" }
+talos_metrics = { path = "../../packages/talos_metrics", version = "0.3.15" }
+talos_agent = { path = "../../packages/talos_agent", version = "0.3.15" }
+talos_certifier = { path = "../../packages/talos_certifier", version = "0.3.15" }
+talos_certifier_adapters = { path = "../../packages/talos_certifier_adapters", version = "0.3.15" }
+talos_rdkafka_utils = { path = "../../packages/talos_rdkafka_utils", version = "0.3.15" }
async-trait = { workspace = true }
env_logger = { workspace = true }
diff --git a/examples/cohort_replicator_kafka_pg/Cargo.toml b/examples/cohort_replicator_kafka_pg/Cargo.toml
index d592d14e..2ae88902 100644
--- a/examples/cohort_replicator_kafka_pg/Cargo.toml
+++ b/examples/cohort_replicator_kafka_pg/Cargo.toml
@@ -1,17 +1,17 @@
[package]
name = "cohort_replicator_kafka_pg"
-version = "0.3.14-dev"
+version = "0.3.15"
edition = "2021"
[dev-dependencies]
-banking_common = { path = "../../packages/banking_common", version = "0.3.14-dev" }
-banking_replicator = { path = "../../packages/banking_replicator", version = "0.3.14-dev" }
-cohort_banking = { path = "../../packages/cohort_banking", version = "0.3.14-dev" }
-talos_cohort_replicator = { path = "../../packages/talos_cohort_replicator", version = "0.3.14-dev" }
-talos_certifier = { path = "../../packages/talos_certifier", version = "0.3.14-dev" }
-talos_certifier_adapters = { path = "../../packages/talos_certifier_adapters", version = "0.3.14-dev" }
-talos_common_utils = { path = "../../packages/talos_common_utils", version = "0.3.14-dev" }
-talos_rdkafka_utils = { path = "../../packages/talos_rdkafka_utils", version = "0.3.14-dev" }
+banking_common = { path = "../../packages/banking_common", version = "0.3.15" }
+banking_replicator = { path = "../../packages/banking_replicator", version = "0.3.15" }
+cohort_banking = { path = "../../packages/cohort_banking", version = "0.3.15" }
+talos_cohort_replicator = { path = "../../packages/talos_cohort_replicator", version = "0.3.15" }
+talos_certifier = { path = "../../packages/talos_certifier", version = "0.3.15" }
+talos_certifier_adapters = { path = "../../packages/talos_certifier_adapters", version = "0.3.15" }
+talos_common_utils = { path = "../../packages/talos_common_utils", version = "0.3.15" }
+talos_rdkafka_utils = { path = "../../packages/talos_rdkafka_utils", version = "0.3.15" }
async-trait = { workspace = true }
env_logger = { workspace = true }
diff --git a/examples/messenger_using_kafka/Cargo.toml b/examples/messenger_using_kafka/Cargo.toml
index 75228f43..72ecbf4f 100644
--- a/examples/messenger_using_kafka/Cargo.toml
+++ b/examples/messenger_using_kafka/Cargo.toml
@@ -1,7 +1,7 @@
[package]
# [package]
name = "messenger_using_kafka"
-version = "0.3.14-dev"
+version = "0.3.15"
edition = "2021"
keywords = ["talos"]
description = "Example on consuming `talos_messenger`"
@@ -31,10 +31,10 @@ toml_parser = { workspace = true }
toml_writer = { workspace = true }
# internal crates
-talos_certifier = { path = "../../packages/talos_certifier", version = "0.3.14-dev" }
-talos_suffix = { path = "../../packages/talos_suffix", version = "0.3.14-dev" }
-talos_certifier_adapters = { path = "../../packages/talos_certifier_adapters", version = "0.3.14-dev" }
-talos_common_utils = { path = "../../packages/talos_common_utils", version = "0.3.14-dev" }
-talos_rdkafka_utils = { path = "../../packages/talos_rdkafka_utils", version = "0.3.14-dev" }
-talos_messenger_core = { path = "../../packages/talos_messenger_core", version = "0.3.14-dev" }
-talos_messenger_actions = { path = "../../packages/talos_messenger_actions", version = "0.3.14-dev" }
+talos_certifier = { path = "../../packages/talos_certifier", version = "0.3.15" }
+talos_suffix = { path = "../../packages/talos_suffix", version = "0.3.15" }
+talos_certifier_adapters = { path = "../../packages/talos_certifier_adapters", version = "0.3.15" }
+talos_common_utils = { path = "../../packages/talos_common_utils", version = "0.3.15" }
+talos_rdkafka_utils = { path = "../../packages/talos_rdkafka_utils", version = "0.3.15" }
+talos_messenger_core = { path = "../../packages/talos_messenger_core", version = "0.3.15" }
+talos_messenger_actions = { path = "../../packages/talos_messenger_actions", version = "0.3.15" }
diff --git a/packages/banking_common/Cargo.toml b/packages/banking_common/Cargo.toml
index 10308e14..3d72d8b0 100644
--- a/packages/banking_common/Cargo.toml
+++ b/packages/banking_common/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "banking_common"
-version = "0.3.14-dev"
+version = "0.3.15"
edition = "2021"
[dependencies]
@@ -28,4 +28,4 @@ tokio-postgres = { version = "=0.7.13", features = [
deadpool = { version = "0.10.0" }
deadpool-postgres = { version = "0.11.0" }
-talos_common_utils = { path = "../talos_common_utils", version = "0.3.14-dev" }
+talos_common_utils = { path = "../talos_common_utils", version = "0.3.15" }
diff --git a/packages/banking_replicator/Cargo.toml b/packages/banking_replicator/Cargo.toml
index 0cfb9ae4..564226b7 100644
--- a/packages/banking_replicator/Cargo.toml
+++ b/packages/banking_replicator/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "banking_replicator"
-version = "0.3.14-dev"
+version = "0.3.15"
edition = "2021"
[dependencies]
@@ -33,10 +33,10 @@ opentelemetry = { version = "0.20.0" }
strum = { version = "0.25", features = ["derive"] }
uuid = { version = "1.4.1", features = ["v4"] }
-banking_common = { path = "../banking_common", version = "0.3.14-dev" }
-cohort_sdk = { path = "../cohort_sdk", version = "0.3.14-dev" }
-talos_metrics = { path = "../talos_metrics", version = "0.3.14-dev" }
-talos_cohort_replicator = { path = "../talos_cohort_replicator", version = "0.3.14-dev" }
-talos_rdkafka_utils = { path = "../talos_rdkafka_utils", version = "0.3.14-dev" }
-talos_certifier = { path = "../talos_certifier", version = "0.3.14-dev" }
-talos_certifier_adapters = { path = "../talos_certifier_adapters", version = "0.3.14-dev" }
+banking_common = { path = "../banking_common", version = "0.3.15" }
+cohort_sdk = { path = "../cohort_sdk", version = "0.3.15" }
+talos_metrics = { path = "../talos_metrics", version = "0.3.15" }
+talos_cohort_replicator = { path = "../talos_cohort_replicator", version = "0.3.15" }
+talos_rdkafka_utils = { path = "../talos_rdkafka_utils", version = "0.3.15" }
+talos_certifier = { path = "../talos_certifier", version = "0.3.15" }
+talos_certifier_adapters = { path = "../talos_certifier_adapters", version = "0.3.15" }
diff --git a/packages/cohort_banking/Cargo.toml b/packages/cohort_banking/Cargo.toml
index 661ac6dc..3f56caaf 100644
--- a/packages/cohort_banking/Cargo.toml
+++ b/packages/cohort_banking/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "cohort_banking"
-version = "0.3.14-dev"
+version = "0.3.15"
edition = "2021"
[dependencies]
@@ -32,11 +32,11 @@ tokio-postgres = { version = "=0.7.13", features = [
] }
uuid = { version = "1.4.1", features = ["v4"] }
-cohort_sdk = { path = "../cohort_sdk", version = "0.3.14-dev" }
-banking_common = { path = "../banking_common", version = "0.3.14-dev" }
-talos_agent = { path = "../talos_agent", version = "0.3.14-dev" }
-talos_metrics = { path = "../talos_metrics", version = "0.3.14-dev" }
-talos_certifier = { path = "../talos_certifier", version = "0.3.14-dev" }
-talos_cohort_replicator = { path = "../talos_cohort_replicator", version = "0.3.14-dev" }
-talos_common_utils = { path = "../talos_common_utils", version = "0.3.14-dev" }
-talos_suffix = { path = "../talos_suffix", version = "0.3.14-dev" }
+cohort_sdk = { path = "../cohort_sdk", version = "0.3.15" }
+banking_common = { path = "../banking_common", version = "0.3.15" }
+talos_agent = { path = "../talos_agent", version = "0.3.15" }
+talos_metrics = { path = "../talos_metrics", version = "0.3.15" }
+talos_certifier = { path = "../talos_certifier", version = "0.3.15" }
+talos_cohort_replicator = { path = "../talos_cohort_replicator", version = "0.3.15" }
+talos_common_utils = { path = "../talos_common_utils", version = "0.3.15" }
+talos_suffix = { path = "../talos_suffix", version = "0.3.15" }
diff --git a/packages/cohort_banking/src/bin/preload_db.rs b/packages/cohort_banking/src/bin/preload_db.rs
index c5542302..6dc28c6b 100644
--- a/packages/cohort_banking/src/bin/preload_db.rs
+++ b/packages/cohort_banking/src/bin/preload_db.rs
@@ -85,8 +85,8 @@ async fn prefill_accounts(db: Arc, accounts: Vec) -> Resu
.await
.unwrap();
- if rslt.is_some() {
- account_from_row(&rslt.unwrap())?
+ if let Some(result) = rslt {
+ account_from_row(&result)?
} else {
// update db with new account data
let updated_row = client
diff --git a/packages/cohort_banking/src/metrics.rs b/packages/cohort_banking/src/metrics.rs
index 6b24c71b..b09a3f68 100644
--- a/packages/cohort_banking/src/metrics.rs
+++ b/packages/cohort_banking/src/metrics.rs
@@ -226,7 +226,7 @@ impl Stats {
report
}
- pub fn compute_percentiles(p_list: &Vec, values: &mut Vec) -> HashMap {
+ pub fn compute_percentiles(p_list: &Vec, values: &mut [T]) -> HashMap {
let mut result = HashMap::::new();
values.sort();
let count = values.len() as f32;
diff --git a/packages/cohort_sdk/Cargo.toml b/packages/cohort_sdk/Cargo.toml
index 2e2a0ee1..c21ba877 100644
--- a/packages/cohort_sdk/Cargo.toml
+++ b/packages/cohort_sdk/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "cohort_sdk"
-version = "0.3.14-dev"
+version = "0.3.15"
edition = "2021"
[dependencies]
@@ -35,12 +35,12 @@ serde = { workspace = true }
serde_json = { workspace = true }
strum = { version = "0.27.1", features = ["derive"] }
time = { version = "0.3.29" }
-talos_metrics = { path = "../talos_metrics", version = "0.3.14-dev" }
-talos_agent = { path = "../talos_agent", version = "0.3.14-dev" }
-talos_certifier = { path = "../talos_certifier", version = "0.3.14-dev" }
-talos_common_utils = { path = "../talos_common_utils", version = "0.3.14-dev" }
-talos_cohort_replicator = { path = "../talos_cohort_replicator", version = "0.3.14-dev" }
-talos_rdkafka_utils = { path = "../talos_rdkafka_utils", version = "0.3.14-dev" }
+talos_metrics = { path = "../talos_metrics", version = "0.3.15" }
+talos_agent = { path = "../talos_agent", version = "0.3.15" }
+talos_certifier = { path = "../talos_certifier", version = "0.3.15" }
+talos_common_utils = { path = "../talos_common_utils", version = "0.3.15" }
+talos_cohort_replicator = { path = "../talos_cohort_replicator", version = "0.3.15" }
+talos_rdkafka_utils = { path = "../talos_rdkafka_utils", version = "0.3.15" }
uuid = { version = "1.4.1", features = ["v4"] }
diff --git a/packages/cohort_sdk_js/Cargo.toml b/packages/cohort_sdk_js/Cargo.toml
index 0371ba84..ef1e4dd1 100644
--- a/packages/cohort_sdk_js/Cargo.toml
+++ b/packages/cohort_sdk_js/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "cohort_sdk_js"
-version = "0.3.14-dev"
+version = "0.3.15"
edition = "2021"
[lib]
@@ -30,12 +30,12 @@ chrono = { version = "0.4.19", features = ["serde"] }
tokio = { workspace = true, features = ["full"] }
-cohort_sdk = { path = "../cohort_sdk", version = "0.3.14-dev" }
-talos_agent = { path = "../talos_agent", version = "0.3.14-dev" }
-talos_cohort_replicator = { path = "../talos_cohort_replicator", version = "0.3.14-dev" }
-talos_certifier = { path = "../talos_certifier", version = "0.3.14-dev" }
-talos_certifier_adapters = { path = "../talos_certifier_adapters", version = "0.3.14-dev" }
-talos_rdkafka_utils = { path = "../talos_rdkafka_utils", version = "0.3.14-dev" }
-talos_common_utils = { path = "../talos_common_utils", version = "0.3.14-dev" }
+cohort_sdk = { path = "../cohort_sdk", version = "0.3.15" }
+talos_agent = { path = "../talos_agent", version = "0.3.15" }
+talos_cohort_replicator = { path = "../talos_cohort_replicator", version = "0.3.15" }
+talos_certifier = { path = "../talos_certifier", version = "0.3.15" }
+talos_certifier_adapters = { path = "../talos_certifier_adapters", version = "0.3.15" }
+talos_rdkafka_utils = { path = "../talos_rdkafka_utils", version = "0.3.15" }
+talos_common_utils = { path = "../talos_common_utils", version = "0.3.15" }
async-trait = "0.1.72"
diff --git a/packages/cohort_sdk_js/npm/darwin-arm64/package.json b/packages/cohort_sdk_js/npm/darwin-arm64/package.json
index dfa86128..0ec4ccf0 100644
--- a/packages/cohort_sdk_js/npm/darwin-arm64/package.json
+++ b/packages/cohort_sdk_js/npm/darwin-arm64/package.json
@@ -1,6 +1,6 @@
{
"name": "cohort_sdk_js-darwin-arm64",
- "version": "0.3.14-dev",
+ "version": "0.3.15",
"os": [
"darwin"
],
diff --git a/packages/cohort_sdk_js/npm/darwin-universal/package.json b/packages/cohort_sdk_js/npm/darwin-universal/package.json
index a573a63e..82720770 100644
--- a/packages/cohort_sdk_js/npm/darwin-universal/package.json
+++ b/packages/cohort_sdk_js/npm/darwin-universal/package.json
@@ -1,6 +1,6 @@
{
"name": "cohort_sdk_js-darwin-universal",
- "version": "0.3.14-dev",
+ "version": "0.3.15",
"os": [
"darwin"
],
diff --git a/packages/cohort_sdk_js/npm/darwin-x64/package.json b/packages/cohort_sdk_js/npm/darwin-x64/package.json
index 2b923b1b..e75ee4a2 100644
--- a/packages/cohort_sdk_js/npm/darwin-x64/package.json
+++ b/packages/cohort_sdk_js/npm/darwin-x64/package.json
@@ -1,6 +1,6 @@
{
"name": "cohort_sdk_js-darwin-x64",
- "version": "0.3.14-dev",
+ "version": "0.3.15",
"os": [
"darwin"
],
diff --git a/packages/cohort_sdk_js/npm/linux-x64-gnu/package.json b/packages/cohort_sdk_js/npm/linux-x64-gnu/package.json
index cb761770..a39f1aa1 100644
--- a/packages/cohort_sdk_js/npm/linux-x64-gnu/package.json
+++ b/packages/cohort_sdk_js/npm/linux-x64-gnu/package.json
@@ -1,6 +1,6 @@
{
"name": "cohort_sdk_js-linux-x64",
- "version": "0.3.14-dev",
+ "version": "0.3.15",
"os": [
"linux"
],
diff --git a/packages/cohort_sdk_js/npm/win32-x64-msvc/package.json b/packages/cohort_sdk_js/npm/win32-x64-msvc/package.json
index 926acf65..15f49856 100644
--- a/packages/cohort_sdk_js/npm/win32-x64-msvc/package.json
+++ b/packages/cohort_sdk_js/npm/win32-x64-msvc/package.json
@@ -1,6 +1,6 @@
{
"name": "cohort_sdk_js-win32-x64-msvc",
- "version": "0.3.14-dev",
+ "version": "0.3.15",
"os": [
"win32"
],
diff --git a/packages/cohort_sdk_js/package-lock.json b/packages/cohort_sdk_js/package-lock.json
index 7d2b8a66..fdc03891 100644
--- a/packages/cohort_sdk_js/package-lock.json
+++ b/packages/cohort_sdk_js/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "@kindredgroup/cohort_sdk_js",
- "version": "0.3.14-dev",
+ "version": "0.3.15",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "@kindredgroup/cohort_sdk_js",
- "version": "0.3.14-dev",
+ "version": "0.3.15",
"license": "MIT",
"dependencies": {
"@napi-rs/cli": "^2.16.0"
diff --git a/packages/cohort_sdk_js/package.json b/packages/cohort_sdk_js/package.json
index 242c73db..c9a6f6df 100644
--- a/packages/cohort_sdk_js/package.json
+++ b/packages/cohort_sdk_js/package.json
@@ -1,6 +1,6 @@
{
"name": "@kindredgroup/cohort_sdk_js",
- "version": "0.3.14-dev",
+ "version": "0.3.15",
"author": "Kindredgroup",
"license": "MIT",
"main": "index.js",
diff --git a/packages/cohort_sdk_js/src/initiator/mod.rs b/packages/cohort_sdk_js/src/initiator/mod.rs
index c36d99f1..72d8d2ce 100644
--- a/packages/cohort_sdk_js/src/initiator/mod.rs
+++ b/packages/cohort_sdk_js/src/initiator/mod.rs
@@ -301,8 +301,8 @@ impl NewRequestProvider {
Ok(promise) => promise
.await
.map(|js_data: JsCertificationCandidateCallbackResponse| {
- if js_data.cancellation_reason.is_some() {
- CertificationCandidateCallbackResponse::Cancelled(js_data.cancellation_reason.unwrap())
+ if let Some(cancellation_reason) = js_data.cancellation_reason {
+ CertificationCandidateCallbackResponse::Cancelled(cancellation_reason)
} else {
CertificationCandidateCallbackResponse::Proceed(
js_data
diff --git a/packages/examples_support/Cargo.toml b/packages/examples_support/Cargo.toml
index fe6d10ce..5791c6e1 100644
--- a/packages/examples_support/Cargo.toml
+++ b/packages/examples_support/Cargo.toml
@@ -1,11 +1,11 @@
[package]
name = "examples_support"
-version = "0.3.14-dev"
+version = "0.3.15"
edition = "2021"
[dependencies]
-talos_metrics = { path = "../talos_metrics", version = "0.3.14-dev" }
+talos_metrics = { path = "../talos_metrics", version = "0.3.15" }
# Postgres
refinery = { version = "0.8.7", features = ["tokio-postgres"] }
diff --git a/packages/examples_support/src/load_generator/generator.rs b/packages/examples_support/src/load_generator/generator.rs
index 36ad3af4..4a0ff949 100644
--- a/packages/examples_support/src/load_generator/generator.rs
+++ b/packages/examples_support/src/load_generator/generator.rs
@@ -27,12 +27,12 @@ impl ControlledRateLoadGenerator {
let mut last_progress_print = started_at;
loop {
// rate controller
- if generated_count % check_every == 0 {
+ if generated_count.is_multiple_of(check_every) {
let progress = Progress::get(started_at, target_rate, generated_count);
if progress.delta < 0.0 {
// too fast, need to slow down
- let delay_sec = progress.delta / target_rate * -1_f32;
+ let delay_sec = -(progress.delta / target_rate);
tokio::time::sleep(tokio::time::Duration::from_secs_f32(delay_sec)).await;
}
}
diff --git a/packages/talos_agent/Cargo.toml b/packages/talos_agent/Cargo.toml
index 896be546..15b782c3 100644
--- a/packages/talos_agent/Cargo.toml
+++ b/packages/talos_agent/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "talos_agent"
-version = "0.3.14-dev"
+version = "0.3.15"
edition = "2021"
[dependencies]
@@ -33,8 +33,8 @@ toml_datetime = { workspace = true }
toml_parser = { workspace = true }
toml_writer = { workspace = true }
-talos_rdkafka_utils = { path = "../talos_rdkafka_utils", version = "0.3.14-dev" }
-talos_common_utils = { path = "../talos_common_utils", version = "0.3.14-dev" }
+talos_rdkafka_utils = { path = "../talos_rdkafka_utils", version = "0.3.15" }
+talos_common_utils = { path = "../talos_common_utils", version = "0.3.15" }
[dev-dependencies]
mockall = { version = "0.11.3" }
diff --git a/packages/talos_agent/src/agent/core.rs b/packages/talos_agent/src/agent/core.rs
index 03e92e44..20008415 100644
--- a/packages/talos_agent/src/agent/core.rs
+++ b/packages/talos_agent/src/agent/core.rs
@@ -175,6 +175,7 @@ where
}
// $coverage:ignore-start
+#[allow(clippy::result_large_err)]
#[cfg(test)]
mod tests {
use super::*;
diff --git a/packages/talos_agent/src/agent/decision_reader.rs b/packages/talos_agent/src/agent/decision_reader.rs
index 34ff3c85..67b56a2e 100644
--- a/packages/talos_agent/src/agent/decision_reader.rs
+++ b/packages/talos_agent/src/agent/decision_reader.rs
@@ -79,6 +79,7 @@ enum ReaderError {
// $coverage:ignore-start
#[cfg(test)]
+#[allow(clippy::result_large_err)]
mod tests {
use std::collections::HashMap;
diff --git a/packages/talos_agent/src/agent/errors.rs b/packages/talos_agent/src/agent/errors.rs
index c0f56c2f..646fdae9 100644
--- a/packages/talos_agent/src/agent/errors.rs
+++ b/packages/talos_agent/src/agent/errors.rs
@@ -54,6 +54,7 @@ impl From> for AgentError {
// $coverage:ignore-start
#[cfg(test)]
+#[allow(clippy::result_large_err)]
mod tests {
use super::*;
use crate::api::{CandidateData, CertificationRequest, CertificationResponse};
diff --git a/packages/talos_agent/src/agent/state_manager.rs b/packages/talos_agent/src/agent/state_manager.rs
index bf52117c..50aedf50 100644
--- a/packages/talos_agent/src/agent/state_manager.rs
+++ b/packages/talos_agent/src/agent/state_manager.rs
@@ -242,6 +242,7 @@ impl + 'static> StateManager {
// $coverage:ignore-start
#[cfg(test)]
+#[allow(clippy::result_large_err)]
mod tests_waiting_client {
use super::*;
use crate::messaging::api::Decision::Committed;
@@ -302,6 +303,7 @@ mod tests_waiting_client {
}
#[cfg(test)]
+#[allow(clippy::result_large_err)]
mod tests {
use super::*;
use crate::api::{CandidateData, CertificationRequest};
@@ -586,6 +588,7 @@ mod tests {
}
#[tokio::test]
+ #[allow(clippy::result_large_err)]
async fn handle_decision_should_emit_metrics() {
// env_logger::builder().format_timestamp_millis().init();
@@ -686,7 +689,7 @@ mod tests {
};
let copy = cancel_req.clone();
- format!("debug and clone coverage: {:?}", copy);
+ let _ = format!("debug and clone coverage: {:?}", copy);
StateManager::::handle_cancellation(Some(cancel_req), &mut state);
diff --git a/packages/talos_agent/src/api.rs b/packages/talos_agent/src/api.rs
index eb6592a9..00b5a1f6 100644
--- a/packages/talos_agent/src/api.rs
+++ b/packages/talos_agent/src/api.rs
@@ -7,10 +7,7 @@ use std::collections::HashMap;
use std::time::Duration;
use strum::{Display, EnumString};
-///
/// Data structures and interfaces exposed to agent client
-///
-
pub type StateMap = Vec>;
/// The main candidate payload
diff --git a/packages/talos_agent/src/messaging/kafka.rs b/packages/talos_agent/src/messaging/kafka.rs
index c23c102e..b417046a 100644
--- a/packages/talos_agent/src/messaging/kafka.rs
+++ b/packages/talos_agent/src/messaging/kafka.rs
@@ -30,7 +30,6 @@ use super::api::ReceivedMessage;
use super::message_parser::MessageListener;
/// The Kafka error into generic custom messaging error type
-
impl From for MessagingError {
fn from(e: KafkaError) -> Self {
MessagingError {
diff --git a/packages/talos_agent/src/metrics/aggregates.rs b/packages/talos_agent/src/metrics/aggregates.rs
index 8d62128a..de5f0cba 100644
--- a/packages/talos_agent/src/metrics/aggregates.rs
+++ b/packages/talos_agent/src/metrics/aggregates.rs
@@ -62,7 +62,7 @@ pub struct Percentile {
}
impl Percentile {
- fn compute(data_set: &Vec, percentage: u32, unit: &str, get: &impl Fn(&Timeline) -> f32) -> Percentile {
+ fn compute(data_set: &[Timeline], percentage: u32, unit: &str, get: &impl Fn(&Timeline) -> f32) -> Percentile {
if data_set.is_empty() {
Percentile {
percentage,
diff --git a/packages/talos_agent/src/metrics/core.rs b/packages/talos_agent/src/metrics/core.rs
index 63c71bee..a1a5b2db 100644
--- a/packages/talos_agent/src/metrics/core.rs
+++ b/packages/talos_agent/src/metrics/core.rs
@@ -159,7 +159,7 @@ impl Metrics {
//log::error!("debug: {}, {}, {}, {}", tx.id, tx.candidate_publish_4.as_micros(), tx.candidate_kafka_trip_5.as_micros(), tx.decision_duration_6.as_micros());
- if total_count % progress_frequency == 0 {
+ if total_count.is_multiple_of(progress_frequency) {
tracing::warn!("METRIC agent-spans(progress): {} of {}", total_count, sorted.len());
}
if earliest_time == 0 {
diff --git a/packages/talos_certifier/Cargo.toml b/packages/talos_certifier/Cargo.toml
index 08ec3420..ba9e8cb5 100644
--- a/packages/talos_certifier/Cargo.toml
+++ b/packages/talos_certifier/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "talos_certifier"
-version = "0.3.14-dev"
+version = "0.3.15"
edition = "2021"
keywords = ["talos"]
license = "MIT"
@@ -57,8 +57,8 @@ tracing-subscriber = { version = "0.3.19", features = [
] }
# internal crates
-talos_suffix = { path = "../talos_suffix", version = "0.3.14-dev" }
-talos_common_utils = { path = "../talos_common_utils", version = "0.3.14-dev" }
+talos_suffix = { path = "../talos_suffix", version = "0.3.15" }
+talos_common_utils = { path = "../talos_common_utils", version = "0.3.15" }
uuid = { version = "1.4.1", features = ["v4"] }
diff --git a/packages/talos_certifier/src/certifier/certification.rs b/packages/talos_certifier/src/certifier/certification.rs
index a9c38836..04b77333 100644
--- a/packages/talos_certifier/src/certifier/certification.rs
+++ b/packages/talos_certifier/src/certifier/certification.rs
@@ -35,7 +35,6 @@ pub struct Certifier {
* R3. Otherwise, if there exists an earlier transaction in the suffix that overlaps with Tk, is not among Tk's read versions, and Tk has an antidependency directed upon it, then abort Tk. I.e., if ∃ Tj : snapshot(Tk) < j < k ∧ j ∉ readvers(Tk) ∧ writeset(Tj) ∩ readset(Tk) ≠ ∅, then abort Tk.
* R4. Otherwise, try to commit Tk.
*/
-
impl Certifier {
pub fn new() -> Certifier {
Certifier {
diff --git a/packages/talos_certifier/src/healthcheck.rs b/packages/talos_certifier/src/healthcheck.rs
index ec992e35..88080938 100644
--- a/packages/talos_certifier/src/healthcheck.rs
+++ b/packages/talos_certifier/src/healthcheck.rs
@@ -43,7 +43,7 @@ impl HealthChecks {
async fn flush(&mut self) -> std::io::Result<()> {
create_dir_all(&self.out_dir).await?;
- let mut file = OpenOptions::new().write(true).create(true).open(&self.out_file).await?;
+ let mut file = OpenOptions::new().write(true).create(true).truncate(true).open(&self.out_file).await?;
let status_byte = if self.status { '1' } else { '0' };
file.write_all(format!("{}", status_byte).as_bytes()).await?;
file.sync_all().await?;
diff --git a/packages/talos_certifier_adapters/Cargo.toml b/packages/talos_certifier_adapters/Cargo.toml
index 3896e621..3e7fc94e 100644
--- a/packages/talos_certifier_adapters/Cargo.toml
+++ b/packages/talos_certifier_adapters/Cargo.toml
@@ -1,7 +1,7 @@
[package]
# [package]
name = "talos_certifier_adapters"
-version = "0.3.14-dev"
+version = "0.3.15"
edition = "2021"
keywords = ["talos", "adapters"]
license = "MIT"
@@ -53,11 +53,11 @@ thiserror = "1.0.31"
mockall = "0.11.0"
# internal crates
-talos_metrics = { path = "../talos_metrics", version = "0.3.14-dev" }
-talos_certifier = { path = "../talos_certifier", version = "0.3.14-dev" }
-talos_suffix = { path = "../talos_suffix", version = "0.3.14-dev" }
-talos_common_utils = { path = "../talos_common_utils", version = "0.3.14-dev" }
-talos_rdkafka_utils = { path = "../talos_rdkafka_utils", version = "0.3.14-dev" }
+talos_metrics = { path = "../talos_metrics", version = "0.3.15" }
+talos_certifier = { path = "../talos_certifier", version = "0.3.15" }
+talos_suffix = { path = "../talos_suffix", version = "0.3.15" }
+talos_common_utils = { path = "../talos_common_utils", version = "0.3.15" }
+talos_rdkafka_utils = { path = "../talos_rdkafka_utils", version = "0.3.15" }
[dev-dependencies]
diff --git a/packages/talos_certifier_adapters/src/bin/histogram_decision_timeline_from_kafka.rs b/packages/talos_certifier_adapters/src/bin/histogram_decision_timeline_from_kafka.rs
index a64ef554..c2b4fc9a 100644
--- a/packages/talos_certifier_adapters/src/bin/histogram_decision_timeline_from_kafka.rs
+++ b/packages/talos_certifier_adapters/src/bin/histogram_decision_timeline_from_kafka.rs
@@ -82,7 +82,7 @@ async fn main() -> Result<(), String> {
let decision_message = decision.message;
// log::warn!("Decision {:?}", msg_decision);
item_number += 1;
- if item_number % progress_frequency == 0 {
+ if item_number.is_multiple_of(progress_frequency) {
log::warn!("Progress: {} of {}", item_number, total_decisions);
}
hist_candidate_published.include(&decision_message.metrics, decision_message.metrics.candidate_published);
diff --git a/packages/talos_certifier_adapters/src/postgres/pg.rs b/packages/talos_certifier_adapters/src/postgres/pg.rs
index 76bf590c..c70adf6e 100644
--- a/packages/talos_certifier_adapters/src/postgres/pg.rs
+++ b/packages/talos_certifier_adapters/src/postgres/pg.rs
@@ -183,7 +183,7 @@ impl DecisionStore for Pg {
} else if let Some(client_err) = client_result.err() {
warn!(
"Error getting connection from pool prior to inserting decision to XDB with reason {}",
- client_err.to_string()
+ client_err
);
result_f = Err(client_err);
}
diff --git a/packages/talos_cohort_replicator/Cargo.toml b/packages/talos_cohort_replicator/Cargo.toml
index cdbef36c..90425568 100644
--- a/packages/talos_cohort_replicator/Cargo.toml
+++ b/packages/talos_cohort_replicator/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "talos_cohort_replicator"
-version = "0.3.14-dev"
+version = "0.3.15"
edition = "2021"
keywords = ["talos", "cohort", "replicator"]
license = "MIT"
@@ -32,9 +32,9 @@ time = { workspace = true }
indexmap = { version = "2.0.0" }
ahash = "0.8.3"
-talos_certifier = { path = "../talos_certifier", version = "0.3.14-dev" }
-talos_common_utils = { path = "../talos_common_utils", version = "0.3.14-dev" }
-talos_suffix = { path = "../talos_suffix", version = "0.3.14-dev" }
+talos_certifier = { path = "../talos_certifier", version = "0.3.15" }
+talos_common_utils = { path = "../talos_common_utils", version = "0.3.15" }
+talos_suffix = { path = "../talos_suffix", version = "0.3.15" }
# Tracing dependencies
# We will move telemetry dependencies to the workspace once we adapt all projects. Currenly only SDK uses them.
diff --git a/packages/talos_cohort_replicator/src/core.rs b/packages/talos_cohort_replicator/src/core.rs
index 8d4e1ece..92319a2e 100644
--- a/packages/talos_cohort_replicator/src/core.rs
+++ b/packages/talos_cohort_replicator/src/core.rs
@@ -65,11 +65,6 @@ pub enum CandidateDecisionOutcome {
Undecided,
}
-#[derive(Debug, Clone, Eq, PartialEq, Deserialize, Serialize)]
-pub struct StatemapItemWithEventTimings {
- pub statemap: StatemapItem,
- pub event_timings: EventTimingsMap,
-}
#[derive(Debug, Clone, Eq, PartialEq, Deserialize, Serialize)]
pub struct StatemapItem {
pub action: String,
diff --git a/packages/talos_cohort_replicator/src/models/statemap_installer_queue.rs b/packages/talos_cohort_replicator/src/models/statemap_installer_queue.rs
index 82a96c5b..d8c70c68 100644
--- a/packages/talos_cohort_replicator/src/models/statemap_installer_queue.rs
+++ b/packages/talos_cohort_replicator/src/models/statemap_installer_queue.rs
@@ -11,12 +11,14 @@ use crate::{
};
#[derive(Debug, Default)]
+#[allow(dead_code)]
pub struct DbgQueueFilterSummary {
pub filter_enter_count: usize,
pub filter_exit_count: usize,
pub filter_reject_items: Vec,
}
#[derive(Debug, Default)]
+#[allow(dead_code)]
pub struct DbgQueueInstallItemsSummary {
pub installable_items: Vec,
pub filter_steps_insights: Vec>,
@@ -164,11 +166,7 @@ impl StatemapInstallerQueue {
}
// If queue is not empty and the snapshot version is below this version, then we find the last_contiguous installed version.
- let start = if let Some(version_index) = self.queue.get_index_of(&self.snapshot_version) {
- version_index
- } else {
- 0
- };
+ let start = self.queue.get_index_of(&self.snapshot_version).unwrap_or_default();
let (last_installed_version, _) = self
.queue
diff --git a/packages/talos_cohort_replicator/src/otel/initialiser.rs b/packages/talos_cohort_replicator/src/otel/initialiser.rs
index a27e78db..982ce5a0 100644
--- a/packages/talos_cohort_replicator/src/otel/initialiser.rs
+++ b/packages/talos_cohort_replicator/src/otel/initialiser.rs
@@ -49,7 +49,6 @@ pub fn init_log_and_otel_tracing_layers(
* This module is intentional duplicate with packages/cohort_sdk/otel.
* We will externalise them into re-usable commons when we apply OTEL to full Talos ecosystem.
*/
-
pub fn init_otel_logs_tracing(name: String, enable_tracing: bool, grpc_endpoint: Option, default_level: &'static str) -> Result<(), OtelInitError> {
if let Ok(tracing_layers) = init_log_and_otel_tracing_layers(name, enable_tracing, grpc_endpoint, default_level) {
if let Err(error) = tracing_subscriber::registry().with(tracing_layers).try_init() {
diff --git a/packages/talos_cohort_replicator/src/services/replicator_service.rs b/packages/talos_cohort_replicator/src/services/replicator_service.rs
index 1ca8d8de..8a2a4bb4 100644
--- a/packages/talos_cohort_replicator/src/services/replicator_service.rs
+++ b/packages/talos_cohort_replicator/src/services/replicator_service.rs
@@ -36,6 +36,7 @@ pub struct ReplicatorServiceConfig {
/// Frequency in milliseconds
pub commit_frequency_ms: u64,
/// Enable internal stats
+ #[allow(dead_code)]
pub enable_stats: bool,
/// Backpressure related configs, used by the [`BackPressureController`]
pub backpressure: BackPressureConfig,
diff --git a/packages/talos_cohort_replicator/src/suffix.rs b/packages/talos_cohort_replicator/src/suffix.rs
index d4fd74c4..cdb515ce 100644
--- a/packages/talos_cohort_replicator/src/suffix.rs
+++ b/packages/talos_cohort_replicator/src/suffix.rs
@@ -24,6 +24,7 @@ pub trait ReplicatorSuffixTrait: SuffixTrait {
fn set_decision_outcome(&mut self, version: u64, decision_outcome: Option);
fn set_safepoint(&mut self, version: u64, safepoint: Option);
fn set_item_installed(&mut self, version: u64);
+ #[allow(dead_code)]
fn get_last_installed(&self, to_version: Option) -> Option<&SuffixItem>;
fn update_suffix_item_decision(&mut self, version: u64, decision_ver: u64) -> SuffixResult<()>;
/// Updates the prune index.
@@ -33,8 +34,10 @@ pub trait ReplicatorSuffixTrait: SuffixTrait {
/// Returns the items from suffix
fn get_suffix_meta(&self) -> &SuffixMeta;
fn get_message_batch_from_version(&self, from: u64, count: Option) -> Vec<&SuffixItem>;
+ #[allow(dead_code)]
fn installed_all_prior_decided_items(&self, version: u64) -> bool;
fn get_by_index(&self, index: usize) -> Option<&SuffixItem>;
+ #[allow(dead_code)]
fn get_index_from_head(&self, version: u64) -> Option;
fn get_suffix_len(&self) -> usize;
}
diff --git a/packages/talos_cohort_replicator/src/talos_cohort_replicator.rs b/packages/talos_cohort_replicator/src/talos_cohort_replicator.rs
index 3496917b..741d55da 100644
--- a/packages/talos_cohort_replicator/src/talos_cohort_replicator.rs
+++ b/packages/talos_cohort_replicator/src/talos_cohort_replicator.rs
@@ -68,7 +68,6 @@ async fn flatten_service_result(handle: JoinHandle
/// Entry point to replicator and statemap installer
///
-
pub async fn talos_cohort_replicator(
certifier_message_receiver: M, //used by Replicator service
statemap_installer: Arc, // Used by Statemap queue service
diff --git a/packages/talos_common_utils/Cargo.toml b/packages/talos_common_utils/Cargo.toml
index c12d4268..d892ae10 100644
--- a/packages/talos_common_utils/Cargo.toml
+++ b/packages/talos_common_utils/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "talos_common_utils"
-version = "0.3.14-dev"
+version = "0.3.15"
edition = "2021"
license = "MIT"
homepage = "https://github.com/kindredgroup/talos"
diff --git a/packages/talos_common_utils/src/backpressure/config.rs b/packages/talos_common_utils/src/backpressure/config.rs
index f9523011..de7bde74 100644
--- a/packages/talos_common_utils/src/backpressure/config.rs
+++ b/packages/talos_common_utils/src/backpressure/config.rs
@@ -31,7 +31,7 @@ pub struct BackPressureConfig {
/// Suffix rate threshold is used enable back pressure logic based on the difference between input vs output rate.
/// The proactive back pressure strategy will not trigger till `suffix_rate_threshold` + this rate threshold is crossed.
/// - If Some valid value is passed., the rate based proactive back pressure logic is applied only when this threshold is crossed.
- /// - e.g. If `rate_delta_threshold = 100`, then proactive back pressure logic kicks in when `input_tps - output_tps > 100`.
+ /// - e.g. If `rate_delta_threshold = 100`, then proactive back pressure logic kicks in when `input_tps - output_tps > 100`.
/// - **Defaults to Some(100)**
pub rate_delta_threshold: Option,
/// Used to reduce the timeout computed. If the timeout has plataued at a specific milliseconds between iterations, this could be use to stepdown the timeout between iterations.
diff --git a/packages/talos_common_utils/src/backpressure/controller.rs b/packages/talos_common_utils/src/backpressure/controller.rs
index 951e1b41..43b00030 100644
--- a/packages/talos_common_utils/src/backpressure/controller.rs
+++ b/packages/talos_common_utils/src/backpressure/controller.rs
@@ -154,7 +154,7 @@ impl BackPressureController {
/// - Uses a `fill_score` to determine if the suffix size should be considered for the timeout calculation.
/// - Uses a `rate_score` to determine if the output rate is not keeping up with the input rate.
/// - Both the scores are used to determine the timeout to be applied, which will be between
- /// [`BackPressureConfig::min_timeout_ms`] and [`BackPressureConfig::max_timeout_ms`]
+ /// [`BackPressureConfig::min_timeout_ms`] and [`BackPressureConfig::max_timeout_ms`]
pub fn calculate_timeout(&self, current_suffix_size: u64) -> u64 {
let suffix_fill_ratio = self.get_suffix_fill_ratio(current_suffix_size);
@@ -200,7 +200,7 @@ impl BackPressureController {
/// - Calculate the timeout in milliseconds using [`Self::calculate_timeout`].
/// - Reset the trackers. As the rates are calculated for a particular time window.
/// - Return [`BackPressureTimeout`], based on the whether timeout needs to be applied, and/or if the head is stale for long,
- /// return [`BackPressureTimeout::CompleteStop`]
+ /// return [`BackPressureTimeout::CompleteStop`]
pub fn compute_backpressure(&mut self, current_suffix_len: u64) -> BackPressureTimeout {
// calculate the timeout to apply for backpressure.
let timeout_ms = self.calculate_timeout(current_suffix_len);
diff --git a/packages/talos_common_utils/src/env.rs b/packages/talos_common_utils/src/env.rs
index 59776c15..968b160b 100644
--- a/packages/talos_common_utils/src/env.rs
+++ b/packages/talos_common_utils/src/env.rs
@@ -56,7 +56,7 @@ pub fn get_env_vars_with_prefix(prefix: &str) -> Option>
/// ```
///
/// - When the `key` and value return `type` is passed, the environment variable is
-/// read for the key and the value is parsed into the `type` passed as argument.
+/// read for the key and the value is parsed into the `type` passed as argument.
///
/// ## Example
/// ```ignore
@@ -65,7 +65,7 @@ pub fn get_env_vars_with_prefix(prefix: &str) -> Option>
/// ```
///
/// - Special scenario to convert the string value to Vector.
-/// When the `key` and value return `type` is passed as `Vec`
+/// When the `key` and value return `type` is passed as `Vec`
/// - the environment variable is read for the key.
/// - the string value returned is split on `,` to create a Vec.
/// - each value of the vec is parsed into the `type` passed as argument.
@@ -102,12 +102,12 @@ macro_rules! env_var {
/// - When only (key, default_value) is passed, returns the value or the default value.
///
/// - When the `key`, value return `type` as an `Option` and `default_value` is passed, the environment variable is
-/// read for the key and the value is parsed into the `type` passed as argument. If the value is not found,
-/// then the default value is assigned.
+/// read for the key and the value is parsed into the `type` passed as argument. If the value is not found,
+/// then the default value is assigned.
///
/// - When the `key`, value return `type` and `default_value` is passed, the environment variable is
-/// read for the key and the value is parsed into the `type` passed as argument. If the value is not found,
-/// then the default value is assigned.
+/// read for the key and the value is parsed into the `type` passed as argument. If the value is not found,
+/// then the default value is assigned.
///
#[macro_export]
macro_rules! env_var_with_defaults {
diff --git a/packages/talos_messenger_actions/Cargo.toml b/packages/talos_messenger_actions/Cargo.toml
index 99e31af7..68a10d85 100644
--- a/packages/talos_messenger_actions/Cargo.toml
+++ b/packages/talos_messenger_actions/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "talos_messenger_actions"
-version = "0.3.14-dev"
+version = "0.3.15"
edition = "2021"
license = "MIT"
homepage = "https://github.com/kindredgroup/talos"
@@ -56,12 +56,12 @@ toml_parser = { workspace = true }
toml_writer = { workspace = true }
# *** End - Adding to fix napi build error on GH actions.
-talos_certifier = { path = "../talos_certifier", version = "0.3.14-dev" }
-talos_suffix = { path = "../talos_suffix", version = "0.3.14-dev" }
-talos_certifier_adapters = { path = "../talos_certifier_adapters", version = "0.3.14-dev" }
-talos_common_utils = { path = "../talos_common_utils", version = "0.3.14-dev" }
-talos_rdkafka_utils = { path = "../talos_rdkafka_utils", version = "0.3.14-dev" }
-talos_messenger_core = { path = "../talos_messenger_core", version = "0.3.14-dev" }
+talos_certifier = { path = "../talos_certifier", version = "0.3.15" }
+talos_suffix = { path = "../talos_suffix", version = "0.3.15" }
+talos_certifier_adapters = { path = "../talos_certifier_adapters", version = "0.3.15" }
+talos_common_utils = { path = "../talos_common_utils", version = "0.3.15" }
+talos_rdkafka_utils = { path = "../talos_rdkafka_utils", version = "0.3.15" }
+talos_messenger_core = { path = "../talos_messenger_core", version = "0.3.15" }
[dev-dependencies]
diff --git a/packages/talos_messenger_core/Cargo.toml b/packages/talos_messenger_core/Cargo.toml
index 9298717f..e23af661 100644
--- a/packages/talos_messenger_core/Cargo.toml
+++ b/packages/talos_messenger_core/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "talos_messenger_core"
-version = "0.3.14-dev"
+version = "0.3.15"
edition = "2021"
license = "MIT"
homepage = "https://github.com/kindredgroup/talos"
@@ -48,9 +48,9 @@ toml_writer = { workspace = true }
# indexmap
ahash = "0.8.3"
-talos_certifier = { path = "../talos_certifier", version = "0.3.14-dev" }
-talos_suffix = { path = "../talos_suffix", version = "0.3.14-dev" }
-talos_common_utils = { path = "../../packages/talos_common_utils", version = "0.3.14-dev" }
+talos_certifier = { path = "../talos_certifier", version = "0.3.15" }
+talos_suffix = { path = "../talos_suffix", version = "0.3.15" }
+talos_common_utils = { path = "../../packages/talos_common_utils", version = "0.3.15" }
[dev-dependencies]
mockall = { version = "0.11.3" }
diff --git a/packages/talos_messenger_core/src/tests/test_utils.rs b/packages/talos_messenger_core/src/tests/test_utils.rs
index b5317d0e..7a48834f 100644
--- a/packages/talos_messenger_core/src/tests/test_utils.rs
+++ b/packages/talos_messenger_core/src/tests/test_utils.rs
@@ -163,6 +163,7 @@ pub enum FeedbackTypeHeader {
pub struct MockActionService {
pub publisher: MockProducer,
pub rx_actions_channel: mpsc::Receiver,
+ #[allow(dead_code)]
pub tx_feedback_channel: mpsc::Sender,
}
diff --git a/packages/talos_metrics/Cargo.toml b/packages/talos_metrics/Cargo.toml
index 6d648d43..9e785033 100644
--- a/packages/talos_metrics/Cargo.toml
+++ b/packages/talos_metrics/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "talos_metrics"
-version = "0.3.14-dev"
+version = "0.3.15"
edition = "2021"
license = "MIT"
homepage = "https://github.com/kindredgroup/talos"
diff --git a/packages/talos_rdkafka_utils/Cargo.toml b/packages/talos_rdkafka_utils/Cargo.toml
index a1561437..38c23b28 100644
--- a/packages/talos_rdkafka_utils/Cargo.toml
+++ b/packages/talos_rdkafka_utils/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "talos_rdkafka_utils"
-version = "0.3.14-dev"
+version = "0.3.15"
edition = "2021"
license = "MIT"
homepage = "https://github.com/kindredgroup/talos"
@@ -15,7 +15,7 @@ doctest = false
[dependencies]
async-trait = { workspace = true }
tokio = { workspace = true, features = ["macros", "rt"] }
-talos_common_utils = { path = "../talos_common_utils", version = "0.3.14-dev" }
+talos_common_utils = { path = "../talos_common_utils", version = "0.3.15" }
# Logging
log = { workspace = true }
env_logger = { workspace = true }
diff --git a/packages/talos_suffix/Cargo.toml b/packages/talos_suffix/Cargo.toml
index 44cfec03..09d2f9a4 100644
--- a/packages/talos_suffix/Cargo.toml
+++ b/packages/talos_suffix/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "talos_suffix"
-version = "0.3.14-dev"
+version = "0.3.15"
edition = "2021"
license = "MIT"
homepage = "https://github.com/kindredgroup/talos"
diff --git a/packages/talos_suffix/src/core.rs b/packages/talos_suffix/src/core.rs
index 8f5698c5..52002ff3 100644
--- a/packages/talos_suffix/src/core.rs
+++ b/packages/talos_suffix/src/core.rs
@@ -20,7 +20,7 @@ pub struct SuffixConfig {
/// Initial capacity of the suffix
pub capacity: usize,
/// - The suffix prune threshold from when we start checking if the suffix
- /// should prune.
+ /// should prune.
/// - Set to None if pruning is not required.
/// - Defaults to None.
pub prune_start_threshold: Option,
diff --git a/rust-toolchain.toml b/rust-toolchain.toml
index 7897a24d..76a06e6b 100644
--- a/rust-toolchain.toml
+++ b/rust-toolchain.toml
@@ -1,2 +1,2 @@
[toolchain]
-channel = "1.75.0"
+channel = "1.94.0"
diff --git a/scripts/coverage-report.sh b/scripts/coverage-report.sh
index b81828a8..440eef97 100755
--- a/scripts/coverage-report.sh
+++ b/scripts/coverage-report.sh
@@ -1,54 +1,60 @@
#!/bin/bash
set -e
-type rustup >/dev/null 2>&1 || { echo >&2 "rustup is not installed; aborting."; exit 1; }
type cargo >/dev/null 2>&1 || { echo >&2 "cargo is not installed; aborting."; exit 1; }
type grcov >/dev/null 2>&1 || { echo >&2 "grcov is not installed; aborting."; exit 1; }
-type zip >/dev/null 2>&1 || { echo >&2 "zip is not installed; aborting."; exit 1; }
base_dir="$(dirname "$0")"
-cd ${base_dir}/..
+cd "${base_dir}/.."
app_name=talos
-export CARGO_INCREMENTAL="0"
-export RUSTFLAGS="-Zprofile -Ccodegen-units=1 -Copt-level=0 -Clink-dead-code -Coverflow-checks=off -Zpanic_abort_tests -Cpanic=abort"
-
excludes="cohort_sdk_js"
-echo "Compiling $app_name"
-cargo +nightly-2023-12-28 build
-
-echo "Testing $app_name"
-export LLVM_PROFILE_FILE="${app_name}-%p-%m.profraw"
-cargo +nightly-2023-12-28 test --tests --workspace --exclude ${excludes} # don't run doctests
-
-rm ccov.zip 2> /dev/null || true
-zip -0 ccov.zip `find . \( -name "*.gc*" \) -print | grep -v ${excludes}`
-
-echo "Generating HTML coverage report for $app_name"
-rm -rf coverage 2> /dev/null || true
-mkdir coverage
-grcov ccov.zip --branch -s . --llvm --ignore-not-existing --ignore "/*" --excl-start "\\\$coverage:ignore-start" --excl-stop "\\\$coverage:ignore-end" --excl-line "(//!|///|$coverage:ignore|unreachable!())" -t html -o coverage
-
-echo "Generating LCOV coverage report for $app_name"
-rm lcov.info 2> /dev/null || true
-grcov ccov.zip -s . --llvm --ignore-not-existing --ignore "/*" --excl-start "\\\$coverage:ignore-start" --excl-stop "\\\$coverage:ignore-end" --excl-line "(//!|///|$coverage:ignore|unreachable!())" -t lcov -o lcov.info
-
-# Clean up
-rm ccov.zip
-
-# Re-run tests with JSON output
-cargo +nightly-2023-12-28 test --tests --workspace --exclude ${excludes} -- -Z unstable-options --format json --report-time > coverage/test-report.json
+export CARGO_INCREMENTAL="0"
+export RUSTFLAGS="-C instrument-coverage"
+export LLVM_PROFILE_FILE="$(pwd)/target/coverage/talos-%p-%m.profraw"
+
+NIGHTLY="nightly-2026-03-01"
+
+echo "Cleaning old data..."
+rm -rf target/coverage coverage lcov.info 2>/dev/null || true
+mkdir -p target/coverage
+trap 'rm -rf target/coverage/' EXIT
+
+echo "Compiling and Testing $app_name..."
+cargo +${NIGHTLY} test --tests --workspace --exclude ${excludes}
+
+echo "Generating HTML report..."
+grcov ./target/coverage/ \
+ --binary-path ./target/debug/ \
+ -s . \
+ -t html \
+ --branch \
+ --ignore-not-existing \
+ --ignore "/*" \
+ --excl-start "\$coverage:ignore-start" \
+ --excl-stop "\$coverage:ignore-end" \
+ -o ./coverage
+
+echo "Generating LCOV report..."
+grcov ./target/coverage/ \
+ --binary-path ./target/debug/ \
+ -s . \
+ -t lcov \
+ --branch \
+ --ignore-not-existing \
+ --ignore "/*" \
+ --excl-start "\$coverage:ignore-start" \
+ --excl-stop "\$coverage:ignore-end" \
+ -o lcov.info
+
+echo "Generating JSON test report..."
+cargo +${NIGHTLY} test --tests --workspace --exclude ${excludes} -- \
+ -Z unstable-options --format json --report-time > coverage/test-report.json
if [ "$1" == "--open" ]; then
- index="file://$(pwd)/${base_dir}/../coverage/index.html"
-
- if command -v xdg-open &> /dev/null; then
- xdg-open $index
- elif command -v open &> /dev/null; then
- open $index
- else
- echo >&2 "neither xdg-open nor open are installed"
- exit 1
- fi
+ index="file://$(pwd)/coverage/index.html"
+ command -v xdg-open &>/dev/null && xdg-open "$index" || \
+ command -v open &>/dev/null && open "$index" || \
+ echo "Report generated at: $index"
fi
diff --git a/scripts/release.sh b/scripts/release.sh
index 2cd782d9..fc8dc130 100755
--- a/scripts/release.sh
+++ b/scripts/release.sh
@@ -110,23 +110,8 @@ fi
NEW_VERSION=$ANSWER
-echo $line
-echo "Provide the next version number (aka 'dev version' or 'shapshot')"
-echo "Type: 'a' or just press 'enter' for cancel and abort here."
-echo "Otherwise type the next version (without suffix), for example, if you are releasing '2.0.0' then the next dev version will be '2.1.0'. We will add '-dev' suffix automatically"
-unset ANSWER
-read ANSWER
-if [ "${ANSWER}" == "a" ] || [ "${ANSWER}" == "" ];
-then
- echo "Your answer was '${ANSWER}', aborting"
- exit 1
-fi
-
-NEXT_VERSION=$(echo $ANSWER | sed 's/-dev//')-dev
-
echo $line
echo "The new version for release will be : $NEW_VERSION"
-echo "The next dev version after release will be: $NEXT_VERSION"
echo $line
echo "Proceed to bumping the project version? (type 'y' for 'Yes')"
@@ -172,24 +157,6 @@ echo "Tagging repostiory"
git tag -a -m "Release ${NEW_VERSION}" "v${NEW_VERSION}"
echo ""
-echo $line
-echo "Bumping development versions to $NEXT_VERSION"
-echo ""
-
-currentDir=$(pwd)
-cd cohort_sdk_client
-npm version $NEXT_VERSION
-cd $currentDir
-cd packages/cohort_sdk_js
-npm version $NEXT_VERSION
-cd $currentDir
-git add --all
-git commit -a -m "chore(npm): Release $NEXT_VERSION" --no-verify
-
-# This will update version in Cargo.toml files and in dependencies, then commit
-cargo release --workspace --no-confirm --no-tag --no-publish --no-push -x $NEXT_VERSION
-
-echo ""
git log --oneline -5