name: "Quaint: integration tests" on: push: branches: - main pull_request: paths: - "quaint/**" - "!.github/workflows/test-quaint.yml" jobs: tests: runs-on: ubuntu-latest strategy: fail-fast: false matrix: features: - "--lib --features=all-native" env: TEST_MYSQL: "mysql://root:prisma@localhost:3306/prisma" TEST_MYSQL8: "mysql://root:prisma@localhost:3307/prisma" TEST_MYSQL_MARIADB: "mysql://root:prisma@localhost:3308/prisma" TEST_PSQL: "postgres://postgres:prisma@localhost:5432/postgres" TEST_MSSQL: "jdbc:sqlserver://localhost:1433;database=master;user=SA;password=<YourStrong@Passw0rd>;trustServerCertificate=true;isolationLevel=READ UNCOMMITTED" TEST_CRDB: "postgresql://prisma@127.0.0.1:26259/postgres" steps: - uses: actions/checkout@v4 - uses: actions-rust-lang/setup-rust-toolchain@v1 - uses: actions/cache@v4 with: path: | ~/.cargo/registry ~/.cargo/git target key: ${{ runner.os }}-cargo-${{ matrix.features }} - name: Start Databases run: docker compose -f docker-compose.yml up -d working-directory: ./quaint - name: Sleep for 20s uses: juliangruber/sleep-action@v2 with: time: 20s - name: Run tests run: cargo test ${{ matrix.features }} working-directory: ./quaint