Skip to content

chore(deps): bump rand from 0.8.6 to 0.10.2 #1823

chore(deps): bump rand from 0.8.6 to 0.10.2

chore(deps): bump rand from 0.8.6 to 0.10.2 #1823

Workflow file for this run

name: CI
# Unless we are on the main branch, the workflow should stop and yield to a new run if new code is pushed.
concurrency:
group: ${{ github.workflow }}-${{ github.ref == 'refs/heads/main' && github.sha || github.ref }}
cancel-in-progress: ${{ !contains(github.ref, 'main')}}
on:
push:
branches: [main]
pull_request:
env:
CARGO_TERM_COLOR: always
permissions:
contents: read
jobs:
version-alignment:
name: Version Alignment
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- uses: worldcoin/bedrock/.github/actions/version-alignment@857c252013ac52cea24f5d7add3475a909d663f2 # main
with:
uniffi_version: ${{ vars.UNIFFI_VERSION }}
rust_toolchain_channel: ${{ vars.RUST_TOOLCHAIN_CHANNEL }}
lint:
name: Format, Clippy & Build
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Set up Rust
uses: dtolnay/rust-toolchain@fa04a1451ff1842e2626ccb99004d0195b455a88 # master
with:
toolchain: 1.94.1
components: clippy,rustfmt
- name: Install Foundry
uses: foundry-rs/foundry-toolchain@b00af27efadbc7b4ca8b82abbd903b17cc874d2a # v1.9.0
# Install nargo
- uses: noir-lang/noirup@7dbe69ccc78877f0200ffa5a40836c953d2cfd8f # v0.1.4
with:
# See https://github.com/worldfnd/provekit, a specific nargo toolchain version is required
toolchain: v1.0.0-beta.11
- name: Check code formatting
run: cargo fmt -- --check
- name: Run clippy (all features)
run: cargo clippy --workspace --all-targets --all-features -- -D warnings
- name: Run clippy (default features)
run: cargo clippy --workspace --all-targets -- -D warnings
- name: Run clippy (no default features)
run: cargo clippy --workspace --all-targets --no-default-features -- -D warnings
wasm-check:
name: WASM walletkit compile check
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Set up Rust
uses: dtolnay/rust-toolchain@fa04a1451ff1842e2626ccb99004d0195b455a88 # master
with:
toolchain: 1.94.1
targets: wasm32-unknown-unknown
# clang-18 (LLVM 18) is the minimum version that supports the C23
# [[noreturn]] attribute syntax used in sqlite-wasm-rs's wasm-shim.h.
# The system clang on Ubuntu (clang-14) predates C23 attribute support
# and fails to compile the shim, so we must install a newer toolchain explicitly.
- name: Install LLVM toolchain for WASM C build
shell: bash
run: |
set -euo pipefail
sudo apt-get update
sudo apt-get install -y clang-18 llvm-18
- name: Configure C toolchain for wasm32
shell: bash
run: |
set -euo pipefail
echo "CC_wasm32_unknown_unknown=clang-18" >> "$GITHUB_ENV"
echo "AR_wasm32_unknown_unknown=llvm-ar-18" >> "$GITHUB_ENV"
clang-18 --version | head -n1
llvm-ar-18 --version | head -n1
- name: Run WASM compile check
run: cargo check -p walletkit --target wasm32-unknown-unknown
swift-build:
name: Build Swift
runs-on: macos-26
permissions:
contents: read
actions: write # needed for cache save
steps:
- name: Checkout code
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Set up Rust
uses: dtolnay/rust-toolchain@fa04a1451ff1842e2626ccb99004d0195b455a88 # master
with:
toolchain: 1.94.1
targets: aarch64-apple-ios-sim,aarch64-apple-ios,x86_64-apple-ios
- name: Cache Rust build artifacts
uses: Swatinem/rust-cache@9d47c6ad4b02e050fd481d890b2ea34778fd09d6 # v2.7.8
with:
cache-targets: "true"
# Install nargo
- uses: noir-lang/noirup@7dbe69ccc78877f0200ffa5a40836c953d2cfd8f # v0.1.4
with:
# See https://github.com/worldfnd/provekit, a specific nargo toolchain version is required
toolchain: v1.0.0-beta.11
# Includes temporary downstream UniFFI callback vtable patch:
# https://github.com/mozilla/uniffi-rs/pull/2821
- name: Build the Swift project (with temporary UniFFI ASan workaround)
run: cargo xtask swift build
- name: Upload Swift build artifacts
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
name: walletkit-swift-build
path: |
swift/WalletKit.xcframework
swift/Sources/WalletKit
retention-days: 1
swift-test:
name: Swift Foreign Binding Tests (Xcode ${{ matrix.xcode-version }})
needs: swift-build
runs-on: macos-26
strategy:
fail-fast: false
matrix:
# Update as GitHub's runner image adds/drops Xcode versions:
# actions/runner-images macos-26-arm64-Readme.md. If a version fails
# with a missing-SDK/platform error, just drop it from this list.
xcode-version:
- "26.2"
- "26.3"
- "26.4.1"
- "26.5"
- "26.6"
steps:
- name: Checkout code
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Set up Rust
uses: dtolnay/rust-toolchain@fa04a1451ff1842e2626ccb99004d0195b455a88 # master
with:
toolchain: 1.94.1
- name: Select Xcode ${{ matrix.xcode-version }}
uses: maxim-lobanov/setup-xcode@ed7a3b1fda3918c0306d1b724322adc0b8cc0a90 # v1.7.0
with:
xcode-version: ${{ matrix.xcode-version }}
- name: Download Swift build artifacts
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
with:
name: walletkit-swift-build
path: swift
- name: Run Swift foreign binding tests
run: cargo xtask swift test --skip-build
- name: Install SwiftLint
run: |
brew install swiftlint
- name: Lint Swift Tests
run: swiftlint swift/tests
kotlin-build-and-test:
name: Kotlin Build & Foreign Binding Tests
runs-on: arc-public-8xlarge-amd64-runner # uses the same runner as the release workflow to ensure consistency
steps:
- name: Checkout code
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Set up Rust
uses: dtolnay/rust-toolchain@fa04a1451ff1842e2626ccb99004d0195b455a88 # master
with:
toolchain: 1.94.1
- name: Setup Java
uses: actions/setup-java@17f84c3641ba7b8f6deff6309fc4c864478f5d62 # v3.14.1
with:
distribution: temurin
java-version: 17
- name: Install ktlint
run: |
curl -sSLO https://github.com/pinterest/ktlint/releases/latest/download/ktlint &&
chmod a+x ktlint &&
sudo mv ktlint /usr/local/bin/
# Install nargo
- uses: noir-lang/noirup@7dbe69ccc78877f0200ffa5a40836c953d2cfd8f # v0.1.4
with:
# See https://github.com/worldfnd/provekit, a specific nargo toolchain version is required
toolchain: v1.0.0-beta.11
- name: Build and test Kotlin bindings
run: cargo xtask kotlin test
- name: Lint Kotlin Tests
run: |
ktlint kotlin/walletkit-tests/src/test/kotlin
test:
name: Tests
runs-on: arc-public-2xlarge-arm64-runner
strategy:
matrix:
rust:
- stable
- nightly
- 1.94.1 # MSRV
steps:
- name: Checkout code
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Set up Rust
uses: dtolnay/rust-toolchain@fa04a1451ff1842e2626ccb99004d0195b455a88 # master
with:
toolchain: ${{ matrix.rust }}
- name: Install Foundry
uses: foundry-rs/foundry-toolchain@b00af27efadbc7b4ca8b82abbd903b17cc874d2a # v1.9.0
# Install nargo
- uses: noir-lang/noirup@7dbe69ccc78877f0200ffa5a40836c953d2cfd8f # v0.1.4
with:
# See https://github.com/worldfnd/provekit, a specific nargo toolchain version is required
toolchain: v1.0.0-beta.11
- name: Run tests
env:
WORLDCHAIN_SEPOLIA_RPC_URL: ${{ secrets.WORLDCHAIN_SEPOLIA_RPC_URL || 'https://worldchain-sepolia.g.alchemy.com/public' }}
WORLDCHAIN_RPC_URL: ${{ secrets.WORLDCHAIN_RPC_URL || 'https://worldchain-mainnet.g.alchemy.com/public' }}
# we don't do --all-features because `compress-zkeys` is very expensive for the CI and doesn't need to be tested on every PR
# we add the remainder of non-default features to include them in tests
run: |
cargo test --workspace --features walletkit-core/legacy-nullifiers --features walletkit-core/v3
- name: Build non-default features
run: |
cargo build --all --no-default-features
deny:
name: Cargo deny
runs-on: ubuntu-latest
strategy:
matrix:
checks:
- advisories
- bans licenses sources
continue-on-error: ${{ matrix.checks == 'advisories' }}
steps:
- name: Checkout code
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- uses: EmbarkStudios/cargo-deny-action@3c6349835b2b7b196a839186cb8b78e02f7b5f25 # v2.1.1
with:
command: check ${{ matrix.checks }}
rust-version: 1.94.1
docs:
name: Check docs
runs-on: ubuntu-latest
env:
RUSTDOCFLAGS: -Dwarnings
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- uses: dtolnay/rust-toolchain@efcb852328a9f50117170cc43094fb6f09eaf1ae # nightly
- uses: dtolnay/install@982daea0f5d846abc3c83e01a6a1d73c040047c1 # cargo-docs-rs
- run: |
cargo +nightly docs-rs -p walletkit-core
cargo +nightly docs-rs -p walletkit