chore: release #1628
This file contains 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: | |
push: | |
branches: | |
- main | |
pull_request: | |
jobs: | |
clippy: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v1 | |
- name: Install Protoc | |
uses: arduino/setup-protoc@v2 | |
with: | |
version: "23.3" | |
repo-token: ${{ secrets.GITHUB_TOKEN }} | |
- name: Install wasm Rust | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
components: clippy | |
target: wasm32-unknown-unknown | |
- name: Run clippy for native | |
run: cargo clippy --all --all-targets -- -D warnings -D missing-docs | |
- name: Run clippy for wasm32 | |
run: cargo clippy --all --all-targets --target=wasm32-unknown-unknown -- -D warnings -D missing-docs | |
docs: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v1 | |
- name: Install toolchain | |
uses: dtolnay/rust-toolchain@nightly | |
- name: Install Protoc | |
uses: arduino/setup-protoc@v2 | |
with: | |
version: "23.3" | |
repo-token: ${{ secrets.GITHUB_TOKEN }} | |
- name: Run rustdoc check | |
env: | |
RUSTDOCFLAGS: --cfg docs_rs -D warnings | |
run: cargo +nightly doc | |
fmt: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v1 | |
- name: Run fmt | |
run: cargo fmt -- --check | |
test-wasm: | |
runs-on: ubuntu-latest | |
env: | |
WASM_BINDGEN_TEST_TIMEOUT: 60 | |
steps: | |
- uses: actions/checkout@v1 | |
- name: Install Protoc | |
uses: arduino/setup-protoc@v2 | |
with: | |
version: "23.3" | |
repo-token: ${{ secrets.GITHUB_TOKEN }} | |
- name: Install Rust | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
target: wasm32-unknown-unknown | |
- name: Install wasm-pack | |
uses: taiki-e/cache-cargo-install-action@v1 | |
with: | |
tool: [email protected] | |
- name: Install chromedriver # we don't specify chrome version to match whatever's installed | |
uses: nanasess/setup-chromedriver@v2 | |
- name: Build (wasm32-unknown-unknown) | |
run: cargo build --all --target=wasm32-unknown-unknown --all-features | |
- name: Test proto crate | |
run: wasm-pack test --node proto | |
- name: Test types crate | |
run: wasm-pack test --node types --features=wasm-bindgen | |
- name: Test node crate | |
run: wasm-pack test --headless --chrome node | |
- name: Test node-wasm crate | |
run: wasm-pack test --headless --chrome node-wasm | |
- name: Build and pack node-wasm | |
run: wasm-pack build --release --target web node-wasm && wasm-pack pack node-wasm | |
test: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v1 | |
- name: Set up cargo cache | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~/.cargo/bin/ | |
~/.cargo/registry/index/ | |
~/.cargo/registry/cache/ | |
~/.cargo/git/db/ | |
target/ | |
key: cargo-${{ hashFiles('**/Cargo.lock') }} | |
restore-keys: | |
cargo-${{ hashFiles('**/Cargo.lock') }} | |
cargo- | |
- name: Install Protoc | |
uses: arduino/setup-protoc@v2 | |
with: | |
version: "23.3" | |
repo-token: ${{ secrets.GITHUB_TOKEN }} | |
- name: Install Rust | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
target: wasm32-unknown-unknown | |
- name: Install wasm-pack | |
uses: taiki-e/cache-cargo-install-action@v1 | |
with: | |
tool: [email protected] | |
- name: Install chromedriver # we don't specify chrome version to match whatever's installed | |
uses: nanasess/setup-chromedriver@v2 | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v2 | |
# needed for the buildx in order to access gha cache | |
# https://github.com/docker/bake-action/issues/36#issuecomment-1103961612 | |
- name: Expose github actions runtime | |
uses: crazy-max/ghaction-github-runtime@v1 | |
- name: Build the docker-compose stack | |
run: | | |
cat > ci/cache.json <<EOF | |
{ | |
"target": { | |
"validator": { | |
"cache-from": ["type=gha,scope=validator"], | |
"cache-to": ["type=gha,mode=max,scope=validator"], | |
"output": ["type=docker"] | |
}, | |
"bridge-0": { | |
"cache-from": ["type=gha,scope=bridge-0"], | |
"cache-to": ["type=gha,mode=max,scope=bridge-0"], | |
"output": ["type=docker"] | |
}, | |
"bridge-1": { | |
"cache-from": ["type=gha,scope=bridge-1"], | |
"cache-to": ["type=gha,mode=max,scope=bridge-1"], | |
"output": ["type=docker"] | |
} | |
} | |
} | |
EOF | |
cd ci && docker buildx bake --file docker-compose.yml --file cache.json --load | |
- name: Run the docker-compose stack | |
run: docker compose -f ci/docker-compose.yml up --no-build -d | |
- name: Wait for bridge node to start | |
run: | | |
docker compose -f ci/docker-compose.yml logs -f | | |
awk '/Configuration finished. Running a bridge node/ {print;exit}' | |
- name: Generate auth tokens | |
run: ./tools/gen_auth_tokens.sh | |
- name: Run tests | |
run: cargo test | |
- name: Run rpc wasm test | |
run: wasm-pack test --headless --chrome rpc --features=wasm-bindgen | |
unused-deps: | |
runs-on: ubuntu-latest | |
name: unused dependencies | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v3 | |
- name: Install Protoc | |
uses: arduino/setup-protoc@v2 | |
with: | |
version: "23.3" | |
repo-token: ${{ secrets.GITHUB_TOKEN }} | |
- name: Install toolchain | |
uses: dtolnay/rust-toolchain@nightly | |
- name: Install cargo-udeps | |
uses: taiki-e/cache-cargo-install-action@v1 | |
with: | |
tool: [email protected] | |
- name: Check for unused dependencies | |
run: cargo +nightly udeps --all-features --all-targets |