From df27acab0b86a05880dad80f1766c1637bfd8589 Mon Sep 17 00:00:00 2001 From: Jean-Marie Renouard Date: Thu, 23 Mar 2023 16:14:13 +0000 Subject: [PATCH] feat: adding examples for MAriaDB --- .../workflows/generate_mariadb_examples.yml | 73 +++++++++++++++++++ .github/workflows/generate_mysql_examples.yml | 73 +++++++++++++++++++ 2 files changed, 146 insertions(+) create mode 100644 .github/workflows/generate_mariadb_examples.yml create mode 100644 .github/workflows/generate_mysql_examples.yml diff --git a/.github/workflows/generate_mariadb_examples.yml b/.github/workflows/generate_mariadb_examples.yml new file mode 100644 index 0000000..6af93ec --- /dev/null +++ b/.github/workflows/generate_mariadb_examples.yml @@ -0,0 +1,73 @@ +# This is a basic workflow to help you get started with Actions + +name: Compile MT examples for MariaDB + +# 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: + MARIADB_VERSION: [10.2, 10.3, 10.4, 10.5, 10.6, 10.7, 10.8, 10.9] + # 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: shogo82148/actions-setup-mysql@v1 + with: + root-password: "root" + mysql-version: "${{ matrix.MARIADB_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: Json Run verbose mode with dumpdir result + run: | + mkdir -p ./examples/github/result/mariadb/${{ matrix.MARIADB_VERSION }} + sudo perl ./mysqltuner.pl --user=root --pass=root --protocol tcp --verbose --dumpdir=./examples/github/result/mariadb/${{ matrix.MARIADB_VERSION }} --json | tee -a ./examples/github/result/mariadb/${{ matrix.MARIADB_VERSION }}/result.json + + - name: Standard Run verbose mode without dumpdir result + run: | + sudo perl ./mysqltuner.pl --user=root --pass=root --protocol tcp --verbose | tee -a ./examples/github/result/mariadb/${{ matrix.MARIADB_VERSION }}/result.txt + + - name: Adding examples to Git + run: | + git add ./examples/github/result/mariadb/${{ matrix.MARIADB_VERSION }}/* || true + + - name: Run the Action Commit + uses: devops-infra/action-commit-push@master + with: + github_token: "${{ secrets.GITHUB_TOKEN }}" + add_timestamp: true + commit_prefix: "[AUTO]" + commit_message: "Updates MariaDb result examples (via Actions)" + force: false + target_branch: examples-mysql-${{ matrix.MARIADB_VERSION }} \ No newline at end of file diff --git a/.github/workflows/generate_mysql_examples.yml b/.github/workflows/generate_mysql_examples.yml new file mode 100644 index 0000000..9811433 --- /dev/null +++ b/.github/workflows/generate_mysql_examples.yml @@ -0,0 +1,73 @@ +# This is a basic workflow to help you get started with Actions + +name: Compile MT examples For MySQL + +# 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: Json 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: Standard Run verbose mode without dumpdir result + run: | + sudo perl ./mysqltuner.pl --user=root --pass=root --protocol tcp --verbose | tee -a ./examples/github/result/mysql/${{ matrix.MYSQL_VERSION }}/result.txt + + - name: Adding examples to Git + run: | + git add ./examples/github/result/mysql/${{ matrix.MYSQL_VERSION }}/* || true + + - name: Run the Action Commit + uses: devops-infra/action-commit-push@master + with: + github_token: "${{ secrets.GITHUB_TOKEN }}" + add_timestamp: true + commit_prefix: "[AUTO]" + commit_message: "Updates MySQL result examples (via Actions)" + force: false + target_branch: examples-mysql-${{ matrix.MYSQL_VERSION }} \ No newline at end of file