diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..6e46e6a --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,68 @@ +name: CI + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +jobs: + build-stable: + name: Rust Stable + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [macos-latest, ubuntu-latest, windows-latest] + steps: + - uses: actions/checkout@v2 + - name: Install stable toolchain + uses: actions-rs/toolchain@v1 + with: + toolchain: stable + override: true + - name: Build + run: cargo build --verbose + - name: Run tests + run: cargo test --verbose + - name: Build Docs + run: cargo doc + + build-beta: + name: Rust Beta + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [macos-latest, ubuntu-latest, windows-latest] + steps: + - uses: actions/checkout@v2 + - name: Install beta toolchain + uses: actions-rs/toolchain@v1 + with: + toolchain: beta + override: true + - name: Build + run: cargo build --verbose + - name: Run tests + run: cargo test --verbose + - name: Build Docs + run: cargo doc + + build-nightly: + name: Rust Nightly + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [macos-latest, ubuntu-latest, windows-latest] + steps: + - uses: actions/checkout@v2 + - name: Install nightly toolchain + uses: actions-rs/toolchain@v1 + with: + toolchain: nightly + override: true + - name: Build + run: cargo build --verbose + - name: Run tests + run: cargo test --verbose + - name: Build Docs + run: cargo doc \ No newline at end of file