WIP: refactor: migrate to native async trait #3641
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: Continuous integration | |
on: | |
push: | |
branches: | |
- master | |
tags: | |
- v* | |
paths-ignore: | |
- 'README.md' | |
pull_request: | |
branches: | |
- master | |
env: | |
CARGO_TERM_COLOR: always | |
# Download a RPC server to run wasm tests against. | |
SUBSTRATE_URL: https://releases.parity.io/substrate/x86_64-debian:stretch/latest/substrate/substrate | |
jobs: | |
check-style: | |
name: Check style | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/[email protected] | |
- name: Install Rust stable toolchain | |
uses: actions-rs/[email protected] | |
with: | |
profile: minimal | |
toolchain: stable | |
override: true | |
components: clippy, rustfmt | |
- name: Rust Cache | |
uses: Swatinem/[email protected] | |
- name: Cargo fmt | |
uses: actions-rs/[email protected] | |
with: | |
command: fmt | |
args: --all -- --check | |
- name: Check clippy | |
uses: actions-rs/clippy-check@v1 | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
args: --all-features | |
check-docs: | |
name: Check rustdoc | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/[email protected] | |
- name: Install Rust nightly toolchain | |
uses: actions-rs/[email protected] | |
with: | |
profile: minimal | |
toolchain: nightly | |
override: true | |
- name: Check rustdoc | |
run: RUSTDOCFLAGS="--cfg docsrs --deny rustdoc::broken_intra_doc_links" cargo doc --verbose --workspace --no-deps --document-private-items --all-features | |
check-code: | |
name: Check | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/[email protected] | |
- name: Install Rust stable toolchain | |
uses: actions-rs/[email protected] | |
with: | |
profile: minimal | |
toolchain: stable | |
override: true | |
- name: Install cargo-hack | |
uses: baptiste0928/cargo-install@v2 | |
with: | |
crate: cargo-hack | |
version: 0.5 | |
- name: Install cargo-machete | |
uses: baptiste0928/cargo-install@v2 | |
with: | |
crate: cargo-machete | |
version: 0.5 | |
- name: Rust Cache | |
uses: Swatinem/[email protected] | |
- name: Cargo check all targets and features | |
run: cargo hack check --workspace --each-feature --all-targets | |
- name: Check unused dependencies | |
run: cargo machete | |
tests_ubuntu: | |
name: Run tests Ubuntu | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout sources | |
uses: actions/[email protected] | |
- name: Install Rust stable toolchain | |
uses: actions-rs/[email protected] | |
with: | |
profile: minimal | |
toolchain: stable | |
override: true | |
- name: Rust Cache | |
uses: Swatinem/[email protected] | |
- name: Cargo test | |
uses: actions-rs/[email protected] | |
with: | |
command: test | |
args: --workspace | |
tests_macos: | |
name: Run tests macos | |
runs-on: macos-latest | |
steps: | |
- name: Checkout sources | |
uses: actions/[email protected] | |
- name: Install Rust stable toolchain | |
uses: actions-rs/[email protected] | |
with: | |
profile: minimal | |
toolchain: stable | |
override: true | |
- name: Rust Cache | |
uses: Swatinem/[email protected] | |
- name: Cargo test | |
uses: actions-rs/[email protected] | |
with: | |
command: test | |
args: --workspace | |
tests_windows: | |
name: Run tests Windows | |
runs-on: windows-latest | |
steps: | |
- name: Checkout sources | |
uses: actions/[email protected] | |
- name: Install Rust stable toolchain | |
uses: actions-rs/[email protected] | |
with: | |
profile: minimal | |
toolchain: stable | |
override: true | |
- name: Rust Cache | |
uses: Swatinem/[email protected] | |
- name: Cargo test | |
uses: actions-rs/[email protected] | |
with: | |
command: test | |
args: --workspace | |
wasm_tests: | |
name: Test wasm | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/[email protected] | |
- name: Install wasm-pack | |
run: curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh | |
- name: Install firefox | |
uses: browser-actions/setup-firefox@latest | |
- name: Install chrome | |
uses: browser-actions/setup-chrome@latest | |
- name: Download Substrate | |
run: | | |
curl $SUBSTRATE_URL --output substrate --location | |
chmod +x substrate | |
mkdir -p ~/.local/bin | |
mv substrate ~/.local/bin | |
- name: Run WASM tests | |
run: | | |
substrate --dev --tmp > /dev/null 2>&1 & | |
wasm-pack test --headless --firefox | |
wasm-pack test --headless --chrome | |
pkill substrate | |
working-directory: tests/wasm-tests |