name: Main on: [push] jobs: build: strategy: matrix: os: - macos-latest - ubuntu-latest - windows-latest runs-on: ${{matrix.os}} steps: - uses: actions/checkout@v1 - name: Install uses: actions-rs/toolchain@v1 with: toolchain: stable profile: minimal components: clippy, rustfmt override: true - name: Version run: | rustup --version cargo --version cargo clippy --version - name: Build run: cargo build --all --verbose - name: Test run: cargo test --all --verbose - name: Clippy run: cargo clippy --all - name: Lint if: matrix.os != 'windows-latest' run: cargo run lint - name: Format run: cargo fmt --all -- --check - name: Completion Scripts if: matrix.os != 'windows-latest' run: | for script in completions/*; do shell=${script##*.} cargo run -- --completions $shell > $script done git diff --no-ext-diff --quiet --exit-code