diff --git a/.github/workflows/on-pull-request.yml b/.github/workflows/on-pull-request.yml new file mode 100644 index 0000000..43da5a7 --- /dev/null +++ b/.github/workflows/on-pull-request.yml @@ -0,0 +1,77 @@ +name: Build and Test + +on: + push: + branches: [main, next] + pull_request: + branches: ["*"] + +jobs: + build: + name: Build + runs-on: ubuntu-latest + + steps: + - name: Checkout sources + uses: actions/checkout@v3 + + - name: Install toolchain + uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: stable + override: true + + - name: Check + uses: actions-rs/cargo@v1 + with: + command: check + + - name: Build + uses: actions-rs/cargo@v1 + with: + command: build + test: + name: Test + runs-on: ubuntu-latest + + steps: + - name: Checkout sources + uses: actions/checkout@v3 + + - name: Install toolchain + uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: stable + override: true + components: rustfmt + + - name: Add cargo-expand + run: cargo install cargo-expand + + - name: Test + uses: actions-rs/cargo@v1 + with: + command: test + lint: + name: Lint + runs-on: ubuntu-latest + + steps: + - name: Checkout sources + uses: actions/checkout@v3 + + - name: Install toolchain + uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: stable + override: true + components: rustfmt, clippy + + - name: Cargo fmt + uses: actions-rs/cargo@v1 + with: + command: fmt + args: --all -- --check