From 2faee7501c2da77b715fab82cc3bdcdb5cdaa043 Mon Sep 17 00:00:00 2001 From: Beshoy Girgis Date: Sat, 5 Dec 2020 01:28:30 +0000 Subject: [PATCH 01/17] Authenticate with mysql in build --- .github/workflows/laravel.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/laravel.yml b/.github/workflows/laravel.yml index ecacd2714..6cffb1d0c 100644 --- a/.github/workflows/laravel.yml +++ b/.github/workflows/laravel.yml @@ -32,11 +32,11 @@ jobs: run: chmod -R 777 storage bootstrap/cache - name: Create Database run: | - mysql -u root -e "SET GLOBAL innodb_file_per_table = 1;" - mysql -u root -e "SET GLOBAL innodb_file_format = BARRACUDA;" - mysql -u root -e "SET GLOBAL innodb_large_prefix = 1;" - mysql -u root -e "CREATE DATABASE TEST;" - mysql -u root -e "GRANT ALL ON TEST.* TO 'TEST'@'localhost' IDENTIFIED BY 'TEST';" + mysql -h mysql -u root -e "SET GLOBAL innodb_file_per_table = 1;" + mysql -h mysql -u root -e "SET GLOBAL innodb_file_format = BARRACUDA;" + mysql -h mysql -u root -e "SET GLOBAL innodb_large_prefix = 1;" + mysql -h mysql -u root -e "CREATE DATABASE TEST;" + mysql -h mysql -u root -e "GRANT ALL ON TEST.* TO 'TEST'@'localhost' IDENTIFIED BY 'TEST';" if [[ -f /etc/mysql/my.cnf ]]; then sudo sed -i "s/\[mysqld\]/\[mysqld\]\ngroup_concat_max_len = 8192/" /etc/mysql/my.cnf; fi - name: Execute tests (Unit and Feature tests) via PHPUnit env: From 89f1971d52d8e90fcbeeab677af860a60e752d93 Mon Sep 17 00:00:00 2001 From: Beshoy Girgis Date: Sat, 5 Dec 2020 01:40:13 +0000 Subject: [PATCH 02/17] Map mysql port to host --- .github/workflows/laravel.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/laravel.yml b/.github/workflows/laravel.yml index 6cffb1d0c..118f8e852 100644 --- a/.github/workflows/laravel.yml +++ b/.github/workflows/laravel.yml @@ -17,9 +17,9 @@ jobs: MYSQL_ALLOW_EMPTY_PASSWORD: yes MYSQL_DATABASE: TEST ports: - - 3306 + - 3306:3306 options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 - + steps: - uses: actions/checkout@v2 - name: Copy .env From a4090cf7825f3e847e6877db93aee9efdfbcbe4a Mon Sep 17 00:00:00 2001 From: Beshoy Girgis Date: Sat, 5 Dec 2020 01:49:09 +0000 Subject: [PATCH 03/17] Add wait for mysql to start --- .github/workflows/laravel.yml | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/.github/workflows/laravel.yml b/.github/workflows/laravel.yml index 118f8e852..fae29578a 100644 --- a/.github/workflows/laravel.yml +++ b/.github/workflows/laravel.yml @@ -30,13 +30,18 @@ jobs: run: php artisan key:generate - name: Directory Permissions run: chmod -R 777 storage bootstrap/cache + - name: Verify MariaDB connection + run: | + while ! mysqladmin ping --silent; do + sleep 1 + done - name: Create Database run: | - mysql -h mysql -u root -e "SET GLOBAL innodb_file_per_table = 1;" - mysql -h mysql -u root -e "SET GLOBAL innodb_file_format = BARRACUDA;" - mysql -h mysql -u root -e "SET GLOBAL innodb_large_prefix = 1;" - mysql -h mysql -u root -e "CREATE DATABASE TEST;" - mysql -h mysql -u root -e "GRANT ALL ON TEST.* TO 'TEST'@'localhost' IDENTIFIED BY 'TEST';" + mysql -u root -e "SET GLOBAL innodb_file_per_table = 1;" + mysql -u root -e "SET GLOBAL innodb_file_format = BARRACUDA;" + mysql -u root -e "SET GLOBAL innodb_large_prefix = 1;" + mysql -u root -e "CREATE DATABASE TEST;" + mysql -u root -e "GRANT ALL ON TEST.* TO 'TEST'@'localhost' IDENTIFIED BY 'TEST';" if [[ -f /etc/mysql/my.cnf ]]; then sudo sed -i "s/\[mysqld\]/\[mysqld\]\ngroup_concat_max_len = 8192/" /etc/mysql/my.cnf; fi - name: Execute tests (Unit and Feature tests) via PHPUnit env: From 779357670e81f28092c4a943aad5728fe2695c44 Mon Sep 17 00:00:00 2001 From: Beshoy Girgis Date: Sat, 5 Dec 2020 04:06:55 +0000 Subject: [PATCH 04/17] Remove verify step as it's done in the healthcheck --- .github/workflows/laravel.yml | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/.github/workflows/laravel.yml b/.github/workflows/laravel.yml index fae29578a..29c8b15cb 100644 --- a/.github/workflows/laravel.yml +++ b/.github/workflows/laravel.yml @@ -30,18 +30,13 @@ jobs: run: php artisan key:generate - name: Directory Permissions run: chmod -R 777 storage bootstrap/cache - - name: Verify MariaDB connection - run: | - while ! mysqladmin ping --silent; do - sleep 1 - done - name: Create Database run: | - mysql -u root -e "SET GLOBAL innodb_file_per_table = 1;" - mysql -u root -e "SET GLOBAL innodb_file_format = BARRACUDA;" - mysql -u root -e "SET GLOBAL innodb_large_prefix = 1;" - mysql -u root -e "CREATE DATABASE TEST;" - mysql -u root -e "GRANT ALL ON TEST.* TO 'TEST'@'localhost' IDENTIFIED BY 'TEST';" + mysql -h 127.0.0.1 -u root -e "SET GLOBAL innodb_file_per_table = 1;" + mysql -h 127.0.0.1 -u root -e "SET GLOBAL innodb_file_format = BARRACUDA;" + mysql -h 127.0.0.1 -u root -e "SET GLOBAL innodb_large_prefix = 1;" + mysql -h 127.0.0.1 -u root -e "CREATE DATABASE TEST;" + mysql -h 127.0.0.1 -u root -e "GRANT ALL ON TEST.* TO 'TEST'@'localhost' IDENTIFIED BY 'TEST';" if [[ -f /etc/mysql/my.cnf ]]; then sudo sed -i "s/\[mysqld\]/\[mysqld\]\ngroup_concat_max_len = 8192/" /etc/mysql/my.cnf; fi - name: Execute tests (Unit and Feature tests) via PHPUnit env: From 551a2cbcaa8e2e8bb6e3b7603647a1dbd3f88ea8 Mon Sep 17 00:00:00 2001 From: Beshoy Girgis Date: Sat, 5 Dec 2020 04:17:27 +0000 Subject: [PATCH 05/17] Change version to match compose and check innodb_fast_shutdown --- .github/workflows/laravel.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/laravel.yml b/.github/workflows/laravel.yml index 29c8b15cb..f71922a48 100644 --- a/.github/workflows/laravel.yml +++ b/.github/workflows/laravel.yml @@ -12,7 +12,7 @@ jobs: runs-on: ubuntu-latest services: mysql: - image: mariadb:10.4 + image: mariadb:10 env: MYSQL_ALLOW_EMPTY_PASSWORD: yes MYSQL_DATABASE: TEST @@ -32,6 +32,7 @@ jobs: run: chmod -R 777 storage bootstrap/cache - name: Create Database run: | + mysql -h 127.0.0.1 -u root -e "show variables like 'innodb_fast_shutdown';" mysql -h 127.0.0.1 -u root -e "SET GLOBAL innodb_file_per_table = 1;" mysql -h 127.0.0.1 -u root -e "SET GLOBAL innodb_file_format = BARRACUDA;" mysql -h 127.0.0.1 -u root -e "SET GLOBAL innodb_large_prefix = 1;" From 2f6851f210e7493add48f2d281db452bf2c0b8eb Mon Sep 17 00:00:00 2001 From: Beshoy Girgis Date: Sat, 5 Dec 2020 04:22:54 +0000 Subject: [PATCH 06/17] Removing innodb_file_format as it's deprecated --- .github/workflows/laravel.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/laravel.yml b/.github/workflows/laravel.yml index f71922a48..3ab71565e 100644 --- a/.github/workflows/laravel.yml +++ b/.github/workflows/laravel.yml @@ -32,9 +32,7 @@ jobs: run: chmod -R 777 storage bootstrap/cache - name: Create Database run: | - mysql -h 127.0.0.1 -u root -e "show variables like 'innodb_fast_shutdown';" mysql -h 127.0.0.1 -u root -e "SET GLOBAL innodb_file_per_table = 1;" - mysql -h 127.0.0.1 -u root -e "SET GLOBAL innodb_file_format = BARRACUDA;" mysql -h 127.0.0.1 -u root -e "SET GLOBAL innodb_large_prefix = 1;" mysql -h 127.0.0.1 -u root -e "CREATE DATABASE TEST;" mysql -h 127.0.0.1 -u root -e "GRANT ALL ON TEST.* TO 'TEST'@'localhost' IDENTIFIED BY 'TEST';" From 9dc0dc67a82672792c1cd5d923d547b0fcc59403 Mon Sep 17 00:00:00 2001 From: Beshoy Girgis Date: Sat, 5 Dec 2020 04:26:38 +0000 Subject: [PATCH 07/17] Removing innodb_large_prefix because it's also deprecated --- .github/workflows/laravel.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/laravel.yml b/.github/workflows/laravel.yml index 3ab71565e..e44f2bec4 100644 --- a/.github/workflows/laravel.yml +++ b/.github/workflows/laravel.yml @@ -33,7 +33,6 @@ jobs: - name: Create Database run: | mysql -h 127.0.0.1 -u root -e "SET GLOBAL innodb_file_per_table = 1;" - mysql -h 127.0.0.1 -u root -e "SET GLOBAL innodb_large_prefix = 1;" mysql -h 127.0.0.1 -u root -e "CREATE DATABASE TEST;" mysql -h 127.0.0.1 -u root -e "GRANT ALL ON TEST.* TO 'TEST'@'localhost' IDENTIFIED BY 'TEST';" if [[ -f /etc/mysql/my.cnf ]]; then sudo sed -i "s/\[mysqld\]/\[mysqld\]\ngroup_concat_max_len = 8192/" /etc/mysql/my.cnf; fi From 72f019cad2bdda4a00df1b4053bed73657cc31f2 Mon Sep 17 00:00:00 2001 From: Beshoy Girgis Date: Sat, 5 Dec 2020 04:31:18 +0000 Subject: [PATCH 08/17] Mariadb creates the TEST table at startup --- .github/workflows/laravel.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/laravel.yml b/.github/workflows/laravel.yml index e44f2bec4..3bb3d535b 100644 --- a/.github/workflows/laravel.yml +++ b/.github/workflows/laravel.yml @@ -33,7 +33,6 @@ jobs: - name: Create Database run: | mysql -h 127.0.0.1 -u root -e "SET GLOBAL innodb_file_per_table = 1;" - mysql -h 127.0.0.1 -u root -e "CREATE DATABASE TEST;" mysql -h 127.0.0.1 -u root -e "GRANT ALL ON TEST.* TO 'TEST'@'localhost' IDENTIFIED BY 'TEST';" if [[ -f /etc/mysql/my.cnf ]]; then sudo sed -i "s/\[mysqld\]/\[mysqld\]\ngroup_concat_max_len = 8192/" /etc/mysql/my.cnf; fi - name: Execute tests (Unit and Feature tests) via PHPUnit From 78aed5645ace27badb8b46610f45738f4a72c5a6 Mon Sep 17 00:00:00 2001 From: Beshoy Girgis Date: Sat, 5 Dec 2020 04:36:37 +0000 Subject: [PATCH 09/17] Make missing directory --- .github/workflows/laravel.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/laravel.yml b/.github/workflows/laravel.yml index 3bb3d535b..a407c7993 100644 --- a/.github/workflows/laravel.yml +++ b/.github/workflows/laravel.yml @@ -39,4 +39,6 @@ jobs: env: DB_CONNECTION: mysql DB_DATABASE: TEST - run: vendor/bin/phpunit + run: | + mkdir -p /home/runner/work/newznab-tmux/newznab-tmux/./tests/Unit + vendor/bin/phpunit From 90047ca5ffab646de3bc8752d251fda9e00e58ef Mon Sep 17 00:00:00 2001 From: Beshoy Girgis Date: Sat, 5 Dec 2020 06:29:21 +0000 Subject: [PATCH 10/17] Use correct .env for tests --- .env.travis => .env.test | 2 +- .github/workflows/laravel.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) rename .env.travis => .env.test (96%) diff --git a/.env.travis b/.env.test similarity index 96% rename from .env.travis rename to .env.test index 20e87228b..46460a1a5 100644 --- a/.env.travis +++ b/.env.test @@ -1,5 +1,5 @@ DB_CONNECTION=mysql -DB_HOST = localhost +DB_HOST = 127.0.0.1 DB_PORT = 3306 DB_SOCKET = DB_USERNAME = TEST diff --git a/.github/workflows/laravel.yml b/.github/workflows/laravel.yml index a407c7993..151a0a405 100644 --- a/.github/workflows/laravel.yml +++ b/.github/workflows/laravel.yml @@ -23,7 +23,7 @@ jobs: steps: - uses: actions/checkout@v2 - name: Copy .env - run: php -r "file_exists('.env') || copy('.env.example', '.env');" + run: php -r "file_exists('.env') || copy('.env.test', '.env');" - name: Install Dependencies run: composer install -q --no-ansi --no-interaction --no-scripts --no-suggest --no-progress --prefer-dist - name: Generate key From 038638a12807f6f7b47093a2e1433633410e7bc8 Mon Sep 17 00:00:00 2001 From: Beshoy Girgis Date: Sat, 5 Dec 2020 06:32:48 +0000 Subject: [PATCH 11/17] Configure non root db user --- .github/workflows/laravel.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/laravel.yml b/.github/workflows/laravel.yml index 151a0a405..d8e7d7a63 100644 --- a/.github/workflows/laravel.yml +++ b/.github/workflows/laravel.yml @@ -16,6 +16,8 @@ jobs: env: MYSQL_ALLOW_EMPTY_PASSWORD: yes MYSQL_DATABASE: TEST + MYSQL_USER: TEST + MYSQL_PASSWORD: TEST ports: - 3306:3306 options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 From 02ef17f5baa897adb2a2e7d1501cf879aec12af3 Mon Sep 17 00:00:00 2001 From: Beshoy Girgis Date: Sat, 5 Dec 2020 06:37:18 +0000 Subject: [PATCH 12/17] Pre-create the build/logs directory --- .github/workflows/laravel.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/laravel.yml b/.github/workflows/laravel.yml index d8e7d7a63..1012c5ceb 100644 --- a/.github/workflows/laravel.yml +++ b/.github/workflows/laravel.yml @@ -42,5 +42,6 @@ jobs: DB_CONNECTION: mysql DB_DATABASE: TEST run: | - mkdir -p /home/runner/work/newznab-tmux/newznab-tmux/./tests/Unit + mkdir -p /home/runner/work/newznab-tmux/newznab-tmux/tests/Unit + mkdir -p /home/runner/work/newznab-tmux/newznab-tmux/build/logs vendor/bin/phpunit From 2e17734d4894908387f5ef5cbb77a820af646c94 Mon Sep 17 00:00:00 2001 From: Beshoy Girgis Date: Sat, 5 Dec 2020 06:41:19 +0000 Subject: [PATCH 13/17] Attempting to clean up directories --- .github/workflows/laravel.yml | 3 +-- phpunit.xml | 12 ++++++------ 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/.github/workflows/laravel.yml b/.github/workflows/laravel.yml index 1012c5ceb..514db9a8c 100644 --- a/.github/workflows/laravel.yml +++ b/.github/workflows/laravel.yml @@ -35,7 +35,6 @@ jobs: - name: Create Database run: | mysql -h 127.0.0.1 -u root -e "SET GLOBAL innodb_file_per_table = 1;" - mysql -h 127.0.0.1 -u root -e "GRANT ALL ON TEST.* TO 'TEST'@'localhost' IDENTIFIED BY 'TEST';" if [[ -f /etc/mysql/my.cnf ]]; then sudo sed -i "s/\[mysqld\]/\[mysqld\]\ngroup_concat_max_len = 8192/" /etc/mysql/my.cnf; fi - name: Execute tests (Unit and Feature tests) via PHPUnit env: @@ -43,5 +42,5 @@ jobs: DB_DATABASE: TEST run: | mkdir -p /home/runner/work/newznab-tmux/newznab-tmux/tests/Unit - mkdir -p /home/runner/work/newznab-tmux/newznab-tmux/build/logs + mkdir -p /home/runner/work/newznab-tmux/newznab-tmux/tests/build/logs vendor/bin/phpunit diff --git a/phpunit.xml b/phpunit.xml index ec2527f01..d35a5dec7 100644 --- a/phpunit.xml +++ b/phpunit.xml @@ -10,22 +10,22 @@ stopOnFailure="false"> - ./tests/Install + tests/Install - ./tests/Unit + tests/Unit - ./tests/Feature + tests/Feature - ./Blacklight - ./app + Blacklight + app @@ -37,6 +37,6 @@ - + From 36c1a1f2bfcd43d9c9893253584a4c0962ed4e25 Mon Sep 17 00:00:00 2001 From: Beshoy Girgis Date: Sat, 5 Dec 2020 06:50:12 +0000 Subject: [PATCH 14/17] Ensure telescope is not enabled --- .env.test | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.env.test b/.env.test index 46460a1a5..d7227b393 100644 --- a/.env.test +++ b/.env.test @@ -36,3 +36,5 @@ APP_ENV=local APP_DEBUG=true APP_URL= APP_KEY= + +TELESCOPE_ENABLED=false From 2dd7d609780151e92665b40d90b98826e76642c3 Mon Sep 17 00:00:00 2001 From: Beshoy Girgis Date: Thu, 31 Dec 2020 14:21:55 -0600 Subject: [PATCH 15/17] Let composer be verbose and remove deprecated option --- .github/workflows/laravel.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/laravel.yml b/.github/workflows/laravel.yml index 514db9a8c..7ba55c0e4 100644 --- a/.github/workflows/laravel.yml +++ b/.github/workflows/laravel.yml @@ -27,7 +27,7 @@ jobs: - name: Copy .env run: php -r "file_exists('.env') || copy('.env.test', '.env');" - name: Install Dependencies - run: composer install -q --no-ansi --no-interaction --no-scripts --no-suggest --no-progress --prefer-dist + run: composer install --no-ansi --no-interaction --no-scripts --no-progress --prefer-dist - name: Generate key run: php artisan key:generate - name: Directory Permissions From f19fcca611f39c74c7f21c07636a1eda0c1363d9 Mon Sep 17 00:00:00 2001 From: Beshoy Girgis Date: Thu, 31 Dec 2020 14:36:56 -0600 Subject: [PATCH 16/17] Cleanup build file and add php setup --- .github/workflows/laravel.yml | 47 +++++++++++++++++++++++------------ 1 file changed, 31 insertions(+), 16 deletions(-) diff --git a/.github/workflows/laravel.yml b/.github/workflows/laravel.yml index 7ba55c0e4..d5d59ac06 100644 --- a/.github/workflows/laravel.yml +++ b/.github/workflows/laravel.yml @@ -2,40 +2,55 @@ name: Laravel on: push: - branches: [ master, dev ] + branches: [master, dev] pull_request: - branches: [ master, dev ] + branches: [master, dev] jobs: laravel-tests: - runs-on: ubuntu-latest services: - mysql: - image: mariadb:10 - env: - MYSQL_ALLOW_EMPTY_PASSWORD: yes - MYSQL_DATABASE: TEST - MYSQL_USER: TEST - MYSQL_PASSWORD: TEST - ports: - - 3306:3306 - options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 + mysql: + image: mariadb:10 + env: + MYSQL_ALLOW_EMPTY_PASSWORD: yes + MYSQL_DATABASE: TEST + MYSQL_USER: TEST + MYSQL_PASSWORD: TEST + ports: + - 3306:3306 + options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 steps: + - name: Setup PHP + uses: shivammathur/setup-php@v2 + with: + php-version: '7.4' + extensions: gd, intl, memcached, sodium + composer: v2 + - uses: actions/checkout@v2 + - name: Copy .env - run: php -r "file_exists('.env') || copy('.env.test', '.env');" + run: cp .env.test .env + - name: Install Dependencies run: composer install --no-ansi --no-interaction --no-scripts --no-progress --prefer-dist + - name: Generate key run: php artisan key:generate + - name: Directory Permissions run: chmod -R 777 storage bootstrap/cache + - name: Create Database run: | - mysql -h 127.0.0.1 -u root -e "SET GLOBAL innodb_file_per_table = 1;" - if [[ -f /etc/mysql/my.cnf ]]; then sudo sed -i "s/\[mysqld\]/\[mysqld\]\ngroup_concat_max_len = 8192/" /etc/mysql/my.cnf; fi + mysql -h 127.0.0.1 -u root -e "SET GLOBAL innodb_file_per_table = 1;" + + if [[ -f /etc/mysql/my.cnf ]]; then + sudo sed -i "s/\[mysqld\]/\[mysqld\]\ngroup_concat_max_len = 8192/" /etc/mysql/my.cnf; + fi + - name: Execute tests (Unit and Feature tests) via PHPUnit env: DB_CONNECTION: mysql From 0b05f30491d5e76ac6aeb172aa39ee0cb7d3e246 Mon Sep 17 00:00:00 2001 From: Beshoy Girgis Date: Thu, 31 Dec 2020 14:44:27 -0600 Subject: [PATCH 17/17] Removing suspected unnecessary step --- .github/workflows/laravel.yml | 8 -------- 1 file changed, 8 deletions(-) diff --git a/.github/workflows/laravel.yml b/.github/workflows/laravel.yml index d5d59ac06..6e8a7ebbd 100644 --- a/.github/workflows/laravel.yml +++ b/.github/workflows/laravel.yml @@ -43,14 +43,6 @@ jobs: - name: Directory Permissions run: chmod -R 777 storage bootstrap/cache - - name: Create Database - run: | - mysql -h 127.0.0.1 -u root -e "SET GLOBAL innodb_file_per_table = 1;" - - if [[ -f /etc/mysql/my.cnf ]]; then - sudo sed -i "s/\[mysqld\]/\[mysqld\]\ngroup_concat_max_len = 8192/" /etc/mysql/my.cnf; - fi - - name: Execute tests (Unit and Feature tests) via PHPUnit env: DB_CONNECTION: mysql