Skip to content

Better validation #3057

Better validation

Better validation #3057

name: framework-check
permissions:
contents: read
on:
push:
branches: [main]
paths:
- "framework/**"
pull_request:
paths:
- "framework/**"
env:
SCCACHE_GHA_ENABLED: "true"
RUSTC_WRAPPER: "sccache"
jobs:
fmt:
runs-on: ubuntu-latest
name: stable / fmt
steps:
- uses: actions/checkout@v3
with:
submodules: true
- uses: webfactory/[email protected]
with:
ssh-private-key: |
${{ secrets.SSH_PRIVATE_KEY_MULTI_TEST }}
${{ secrets.SSH_PRIVATE_KEY_CW_ORCH_INTERCHAIN }}
- name: Install stable
uses: dtolnay/rust-toolchain@stable
with:
components: rustfmt
- name: cargo fmt --check
working-directory: ./framework
run: cargo fmt --check
clippy:
runs-on: ubuntu-latest
name: ${{ matrix.toolchain }} / clippy
permissions:
contents: read
checks: write
strategy:
fail-fast: false
matrix:
toolchain: [stable]
steps:
- uses: actions/checkout@v3
with:
submodules: true
- uses: webfactory/[email protected]
with:
ssh-private-key: |
${{ secrets.SSH_PRIVATE_KEY_MULTI_TEST }}
${{ secrets.SSH_PRIVATE_KEY_CW_ORCH_INTERCHAIN }}
- name: Setup sccache
uses: mozilla-actions/[email protected]
with:
version: "v0.8.1"
- name: Install ${{ matrix.toolchain }}
uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.toolchain }}
components: clippy
- uses: Swatinem/rust-cache@v2
with:
workspaces: "framework -> target"
- name: cargo clippy
working-directory: ./framework
run: cargo clippy --all-targets --all-features -- -D warnings
doc:
runs-on: ubuntu-latest
name: nightly / doc
steps:
- uses: actions/checkout@v3
with:
submodules: true
- uses: webfactory/[email protected]
with:
ssh-private-key: |
${{ secrets.SSH_PRIVATE_KEY_MULTI_TEST }}
${{ secrets.SSH_PRIVATE_KEY_CW_ORCH_INTERCHAIN }}
- name: Setup sccache
uses: mozilla-actions/[email protected]
with:
version: "v0.8.1"
- name: Install nightly
uses: dtolnay/rust-toolchain@nightly
- name: cargo doc
working-directory: ./framework
run: cargo doc --no-deps --all-features
env:
RUSTDOCFLAGS: --cfg docsrs
hack:
runs-on: ubuntu-latest
name: ubuntu / stable / features
steps:
- uses: actions/checkout@v3
with:
submodules: true
- uses: webfactory/[email protected]
with:
ssh-private-key: |
${{ secrets.SSH_PRIVATE_KEY_MULTI_TEST }}
${{ secrets.SSH_PRIVATE_KEY_CW_ORCH_INTERCHAIN }}
- name: Setup sccache
uses: mozilla-actions/[email protected]
with:
version: "v0.8.1"
- name: Install stable
uses: dtolnay/rust-toolchain@stable
- name: cargo install cargo-hack
uses: taiki-e/install-action@cargo-hack
- uses: Swatinem/rust-cache@v2
with:
workspaces: "framework -> target"
- name: cargo hack
working-directory: ./framework
run: cargo hack --feature-powerset check --lib --tests
# Find any unused dependencies
unused-deps:
runs-on: ubuntu-latest
name: stable / unused-deps
steps:
- uses: actions/checkout@v3
with:
submodules: true
- name: Setup sccache
uses: mozilla-actions/[email protected]
with:
version: "v0.8.1"
- name: Install stable
uses: dtolnay/rust-toolchain@master
with:
toolchain: stable
- name: Install cargo-machete
working-directory: ./framework
run: cargo install cargo-machete
- name: Install cargo-machete
working-directory: ./framework
run: cargo machete ./contracts/* ./packages/*