name: Cross-platform build verification on: push: branches: - main pull_request: branches: - "*" jobs: build: strategy: fail-fast: false matrix: toolchain: - stable - 1.48.0 - beta pinning: [true, false] exclude: - toolchain: 1.48.0 pinning: false runs-on: ubuntu-latest steps: - name: Checkout source code uses: actions/checkout@v3 - name: Install Rust ${{ matrix.toolchain }} toolchain uses: actions-rs/toolchain@v1 with: toolchain: ${{ matrix.toolchain }} override: true profile: minimal - name: Pin dependencies if: ${{ matrix.pinning }} run: | cargo update -p tokio-postgres --precise "0.7.5" --verbose cargo update -p postgres-types --precise "0.2.3" --verbose cargo update -p tokio --precise "1.14.1" --verbose cargo update -p once_cell --precise "1.14.0" --verbose - name: Build on Rust ${{ matrix.toolchain }} run: | cargo build --verbose --color always