This launch corresponding server in GitHub action.
other related project : https://github.com/mariadb-corporation/connector-ci-build-matrix
This action now supports deploying MaxScale as a proxy in front of MariaDB Enterprise for testing.
To enable MaxScale in your CI workflow, add the maxscale-tag input parameter:
- uses: mariadb-corporation/connector-ci-setup@main
with:
db-type: enterprise
db-tag: '11.4'
maxscale-tag: '25.01' # Enable MaxScale
test-db-password: ${{ secrets.DB_PASSWORD }}
test-db-database: testdb
registry-user: ${{ secrets.ENTERPRISE_USER }}
registry-password: ${{ secrets.ENTERPRISE_TOKEN }}
os: ubuntu-latestWhen MaxScale is enabled, the following environment variables are automatically set:
TEST_MXS_PORT: MaxScale non-SSL port (default: 3306)TEST_MXS_SSL_PORT: MaxScale SSL port (default: 4009)
Note: When MaxScale is enabled, MariaDB runs on port 3305 and MaxScale proxies on the standard port 3306.
- MaxScale requires MariaDB Enterprise
- Registry credentials must be provided (
registry-userandregistry-password) - MaxScale will automatically configure SSL using the same certificates as MariaDB
When MaxScale is enabled:
- MariaDB Enterprise server is deployed on port 3305
- MaxScale is deployed as a proxy
- MaxScale listens on:
- Port 3306 for non-SSL connections (standard MariaDB port)
- Port 4009 for SSL connections
- Port 8989 for REST API
- Tests can connect through MaxScale on port 3306 instead of directly to MariaDB
// Connect through MaxScale (non-SSL)
const conn = await mariadb.createConnection({
host: 'mariadb.example.com',
port: process.env.TEST_MXS_PORT || 3306,
user: 'root',
password: process.env.TEST_DB_PASSWORD
});
// Connect through MaxScale (SSL)
const connSSL = await mariadb.createConnection({
host: 'mariadb.example.com',
port: process.env.TEST_MXS_SSL_PORT || 4009,
user: 'root',
password: process.env.TEST_DB_PASSWORD,
ssl: true
});