sqlx 0.1.4

🧰 The Rust SQL Toolkit.
Documentation
name: MariaDB

on:
  pull_request:
  push:
    branches:
      - master

jobs:
  mariadb:

    runs-on: ubuntu-latest

    strategy:
      matrix:
        mariadb: [10.1.43, 10.4.11]

    services:
      mariadb:
        image: mariadb:${{ matrix.mariadb }}
        env:
          MYSQL_ROOT_PASSWORD: password
          MYSQL_DATABASE: sqlx
        ports:
        # will assign a random free host port
        - 3306/tcp
        # needed because the container does not provide a healthcheck
        options: --health-cmd "mysqladmin ping --silent" --health-interval 30s --health-timeout 30s --health-retries 10

    steps:
    - uses: actions/checkout@v1

    # Rust ------------------------------------------------

    - name: Install Rust toolchain
      uses: actions-rs/toolchain@v1
      if: steps.cache_rust.outputs.cache-hit != 'true'
      with:
        toolchain: stable
        profile: minimal
        override: true

    - name: Cache target/
      uses: actions/cache@v1
      with:
        path: target
        key: ${{ runner.os }}-cargo-build-target-mariadb-${{ hashFiles('**/Cargo.lock') }}

    # -----------------------------------------------------

    - run: cargo test -p sqlx --no-default-features --features 'mysql macros chrono'
      env:
        DATABASE_URL: mariadb://root:password@localhost:${{ job.services.mariadb.ports[3306] }}/sqlx

    # Rust ------------------------------------------------

    - name: Prepare build directory for cache
      run: |
        find ./target/debug -maxdepth 1 -type f -delete \
        && rm -fr ./target/debug/{deps,.fingerprint}/*sqlx* \
        && rm -f  ./target/.rustc_info.json

    # -----------------------------------------------------