Repository navigation
chore(deps): bump rand from 0.8.6 to 0.10.2 #1823
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 |