73 lines
No EOL
2.5 KiB
YAML
73 lines
No EOL
2.5 KiB
YAML
# This is a basic workflow to help you get started with Actions
|
|
|
|
name: CI for MySQL Tuner
|
|
|
|
# Controls when the workflow will run
|
|
on:
|
|
# Triggers the workflow on push or pull request events but only for the master branch
|
|
push:
|
|
branches: [ master ]
|
|
pull_request:
|
|
branches: [ master ]
|
|
|
|
# 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"
|
|
build:
|
|
# 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:
|
|
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
|
- 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: "8.0"
|
|
- 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
|
|
|
|
# Runs a single command using the runners shell
|
|
- name: Run verbose mode with dumpdir result
|
|
run: |
|
|
mkdir -p ./examples/github/result
|
|
sudo perl ./mysqltuner.pl --user=root --pass=root --protocol tcp --verbose --dumpdir=./examples/github/result --json | tee -a ./examples/github/result/result.json
|
|
|
|
# Runs a single command using the runners shell
|
|
- name: Commit example result to repo
|
|
run: |
|
|
git config --global user.name "Jean-Marie Renouard"
|
|
git config --global user.email "jmrenouard@gmail.com"
|
|
git add .
|
|
git commit -m "Commit example result"
|
|
git push |