# This is a basic workflow to help you get started with Actions

name: Test with databases

# Controls when the workflow will run
on:
  # Allows you to run this workflow manually from the Actions tab
  workflow_dispatch:

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
  # This workflow contains a single job called "build"
  run_mt_with_db:
    strategy:
      matrix:
        MYSQL_VERSION: [5.7, 8.0]
    # The type of runner that the job will run on
    runs-on: ubuntu-latest

    # Steps represent a sequence of tasks that will be executed as part of the job
    steps:
      - name: Setup MySQL Tuner repository
        uses: actions/checkout@v4

      - name: Set up MySQL
        uses: mirromutth/mysql-action@v1.1
        with:
          mysql root password: "root"
          mysql version: "${{ matrix.MYSQL_VERSION }}"

      - name: Injecting credentials
        run: |
          echo -e "[client]\nuser=root\npassword=root\nhost=127.0.0.1\nprotocol=TCP" > $HOME/.my.cnf

      - name: Cloning test_db dataset
        run: |
          git clone https://github.com/datacharmer/test_db.git

      - name: Injecting test_db dataset
        run: |
          sleep 5s
          cd test_db
          netstat -ltpn
          mysql -e 'select version();'
          mysql -e 'CREATE DATABASE data;'
          mysql data< ./employees.sql
          cd -
          rm -rf test_db

      # Runs a single command using the runners shell
      - name: Run help mode
        run: perl ./mysqltuner.pl --help

      # Runs a single command using the runners shell
      - name: Run verbose mode
        run: sudo perl ./mysqltuner.pl --user=root --pass=root --protocol tcp --verbose
