diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..d28f7d9 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,53 @@ +name: Rust + +on: + push: + branches: + - main + pull_request: + +jobs: + lint: + name: Lint + runs-on: ubuntu-latest + steps: + - name: Setup | Checkout + uses: actions/checkout@v2 + - name: Setup | Rust + uses: ATiltedTree/setup-rust@v1 + with: + rust-version: stable + components: clippy + - name: Build | Lint + run: cargo clippy + compile: + name: Compile + runs-on: ubuntu-latest + steps: + - name: Setup | Checkout + uses: actions/checkout@v2 + - name: Setup | Rust + uses: ATiltedTree/setup-rust@v1 + with: + rust-version: stable + - name: Build | Compile + run: cargo check + test: + name: Test + strategy: + matrix: + rust: + - stable + - beta + - nightly + runs-on: ubuntu-latest + needs: [compile] + steps: + - name: Setup | Checkout + uses: actions/checkout@v2 + - name: Setup | Rust + uses: ATiltedTree/setup-rust@v1 + with: + rust-version: ${{ matrix.rust }} + - name: Build | Compile + run: cargo test