name: Check MSRV

on:
  push:
    branches:
      - v1
      - v2
    paths:
      - ".github/workflows/msrv-check.yml"
      - "plugins/*/src/**"
      - "**/Cargo.toml"
      - "**/Cargo.lock"
  pull_request:
    branches:
      - v1
      - v2
    paths:
      - ".github/workflows/msrv-check.yml"
      - "plugins/*/src/**"
      - "**/Cargo.toml"
      - "**/Cargo.lock"

concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: true

jobs:
  msrv:
    runs-on: ubuntu-22.04
    strategy:
      fail-fast: false

    steps:
      - uses: actions/checkout@v3

      - name: install webkit2gtk
        run: |
          sudo apt-get update
          sudo apt-get install -y libwebkit2gtk-4.0-dev libwebkit2gtk-4.1-dev

      - uses: dtolnay/rust-toolchain@1.67.0

      - uses: Swatinem/rust-cache@v2

      - name: build
        run: cargo build --workspace --exclude 'tauri-plugin-sql' --all-targets --all-features

      - uses: dtolnay/rust-toolchain@1.80.1

      - name: build sql:sqlite
        run: cargo build --package 'tauri-plugin-sql' --all-targets --features sqlite

      - name: build sql:mysql
        run: cargo build --package 'tauri-plugin-sql' --all-targets --features mysql

      - name: build sql:postgres
        run: cargo build --package 'tauri-plugin-sql' --all-targets --features postgres
