on: push: branches: - master paths-ignore: - '**.md' - '!.github/workflows/*.yml' - '!multiplier/src/**' - '!private-settlement/src/**' - '!rln-wasm/**' - '!rln/src/**' - '!rln/resources/**' - '!semaphore/src/**' - '!utils/src/**' pull_request: paths-ignore: - '**.md' - '!.github/workflows/*.yml' - '!multiplier/src/**' - '!private-settlement/src/**' - '!rln-wasm/**' - '!rln/src/**' - '!rln/resources/**' - '!semaphore/src/**' - '!utils/src/**' name: Tests jobs: multiplier: strategy: matrix: platform: [ubuntu-latest, macos-latest] runs-on: ${{ matrix.platform }} timeout-minutes: 60 name: multiplier - ${{ matrix.platform }} steps: - name: Checkout sources uses: actions/checkout@v2 - name: Install stable toolchain uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: stable override: true - uses: Swatinem/rust-cache@v2 - name: Install dependencies run: make installdeps - name: cargo-make test run: | cargo make test --release working-directory: multiplier semaphore: strategy: matrix: platform: [ubuntu-latest, macos-latest] runs-on: ${{ matrix.platform }} timeout-minutes: 60 name: semaphore - ${{ matrix.platform }} steps: - name: Checkout sources uses: actions/checkout@v2 - name: Install stable toolchain uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: stable override: true - uses: Swatinem/rust-cache@v2 - name: Install Dependencies run: make installdeps - name: cargo-make test run: | cargo make test --release working-directory: semaphore rln-wasm: strategy: matrix: platform: [ubuntu-latest, macos-latest] runs-on: ${{ matrix.platform }} timeout-minutes: 60 name: rln-wasm - ${{ matrix.platform }} steps: - uses: actions/checkout@v2 - name: Install stable toolchain uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: stable override: true - uses: Swatinem/rust-cache@v2 - name: Install Dependencies run: make installdeps - name: Install wasm-pack uses: jetli/wasm-pack-action@v0.3.0 - run: cargo make build working-directory: rln-wasm - run: cargo make test --release working-directory: rln-wasm rln: strategy: matrix: platform: [ubuntu-latest, macos-latest] runs-on: ${{ matrix.platform }} timeout-minutes: 60 name: rln - ${{ matrix.platform }} steps: - name: Checkout sources uses: actions/checkout@v2 - name: Install stable toolchain uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: stable override: true - uses: Swatinem/rust-cache@v2 - name: Install Dependencies run: make installdeps - name: cargo-make test run: | cargo make test --release working-directory: rln utils: strategy: matrix: platform: [ubuntu-latest, macos-latest] runs-on: ${{ matrix.platform }} timeout-minutes: 60 name: utils - ${{ matrix.platform }} steps: - name: Checkout sources uses: actions/checkout@v2 - name: Install stable toolchain uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: stable override: true - uses: Swatinem/rust-cache@v2 - name: Install Dependencies run: make installdeps - name: cargo-make test run: | cargo make test --release working-directory: utils lint: strategy: matrix: # we run lint tests only on ubuntu platform: [ubuntu-latest] runs-on: ${{ matrix.platform }} timeout-minutes: 60 name: lint - ${{ matrix.platform }} steps: - name: Checkout sources uses: actions/checkout@v2 - name: Install stable toolchain uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: stable override: true components: rustfmt, clippy - uses: Swatinem/rust-cache@v2 - name: Install Dependencies run: make installdeps - name: cargo fmt if: success() || failure() run: cargo fmt --all -- --check - name: multiplier - cargo clippy if: success() || failure() run: | cargo clippy --release -- -D warnings working-directory: multiplier - name: semaphore - cargo clippy if: success() || failure() run: | cargo clippy --release -- -D warnings working-directory: semaphore - name: rln - cargo clippy if: success() || failure() run: | cargo clippy --release -- -D warnings working-directory: rln - name: utils - cargo clippy if: success() || failure() run: | cargo clippy --release -- -D warnings working-directory: utils # We skip clippy on rln-wasm, since wasm target is managed by cargo make # Currently not treating warnings as error, too noisy # -- -D warnings