Feat/chain swaps #380
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 | |
| on: | |
| pull_request: | |
| merge_group: | |
| env: | |
| CARGO_INCREMENTAL: 0 | |
| CARGO_TERM_COLOR: always | |
| permissions: | |
| actions: read | |
| contents: read | |
| jobs: | |
| formatting-dprint: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@master | |
| with: | |
| toolchain: nightly-2026-03-07 | |
| targets: wasm32-unknown-unknown | |
| components: rustfmt | |
| - uses: dprint/check@v2.2 | |
| lint-commits: | |
| runs-on: ubuntu-latest | |
| if: github.event.ref != 'refs/heads/master' | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - name: Get all commits on current master | |
| run: git fetch origin master | |
| - name: Log all commits we will analyse | |
| run: git log --pretty=format:%s origin/master..HEAD | |
| - name: Disallow fixup! commits | |
| run: git log --pretty=format:%s origin/master..HEAD | grep -zv fixup! | |
| - name: Disallow squash! commits | |
| run: git log --pretty=format:%s origin/master..HEAD | grep -zv squash! | |
| clippy: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: extractions/setup-just@v2 | |
| - uses: dtolnay/rust-toolchain@master | |
| with: | |
| toolchain: stable | |
| components: clippy | |
| - uses: Swatinem/rust-cache@v2 | |
| - run: cargo clippy --all-targets --all-features -- -D warnings | |
| unit-tests: | |
| runs-on: ubuntu-latest | |
| needs: [ clippy ] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: extractions/setup-just@v2 | |
| - uses: dtolnay/rust-toolchain@master | |
| with: | |
| toolchain: stable | |
| - uses: Swatinem/rust-cache@v2 | |
| - name: Running cargo tests | |
| run: RUST_BACKTRACE=1 cargo test --workspace | |
| e2e-tests: | |
| needs: [ clippy ] | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| arkd-version: [ 'v0.9.0' ] | |
| uses: ./.github/workflows/e2e-core.yml | |
| with: | |
| arkd-version: ${{ matrix.arkd-version }} | |
| wasm_ubuntu: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [ ubuntu-latest ] | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: extractions/setup-just@v2 | |
| - uses: dtolnay/rust-toolchain@master | |
| with: | |
| toolchain: stable | |
| targets: wasm32-unknown-unknown | |
| - name: Install wasm-pack | |
| run: curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh | |
| - uses: Swatinem/rust-cache@v2 | |
| - name: Build crates for WASM | |
| run: just build-wasm | |
| msrv: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@master | |
| with: | |
| toolchain: "1.86" | |
| - uses: Swatinem/rust-cache@v2 | |
| - name: Use minimal lockfile | |
| run: cp Cargo-minimal.lock Cargo.lock | |
| - name: Check MSRV | |
| run: cargo check --workspace --exclude e2e-tests --exclude ark-client-sample | |
| wasm_macos: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [ macos-latest ] | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: extractions/setup-just@v2 | |
| - uses: dtolnay/rust-toolchain@master | |
| with: | |
| toolchain: stable | |
| targets: wasm32-unknown-unknown | |
| - name: Install wasm-pack | |
| run: curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh | |
| - name: Install LLVM and Clang | |
| if: contains(matrix.os, 'macos') | |
| run: brew install llvm | |
| - uses: Swatinem/rust-cache@v2 | |
| - name: Build crates for WASM | |
| run: PATH="/opt/homebrew/opt/llvm/bin:$PATH" cargo build -p ark-core -p ark-rest --target wasm32-unknown-unknown |