environment:
  MYSQL_DATABASE: node_mysql
  MYSQL_HOST: localhost
  MYSQL_USER: root
  MYSQL_PASSWORD: Password12!
  MYSQL_PATH: C:\Program Files\MySQL\MySQL Server 5.7
  MYSQL_PORT: 3306

  matrix:
    - nodejs_version: "0.10"
    - nodejs_version: "0.12"
    - nodejs_version: "1.8"
    - nodejs_version: "2.5"
    - nodejs_version: "3.3"
    - nodejs_version: "4.9"
    - nodejs_version: "5.12"
    - nodejs_version: "6.17"
    - nodejs_version: "7.10"
    - nodejs_version: "8.17"
    - nodejs_version: "9.11"
    - nodejs_version: "10.24"
    - nodejs_version: "11.15"
    - nodejs_version: "12.22"
    - nodejs_version: "13.13"
    - nodejs_version: "14.18"
    - nodejs_version: "15.14"
    - nodejs_version: "16.13"
    - nodejs_version: "17.6"

services:
  - mysql

cache:
  - node_modules

install:
  - ps: >-
      try { Install-Product node $env:nodejs_version -ErrorAction Stop }
      catch { Update-NodeJsInstallation (Get-NodeJsLatestBuild $env:nodejs_version) }
  - npm config set shrinkwrap false
  - if "%nodejs_version%" equ "0.10" npm config set strict-ssl false
  - npm rm --silent --save-dev eslint
  - if exist node_modules npm prune
  - if exist node_modules npm rebuild
  - npm install

build: off

before_test:
  - SET PATH=%MYSQL_PATH%\bin;%PATH%
  - node tool/wait-mysql.js %MYSQL_PORT% %MYSQL_HOST%
  - mysqladmin --host=%MYSQL_HOST% --user=%MYSQL_USER% --password=%MYSQL_PASSWORD% create %MYSQL_DATABASE%

test_script:
  - mysql --version
  - node --version
  - npm --version
  - npm test

version: "{build}"
