mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-04-22 20:48:01 +00:00
4ca50ef844
* Add nightly check and use specific version (currently the same) in PR checks * wrong var name, whoops * Create GH issue if nightly run fails * need tokio feature for RpcClient; match dependency in root Cargo.toml. * Ensure substrate command is properly cleaned up in the event of a panic, to prevent blocking * increase retry limit again * fmt * Tweak text for nightly-run-failed issue template * Run nightly-CI every 5mins for testing * I clearly dont use cron enough * Put back cron timings to 8am daily * break a test * revert nightly workflow again (doesnt run off master) and testing rust workflow * more testing.. * undo testing things; seems to work * tidy up; substrate url at top of both CI files
162 lines
4.0 KiB
YAML
162 lines
4.0 KiB
YAML
name: Rust
|
|
|
|
on:
|
|
push:
|
|
# Run jobs when commits are pushed to
|
|
# master or release-like branches:
|
|
branches:
|
|
- master
|
|
pull_request:
|
|
# Run jobs for any external PR that wants
|
|
# to merge to master, too:
|
|
branches:
|
|
- master
|
|
|
|
env:
|
|
CARGO_TERM_COLOR: always
|
|
# TODO: Currently pointing at latest substrate; is there a suitable binary we can pin to here?
|
|
SUBSTRATE_URL: https://releases.parity.io/substrate/x86_64-debian:stretch/latest/substrate/substrate
|
|
|
|
jobs:
|
|
build:
|
|
name: Cargo check
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout sources
|
|
uses: actions/checkout@v2
|
|
|
|
- name: Download Substrate
|
|
run: |
|
|
curl $SUBSTRATE_URL --output substrate --location
|
|
chmod +x substrate
|
|
mkdir -p ~/.local/bin
|
|
mv substrate ~/.local/bin
|
|
|
|
- name: Install Rust stable toolchain
|
|
uses: actions-rs/toolchain@v1
|
|
with:
|
|
profile: minimal
|
|
toolchain: stable
|
|
override: true
|
|
|
|
- name: Rust Cache
|
|
uses: Swatinem/rust-cache@v1.3.0
|
|
|
|
- name: Build
|
|
uses: actions-rs/cargo@v1.0.3
|
|
with:
|
|
command: check
|
|
args: --all-targets --all-features --workspace
|
|
|
|
fmt:
|
|
name: Cargo fmt
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout sources
|
|
uses: actions/checkout@v2
|
|
|
|
- name: Install Rust nightly toolchain
|
|
uses: actions-rs/toolchain@v1
|
|
with:
|
|
profile: minimal
|
|
toolchain: nightly
|
|
override: true
|
|
components: rustfmt
|
|
|
|
- name: Rust Cache
|
|
uses: Swatinem/rust-cache@v1.3.0
|
|
|
|
- name: Cargo fmt
|
|
uses: actions-rs/cargo@v1.0.3
|
|
with:
|
|
command: fmt
|
|
args: --all -- --check
|
|
|
|
docs:
|
|
name: Check documentation
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout sources
|
|
uses: actions/checkout@v2
|
|
|
|
- name: Download Substrate
|
|
run: |
|
|
curl $SUBSTRATE_URL --output substrate --location
|
|
chmod +x substrate
|
|
mkdir -p ~/.local/bin
|
|
mv substrate ~/.local/bin
|
|
|
|
- name: Install Rust stable toolchain
|
|
uses: actions-rs/toolchain@v1
|
|
with:
|
|
profile: minimal
|
|
toolchain: stable
|
|
override: true
|
|
|
|
- name: Rust Cache
|
|
uses: Swatinem/rust-cache@v1.3.0
|
|
|
|
- name: Check internal documentation links
|
|
run: RUSTDOCFLAGS="--deny rustdoc::broken_intra_doc_links" cargo doc -vv --workspace --no-deps --document-private-items
|
|
|
|
tests:
|
|
name: Cargo test
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout sources
|
|
uses: actions/checkout@v2
|
|
|
|
- name: Download Substrate
|
|
run: |
|
|
curl $SUBSTRATE_URL --output substrate --location
|
|
chmod +x substrate
|
|
mkdir -p ~/.local/bin
|
|
mv substrate ~/.local/bin
|
|
|
|
- name: Install Rust stable toolchain
|
|
uses: actions-rs/toolchain@v1
|
|
with:
|
|
profile: minimal
|
|
toolchain: stable
|
|
override: true
|
|
|
|
- name: Rust Cache
|
|
uses: Swatinem/rust-cache@v1.3.0
|
|
|
|
- name: Cargo test
|
|
uses: actions-rs/cargo@v1.0.3
|
|
with:
|
|
command: test
|
|
args: --all-targets --workspace
|
|
|
|
clippy:
|
|
name: Cargo clippy
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout sources
|
|
uses: actions/checkout@v2
|
|
|
|
- name: Download Substrate
|
|
run: |
|
|
curl $SUBSTRATE_URL --output substrate --location
|
|
chmod +x substrate
|
|
mkdir -p ~/.local/bin
|
|
mv substrate ~/.local/bin
|
|
|
|
- name: Install Rust stable toolchain
|
|
uses: actions-rs/toolchain@v1
|
|
with:
|
|
profile: minimal
|
|
toolchain: stable
|
|
components: clippy
|
|
override: true
|
|
|
|
- name: Rust Cache
|
|
uses: Swatinem/rust-cache@v1.3.0
|
|
|
|
- name: Run clippy
|
|
uses: actions-rs/cargo@v1
|
|
with:
|
|
command: clippy
|
|
args: --all-targets -- -D warnings
|