diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml new file mode 100644 index 0000000..d9ed761 --- /dev/null +++ b/.github/workflows/lint.yml @@ -0,0 +1,51 @@ +# This is a basic workflow to help you get started with Actions + +name: Linting + +# Controls when the workflow will run +on: + # Triggers the workflow on push or pull request events but only for the "main" branch + push: + branches: ["main"] + pull_request: + branches: ["main"] + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +# A workflow run is made up of one or more jobs that can run sequentially or in parallel +jobs: + lint: + name: "Lints" + runs-on: "ubuntu-latest" + steps: + - name: "Checkout source code" + uses: "actions/checkout@v3" + + - name: "Use Rust 1.71.0" + uses: "actions-rs/toolchain@v1" + with: + toolchain: "1.71.0" + profile: "default" + override: true + + - name: "Use Rust cache" + uses: "Swatinem/rust-cache@v2" + with: + cache-on-failure: true + + - name: "Install prettier 2.8.8" + run: | + yarn global add prettier + + - name: "Check prettier format" + run: | + prettier --ignore-path .gitignore --check . + + - name: "Check Rust format" + run: | + cargo fmt --all -- --check + + - name: "Run Clippy lints" + run: | + cargo clippy --all --all-targets