Skip to content

chore: release

chore: release #2648

Workflow file for this run

name: CI
on:
push:
branches:
- main
pull_request:
env:
WASM_BINDGEN_TEST_TIMEOUT: 120
jobs:
clippy:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
crate:
- celestia-proto
- celestia-types
- celestia-rpc
- celestia-grpc
- celestia-grpc-macros
- lumina-node
- lumina-node-uniffi
- lumina-node-wasm
- lumina-cli
steps:
- uses: actions/checkout@v4
- name: Setup toolchain
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
components: clippy
rustflags: -D warnings
target: wasm32-unknown-unknown
cache-key: ${{ matrix.crate }}
- name: Run clippy for native
run: cargo clippy --all-targets --all-features -p ${{ matrix.crate }} -- --no-deps
- name: Run clippy for wasm32
run: cargo clippy --all-targets --all-features --target=wasm32-unknown-unknown -p ${{ matrix.crate }} -- --no-deps
test:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
crate:
- celestia-proto
- celestia-types
- celestia-rpc
- celestia-grpc
- celestia-grpc-macros
- lumina-node
- lumina-node-uniffi
- lumina-node-wasm
- lumina-cli
steps:
- uses: actions/checkout@v4
- name: Setup toolchain
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
cache-key: ${{ matrix.crate }}
- name: Celestia devnet
uses: ./.github/actions/local-devnet
- name: Run tests
run: cargo test --all-features -p ${{ matrix.crate }}
test-wasm:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
crate:
- name: celestia-proto
dir: proto
- name: celestia-types
dir: types
wasm-pack-test-flags: --features=wasm-bindgen
- name: celestia-rpc
dir: rpc
wasm-pack-test-flags: --features=wasm-bindgen
- name: celestia-grpc
dir: grpc
- name: lumina-node
dir: node
- name: lumina-node-wasm
dir: node-wasm
# We're running node-wasm tests in release mode to get around a failing debug assertion
# https://github.com/libp2p/rust-libp2p/issues/5618
wasm-pack-test-flags: --release
steps:
- uses: actions/checkout@v4
- name: Setup toolchain
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
components: clippy
rustflags: -D warnings
target: wasm32-unknown-unknown
cache-key: ${{ matrix.crate.name }}
- name: Install wasm-pack
uses: taiki-e/install-action@v2
with:
tool: wasm-pack@0.13.1
- name: Install chromedriver # we don't specify chrome version to match whatever's installed
uses: nanasess/setup-chromedriver@v2
- name: Celestia devnet
uses: ./.github/actions/local-devnet
- name: Run wasm-pack tests
run: wasm-pack test --headless --chrome ${{ matrix.crate.dir }} ${{ matrix.crate.wasm-pack-test-flags }}
build-wasm:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup toolchain
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
target: wasm32-unknown-unknown
- name: Install wasm-pack
uses: taiki-e/install-action@v2
with:
tool: wasm-pack@0.13.1
- name: Build and pack node-wasm
run: wasm-pack build node-wasm && wasm-pack pack node-wasm
- name: Build demo webpage
run: cd cli/js && npm ci && npm run build
fmt:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run fmt
run: cargo fmt -- --check
docs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup toolchain
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
components: clippy
toolchain: nightly, stable
target: wasm32-unknown-unknown
- name: Missing docs for native
run: cargo clippy --workspace --all-features -- -D missing-docs
- name: Missing docs for wasm32
run: cargo clippy --workspace --all-features --target=wasm32-unknown-unknown -- -D missing-docs
- name: Run rustdoc check
env:
RUSTDOCFLAGS: --cfg docsrs -D warnings
run: cargo +nightly doc --no-deps
unused-deps:
runs-on: ubuntu-latest
name: unused dependencies
steps:
- name: Checkout sources
uses: actions/checkout@v4
- name: Setup toolchain
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
# cargo complains about #[cfg(test)]
# TODO: remove when this lands (1.85)
# https://github.com/rust-lang/cargo/pull/14963
# https://github.com/est31/cargo-udeps/issues/293#issuecomment-2573300340
toolchain: nightly-2025-01-01
- name: Install cargo-udeps
uses: taiki-e/cache-cargo-install-action@v2
with:
tool: cargo-udeps@0.1
- name: Check for unused dependencies
run: cargo udeps --all-targets --all-features
required:
runs-on: ubuntu-latest
name: Required checks
if: ${{ !cancelled() }}
needs:
- clippy
- test
- test-wasm
- build-wasm
- fmt
- docs
- unused-deps
steps:
- name: On failure
if: always() && contains(needs.*.result, 'failure')
run: exit 1