Always skip style check for dev:check ci (#12654)

* Always skip style check for dev:check ci

* fix names and mysql 8 was barely being tested

* fix sql mode test

* safer vendor check

* flubbed the regex

* ...

* Mysql 8 fixes

Co-authored-by: Jellyfrog <Jellyfrog@users.noreply.github.com>
This commit is contained in:
Tony Murray
2021-03-28 16:55:41 -05:00
committed by GitHub
parent c0e144295b
commit 1695f86af8
4 changed files with 17 additions and 13 deletions

View File

@@ -28,29 +28,26 @@ jobs:
-
php-version: 8.0
name: Unit
skip-style-check: 1
skip-web-check: 1
database: mariadb:10.5
-
php-version: 8.0
name: Style and Web
name: Web
skip-unit-check: 1
database: mysql:5.7
-
php-version: 7.4
name: Unit
skip-style-check: 1
skip-web-check: 1
database: mysql:5.7
-
php-version: 7.3
name: Unit
skip-style-check: 1
skip-web-check: 1
database: mysql:5.7
database: mysql:8.0
-
php-version: 7.3
name: Style and Web
name: Web
skip-unit-check: 1
database: mysql:8.0
services:
@@ -187,7 +184,6 @@ jobs:
run: |
php lnms dev:check ci
env:
SKIP_STYLE_CHECK: ${{ matrix.skip-style-check }}
SKIP_UNIT_CHECK: ${{ matrix.skip-unit-check }}
SKIP_WEB_CHECK: ${{ matrix.skip-web-check }}
-

View File

@@ -328,7 +328,7 @@ class Schema
foreach (DB::connection($connection)->select(DB::raw("SELECT TABLE_NAME FROM information_schema.TABLES WHERE TABLE_SCHEMA = '$db_name' ORDER BY TABLE_NAME;")) as $table) {
$table = $table->TABLE_NAME;
foreach (DB::connection($connection)->select(DB::raw("SELECT COLUMN_NAME, COLUMN_TYPE, IS_NULLABLE, COLUMN_DEFAULT, EXTRA FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = '$db_name' AND TABLE_NAME='$table'")) as $data) {
foreach (DB::connection($connection)->select(DB::raw("SELECT COLUMN_NAME, COLUMN_TYPE, IS_NULLABLE, COLUMN_DEFAULT, EXTRA FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = '$db_name' AND TABLE_NAME='$table' ORDER BY ORDINAL_POSITION")) as $data) {
$def = [
'Field' => $data->COLUMN_NAME,
'Type' => preg_replace('/int\([0-9]+\)/', 'int', $data->COLUMN_TYPE),

View File

@@ -433,7 +433,7 @@ class CiHelper
$this->setFlags([
'unit_skip' => empty($this->changed['php']) && ! array_sum(Arr::only($this->getFlags(), ['unit_os', 'unit_docs', 'unit_svg', 'unit_modules', 'docs_changed'])),
'lint_skip' => array_sum(Arr::only($this->getFlags(), ['lint_skip_php', 'lint_skip_python', 'lint_skip_bash'])) === 3,
'style_skip' => empty($this->changed['php']),
'style_skip' => ! $this->flags['ci'] && empty($this->changed['php']),
'web_skip' => empty($this->changed['php']) && empty($this->changed['resources']),
]);
}

View File

@@ -106,10 +106,18 @@ class DBSetupTest extends DBTestCase
public function testSqlMode()
{
$this->assertEquals(
'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION',
DB::connection($this->connection)->select(DB::raw('SELECT @@sql_mode AS mode'))[0]->mode
);
$result = DB::connection($this->connection)->selectOne(DB::raw('SELECT @@version AS version, @@sql_mode AS mode'));
preg_match('/([0-9.]+)(?:-(\w+))?/', $result->version, $matches);
$version = $matches[1] ?? null;
$vendor = $matches[2] ?? null;
$mode = $result->mode;
// NO_AUTO_CREATE_USER is removed in mysql 8
$expected = ($vendor !== 'MariaDB' && version_compare($version, '8.0.0') >= 0)
? 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'
: 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
$this->assertEquals($expected, $mode);
}
public function testValidateSchema()