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/[email protected]
uses: actions-rs/[email protected]
with:
profile: minimal
toolchain: stable
override: true
components: clippy, rustfmt
uses: Swatinem/[email protected]
uses: actions-rs/[email protected]
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/[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]
uses: actions-rs/[email protected]
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/[email protected]
- 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/[email protected]
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
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/[email protected]
with:
fetch-depth: 0
ref: "gh-pages"
- name: Install Rust nightly toolchain
uses: actions-rs/[email protected]
with:
profile: minimal
toolchain: nightly
override: true
- name: Rust Cache
uses: Swatinem/[email protected]
- 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