MySQLTuner-perl/.github/workflows/generate_examples.yml
2023-03-23 14:22:40 +00:00

71 lines
No EOL
2.4 KiB
YAML

# This is a basic workflow to help you get started with Actions
name: Compile MT examples
# 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:
mysql_examples:
# This workflow contains a single job called "build"
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@v3
- 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: Test database is Up and Running
run: |
sleep 5s
sudo netstat -ltpn
mysql -e 'select version();'
- name: Injecting test_db dataset
run: |
cd test_db
mysql -e 'CREATE DATABASE data;'
mysql data< ./employees.sql
cd -
rm -rf test_db
# Runs a single command using the runners shell
- name: Run verbose mode with dumpdir result
run: |
mkdir -p ./examples/github/result/mysql/${{ matrix.MYSQL_VERSION }}
sudo perl ./mysqltuner.pl --user=root --pass=root --protocol tcp --verbose --dumpdir=./examples/github/result/mysql/${{ matrix.MYSQL_VERSION }} --json | tee -a ./examples/github/result/mysql/${{ matrix.MYSQL_VERSION }}/result.json
- name: Adding examples to Git
run: |
git add ./examples/github/result/mysql/${{ matrix.MYSQL_VERSION }}/*
sleep $[ ( $RANDOM % 10 ) + 1 ]s
- name: Run the Action
uses: devops-infra/action-commit-push@master
with:
github_token: "${{ secrets.GITHUB_TOKEN }}"
add_timestamp: false
commit_prefix: "[AUTO]"
commit_message: "Updates result examples (via Actions)"
force: false
target_branch: master