mirror of
https://github.com/pezkuwichain/pezkuwi-runtime-templates.git
synced 2026-04-22 02:07:55 +00:00
Cargo workflow (#21)
This commit is contained in:
@@ -0,0 +1,70 @@
|
||||
name: "ci tests"
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
- plain-cumulus-template
|
||||
paths-ignore:
|
||||
- "**.md"
|
||||
pull_request:
|
||||
paths-ignore:
|
||||
- "**.md"
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
test-macos-and-windows:
|
||||
description: "run macOS and Windows tests"
|
||||
required: true
|
||||
default: false
|
||||
type: boolean
|
||||
|
||||
env:
|
||||
# Not needed in CI, should make things a bit faster
|
||||
CARGO_INCREMENTAL: 0
|
||||
CARGO_TERM_COLOR: always
|
||||
# Remove unnecessary WASM build artefacts
|
||||
WASM_BUILD_CLEAN_TARGET: 1
|
||||
|
||||
jobs:
|
||||
clippy-fmt-test:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os:
|
||||
- ubuntu-22.04
|
||||
- macos-12
|
||||
- windows-2022
|
||||
run-all:
|
||||
- ${{ inputs.test-macos-and-windows == true || github.ref == 'refs/heads/main' }}
|
||||
exclude: # exclude macos-12 and windows-2022 when the condition is false
|
||||
- run-all: false
|
||||
os: macos-12
|
||||
- run-all: false
|
||||
os: windows-2022
|
||||
|
||||
runs-on: ${{ matrix.os }}
|
||||
steps:
|
||||
- name: git checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Install Protoc
|
||||
uses: arduino/setup-protoc@9b1ee5b22b0a3f1feb8c2ff99b32c89b3c3191e9 # v2.0.0
|
||||
with:
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: install rust toolchain
|
||||
uses: actions-rust-lang/setup-rust-toolchain@v1
|
||||
|
||||
- name: cargo fmt
|
||||
run: cargo fmt --all -- --check
|
||||
|
||||
- name: cargo test --release --locked
|
||||
run: cargo test
|
||||
|
||||
- name: cargo clippy --release --locked
|
||||
run: cargo clippy --locked --all-targets -- -D warnings
|
||||
|
||||
- name: Check Documentation
|
||||
run: cargo doc --locked --all --no-deps
|
||||
env:
|
||||
RUSTDOCFLAGS: "-D rustdoc::broken-intra-doc-links -D rustdoc::private_intra_doc_links"
|
||||
+4
-1
@@ -10,7 +10,10 @@ Before starting development, please [create an issue](https://github.com/OpenZep
|
||||
|
||||
### Coding style
|
||||
|
||||
`rustfmt.toml`
|
||||
You can check out `[rustfmt.toml](https://github.com/OpenZeppelin/polkadot-runtime-template/blob/main/rustfmt.toml)`.
|
||||
|
||||
Also, we suggest enabling `format-on-save` feature of your code editor.
|
||||
|
||||
|
||||
## Creating Pull Requests (PRs)
|
||||
|
||||
|
||||
@@ -6,3 +6,9 @@ resolver = "2"
|
||||
|
||||
[profile.release]
|
||||
panic = "unwind"
|
||||
|
||||
|
||||
[workspace.lints.clippy]
|
||||
type_complexity = "allow"
|
||||
too_many_arguments = "allow"
|
||||
large_enum_variant = "allow"
|
||||
|
||||
@@ -91,3 +91,7 @@ try-runtime = [
|
||||
"polkadot-cli/try-runtime",
|
||||
"sp-runtime/try-runtime",
|
||||
]
|
||||
|
||||
|
||||
[lints]
|
||||
workspace = true
|
||||
|
||||
+2
-3
@@ -193,12 +193,11 @@ pub fn run() -> Result<()> {
|
||||
}),
|
||||
#[cfg(not(feature = "runtime-benchmarks"))]
|
||||
BenchmarkCmd::Storage(_) =>
|
||||
return Err(sc_cli::Error::Input(
|
||||
Err(sc_cli::Error::Input(
|
||||
"Compile with --features=runtime-benchmarks \
|
||||
to enable storage benchmarks."
|
||||
.into(),
|
||||
)
|
||||
.into()),
|
||||
)),
|
||||
#[cfg(feature = "runtime-benchmarks")]
|
||||
BenchmarkCmd::Storage(cmd) => runner.sync_run(|config| {
|
||||
let partials = new_partial(&config)?;
|
||||
|
||||
+3
-2
@@ -385,8 +385,9 @@ impl InstanceFilter<RuntimeCall> for ProxyType {
|
||||
RuntimeCall::Proxy(pallet_proxy::Call::reject_announcement { .. })
|
||||
| RuntimeCall::Multisig { .. }
|
||||
),
|
||||
ProxyType::Collator =>
|
||||
matches!(c, RuntimeCall::CollatorSelection { .. } | RuntimeCall::Multisig { .. }),
|
||||
ProxyType::Collator => {
|
||||
matches!(c, RuntimeCall::CollatorSelection { .. } | RuntimeCall::Multisig { .. })
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
[toolchain]
|
||||
channel = "nightly-2023-09-21"
|
||||
targets = ["wasm32-unknown-unknown"]
|
||||
components = ["rustfmt", "clippy"]
|
||||
+9
-2
@@ -1,4 +1,4 @@
|
||||
format_code_in_doc_comments = true
|
||||
|
||||
format_macro_bodies = true
|
||||
format_macro_matchers = true
|
||||
format_strings = true
|
||||
@@ -8,4 +8,11 @@ reorder_impl_items = true
|
||||
group_imports = "StdExternalCrate"
|
||||
use_field_init_shorthand = true
|
||||
use_small_heuristics = "Max"
|
||||
wrap_comments = true
|
||||
|
||||
# most of these are unstable, so we enable them
|
||||
unstable_features = true
|
||||
|
||||
|
||||
# wanted to enable below, but they are removing the documentation comments if there is an empty line in between
|
||||
# wrap_comments = true
|
||||
# format_code_in_doc_comments = true
|
||||
|
||||
Reference in New Issue
Block a user