Newer
Older
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/checkout@v3.1.0
uses: actions-rs/toolchain@v1.0.7
with:
profile: minimal
toolchain: stable
override: true
components: clippy, rustfmt
uses: Swatinem/rust-cache@v2.0.0
uses: actions-rs/cargo@v1.0.3
with:
command: fmt
args: --all -- --check
- name: Check clippy
uses: actions-rs/clippy-check@v1
token: ${{ secrets.GITHUB_TOKEN }}
args: --all-features
check-docs:
name: Check rustdoc
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3.1.0
- name: Install Rust nightly toolchain
uses: actions-rs/toolchain@v1.0.7
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/checkout@v3.1.0
uses: actions-rs/toolchain@v1.0.7
with:
profile: minimal
toolchain: stable
override: true
- name: Install cargo-hack
uses: baptiste0928/cargo-install@v1
with:
crate: cargo-hack
version: 0.5
uses: Swatinem/rust-cache@v2.0.0
- name: Cargo check all targets and features
run: cargo hack check --workspace --each-feature --all-targets
name: Run tests Ubuntu
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v3.1.0
uses: actions-rs/toolchain@v1.0.7
with:
profile: minimal
toolchain: stable
override: true
- name: Rust Cache
uses: Swatinem/rust-cache@v2.0.0
- name: Cargo test
uses: actions-rs/cargo@v1.0.3
with:
command: test
args: --workspace
tests_macos:
name: Run tests macos
runs-on: macos-latest
steps:
- name: Checkout sources
uses: actions/checkout@v3.1.0
- name: Install Rust stable toolchain
uses: actions-rs/toolchain@v1.0.7
with:
profile: minimal
toolchain: stable
override: true
- name: Rust Cache
uses: Swatinem/rust-cache@v2.0.0
- name: Cargo test
uses: actions-rs/cargo@v1.0.3
with:
command: test
args: --workspace
tests_windows:
name: Run tests Windows
runs-on: windows-latest
steps:
- name: Checkout sources
uses: actions/checkout@v3.1.0
- name: Install Rust stable toolchain
uses: actions-rs/toolchain@v1.0.7
with:
profile: minimal
toolchain: stable
override: true
- name: Rust Cache
uses: Swatinem/rust-cache@v2.0.0
- name: Cargo test
uses: actions-rs/cargo@v1.0.3
with:
command: test
args: --workspace
wasm_tests:
name: Test wasm
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3.1.0
- name: Install
run: curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh
- 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: wasm-tests
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
bench:
name: Benchmarks gitlab
runs-on: ubuntu-latest
steps:
- name: Checkout Sources
uses: actions/checkout@v3.1.0
with:
fetch-depth: 0
ref: "gh-pages"
- name: Install Rust nightly toolchain
uses: actions-rs/toolchain@v1.0.7
with:
profile: minimal
toolchain: nightly
override: true
- name: Rust Cache
uses: Swatinem/rust-cache@v2.0.0
- name: Show current working dir
id: step_one
run: |
echo $(pwd)
- name: Copy bench results
id: step_two
run: |
cp bench/$(date "+%d-%m-%Y")/output.txt output.txt
- name: Switch branch
id: step_three
run: |
git checkout master
- name: Store benchmark result
uses: rhysd/github-action-benchmark@v1
with:
tool: 'cargo'
output-file-path: "output.txt"
benchmark-data-dir-path: "bench/dev2"
fail-on-alert: true
github-token: ${{ secrets.GITHUB_TOKEN }}
comment-on-alert: true
alert-comment-cc-users: '@niklasad1'
auto-push: true