Skip to content

Commit

Permalink
ci: test static parser through all tests and variations
Browse files Browse the repository at this point in the history
  • Loading branch information
wellwelwel committed Jan 31, 2025
1 parent 09430e0 commit fdca5d7
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 5 deletions.
23 changes: 19 additions & 4 deletions .github/workflows/ci-linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,12 +22,15 @@ jobs:
mysql-version: ['mysql:8.0.33']
use-compression: [0, 1]
use-tls: [0, 1]
static-parser: [0, 1]
mysql_connection_url_key: ['']
# TODO - add mariadb to the matrix. currently few tests are broken due to mariadb incompatibilities

env:
MYSQL_CONNECTION_URL: ${{ secrets[matrix.mysql_connection_url_key] }}
STATIC_PARSER: ${{ matrix.static-parser }}

name: Node.js ${{ matrix.node-version }} - DB ${{ matrix.mysql-version }}${{ matrix.mysql_connection_url_key }} - SSL=${{matrix.use-tls}} Compression=${{matrix.use-compression}}
name: Node.js ${{ matrix.node-version }} - DB ${{ matrix.mysql-version }}${{ matrix.mysql_connection_url_key }} - SSL=${{matrix.use-tls}} Compression=${{matrix.use-compression}} - Static Parser=${{matrix.static-parser}}

steps:
- uses: actions/checkout@v4
Expand Down Expand Up @@ -68,8 +71,12 @@ jobs:
mysql-version: ['mysql:8.0.33']
use-compression: [0, 1]
use-tls: [0, 1]
static-parser: [0, 1]

env:
STATIC_PARSER: ${{ matrix.static-parser }}

name: Bun ${{ matrix.bun-version }} - DB ${{ matrix.mysql-version }} - SSL=${{matrix.use-tls}} Compression=${{matrix.use-compression}}
name: Bun ${{ matrix.bun-version }} - DB ${{ matrix.mysql-version }} - SSL=${{matrix.use-tls}} Compression=${{matrix.use-compression}} - Static Parser=${{matrix.static-parser}}

steps:
- uses: actions/checkout@v4
Expand Down Expand Up @@ -118,14 +125,18 @@ jobs:
deno-version: [v1.x]
mysql-version: ['mysql:8.0.33']
use-compression: [0, 1]
static-parser: [0, 1]
# TODO: investigate error when using SSL (1)
#
# errno: -4094
# code: "UNKNOWN"
# syscall: "read"
use-tls: [0]

name: Deno ${{ matrix.deno-version }} - DB ${{ matrix.mysql-version }} - SSL=${{matrix.use-tls}} Compression=${{matrix.use-compression}}
env:
STATIC_PARSER: ${{ matrix.static-parser }}

name: Deno ${{ matrix.deno-version }} - DB ${{ matrix.mysql-version }} - SSL=${{matrix.use-tls}} Compression=${{matrix.use-compression}} - Static Parser=${{matrix.static-parser}}

steps:
- uses: actions/checkout@v4
Expand Down Expand Up @@ -172,14 +183,18 @@ jobs:
deno-version: [v2.x, canary]
mysql-version: ['mysql:8.0.33']
use-compression: [0, 1]
static-parser: [0, 1]
# TODO: investigate error when using SSL (1)
#
# errno: -4094
# code: "UNKNOWN"
# syscall: "read"
use-tls: [0]

name: Deno ${{ matrix.deno-version }} - DB ${{ matrix.mysql-version }} - SSL=${{matrix.use-tls}} Compression=${{matrix.use-compression}}
env:
STATIC_PARSER: ${{ matrix.static-parser }}

name: Deno ${{ matrix.deno-version }} - DB ${{ matrix.mysql-version }} - SSL=${{matrix.use-tls}} Compression=${{matrix.use-compression}} - Static Parser=${{matrix.static-parser}}

steps:
- uses: actions/checkout@v4
Expand Down
6 changes: 6 additions & 0 deletions test/common.test.cjs
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,17 @@ const fs = require('node:fs');
const path = require('node:path');
const process = require('node:process');

const useStaticParser = process.env.STATIC_PARSER === '1';
exports.useStaticParser = useStaticParser;

const config = {
host: process.env.MYSQL_HOST || 'localhost',
user: process.env.MYSQL_USER || 'root',
password: (process.env.CI ? process.env.MYSQL_PASSWORD : '') || '',
database: process.env.MYSQL_DATABASE || 'test',
compress: process.env.MYSQL_USE_COMPRESSION,
port: process.env.MYSQL_PORT || 3306,
useStaticParser,
};

if (process.env.MYSQL_USE_TLS === '1') {
Expand Down Expand Up @@ -109,6 +113,7 @@ exports.createConnection = function (args) {
nestTables: args && args.nestTables,
ssl: (args && args.ssl) ?? config.ssl,
jsonStrings: args && args.jsonStrings,
useStaticParser,
};

const conn = driver.createConnection(params);
Expand Down Expand Up @@ -139,6 +144,7 @@ exports.getConfig = function (input) {
maxIdle: args && args.maxIdle,
idleTimeout: args && args.idleTimeout,
jsonStrings: args && args.jsonStrings,
useStaticParser,
};
return params;
};
Expand Down
5 changes: 4 additions & 1 deletion test/esm/integration/parsers/json-string.test.mjs
Original file line number Diff line number Diff line change
@@ -1,14 +1,17 @@
import { test, describe, assert } from 'poku';
import { skip, test, describe, assert } from 'poku';
import { createRequire } from 'node:module';

const require = createRequire(import.meta.url);
const {
createConnection,
describeOptions,
useStaticParser,
} = require('../../../common.test.cjs');

describe('JSON String', describeOptions);

if (useStaticParser) skip('Skipping during debugging process');

const connection = createConnection({
jsonStrings: true,
}).promise();
Expand Down

0 comments on commit fdca5d7

Please sign in to comment.