Skip to content

Commit

Permalink
Cargo workflow (#21)
Browse files Browse the repository at this point in the history
  • Loading branch information
ozgunozerk authored Nov 27, 2023
1 parent 4124261 commit 57f9353
Show file tree
Hide file tree
Showing 8 changed files with 102 additions and 8 deletions.
70 changes: 70 additions & 0 deletions .github/workflows/ci-tests.yml
Original file line number Diff line number Diff line change
@@ -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"
5 changes: 4 additions & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)

Expand Down
6 changes: 6 additions & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,9 @@ resolver = "2"

[profile.release]
panic = "unwind"


[workspace.lints.clippy]
type_complexity = "allow"
too_many_arguments = "allow"
large_enum_variant = "allow"
4 changes: 4 additions & 0 deletions node/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -91,3 +91,7 @@ try-runtime = [
"polkadot-cli/try-runtime",
"sp-runtime/try-runtime",
]


[lints]
workspace = true
5 changes: 2 additions & 3 deletions node/src/command.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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)?;
Expand Down
5 changes: 3 additions & 2 deletions runtime/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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 { .. })
}
}
}
}
Expand Down
4 changes: 4 additions & 0 deletions rust-toolchain.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
[toolchain]
channel = "nightly-2023-09-21"
targets = ["wasm32-unknown-unknown"]
components = ["rustfmt", "clippy"]
11 changes: 9 additions & 2 deletions rustfmt.toml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
format_code_in_doc_comments = true

format_macro_bodies = true
format_macro_matchers = true
format_strings = true
Expand All @@ -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

0 comments on commit 57f9353

Please sign in to comment.