mirror of
https://github.com/plan-player-analytics/Plan.git
synced 2025-03-10 13:49:17 +01:00
Added MySQL to Github Actions (#1438)
- Uses MariaDB setup from https://firefart.at/post/using-mysql-service-with-github-actions/ - Adds optional MYSQL_PORT env variable to test setup
This commit is contained in:
parent
08ea042144
commit
f89b4dcf28
24
.github/workflows/gradle.yml
vendored
24
.github/workflows/gradle.yml
vendored
@ -8,13 +8,37 @@ jobs:
|
|||||||
|
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
services:
|
||||||
|
mariadb:
|
||||||
|
image: mariadb:latest
|
||||||
|
ports:
|
||||||
|
- 3306
|
||||||
|
env:
|
||||||
|
MYSQL_USER: user
|
||||||
|
MYSQL_PASSWORD: password
|
||||||
|
MYSQL_DATABASE: test
|
||||||
|
MYSQL_ROOT_PASSWORD: password
|
||||||
|
options: --health-cmd="mysqladmin ping" --health-interval=5s --health-timeout=2s --health-retries=3
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v1
|
- uses: actions/checkout@v1
|
||||||
- name: Set up JDK 1.8
|
- name: Set up JDK 1.8
|
||||||
uses: actions/setup-java@v1
|
uses: actions/setup-java@v1
|
||||||
with:
|
with:
|
||||||
java-version: 1.8
|
java-version: 1.8
|
||||||
|
- name: Verify MariaDB connection
|
||||||
|
env:
|
||||||
|
PORT: ${{ job.services.mariadb.ports[3306] }}
|
||||||
|
run: |
|
||||||
|
while ! mysqladmin ping -h"127.0.0.1" -P"$PORT" --silent; do
|
||||||
|
sleep 1
|
||||||
|
done
|
||||||
- name: Build with Gradle
|
- name: Build with Gradle
|
||||||
|
env:
|
||||||
|
MYSQL_DB: test
|
||||||
|
MYSQL_USER: user
|
||||||
|
MYSQL_PASS: password
|
||||||
|
MYSQL_PORT: ${{ job.services.mariadb.ports[3306] }}
|
||||||
run: |
|
run: |
|
||||||
cd Plan
|
cd Plan
|
||||||
./gradlew build
|
./gradlew build
|
||||||
|
@ -28,6 +28,7 @@ public class CIProperties {
|
|||||||
// (To prevent outside connections with CI user)
|
// (To prevent outside connections with CI user)
|
||||||
public static final String MYSQL_USER = "MYSQL_USER";
|
public static final String MYSQL_USER = "MYSQL_USER";
|
||||||
public static final String MYSQL_PASS = "MYSQL_PASS";
|
public static final String MYSQL_PASS = "MYSQL_PASS";
|
||||||
|
public static final String MYSQL_PORT = "MYSQL_PORT";
|
||||||
public static final String CHROME_DRIVER = "CHROMEDRIVER";
|
public static final String CHROME_DRIVER = "CHROMEDRIVER";
|
||||||
|
|
||||||
private CIProperties() {
|
private CIProperties() {
|
||||||
|
@ -35,7 +35,7 @@ import java.util.Optional;
|
|||||||
public class DBPreparer {
|
public class DBPreparer {
|
||||||
|
|
||||||
private final PlanSystem system;
|
private final PlanSystem system;
|
||||||
private int testPortNumber;
|
private final int testPortNumber;
|
||||||
|
|
||||||
public DBPreparer(PlanSystem system, int testPortNumber) {
|
public DBPreparer(PlanSystem system, int testPortNumber) {
|
||||||
this.system = system;
|
this.system = system;
|
||||||
@ -69,6 +69,7 @@ public class DBPreparer {
|
|||||||
String database = System.getenv(CIProperties.MYSQL_DATABASE);
|
String database = System.getenv(CIProperties.MYSQL_DATABASE);
|
||||||
String user = System.getenv(CIProperties.MYSQL_USER);
|
String user = System.getenv(CIProperties.MYSQL_USER);
|
||||||
String pass = System.getenv(CIProperties.MYSQL_PASS);
|
String pass = System.getenv(CIProperties.MYSQL_PASS);
|
||||||
|
String port = System.getenv(CIProperties.MYSQL_PORT);
|
||||||
if (Verify.containsNull(database, user)) {
|
if (Verify.containsNull(database, user)) {
|
||||||
return Optional.empty();
|
return Optional.empty();
|
||||||
}
|
}
|
||||||
@ -84,6 +85,7 @@ public class DBPreparer {
|
|||||||
config.set(DatabaseSettings.MYSQL_USER, user);
|
config.set(DatabaseSettings.MYSQL_USER, user);
|
||||||
config.set(DatabaseSettings.MYSQL_PASS, pass != null ? pass : "");
|
config.set(DatabaseSettings.MYSQL_PASS, pass != null ? pass : "");
|
||||||
config.set(DatabaseSettings.MYSQL_HOST, "127.0.0.1");
|
config.set(DatabaseSettings.MYSQL_HOST, "127.0.0.1");
|
||||||
|
config.set(DatabaseSettings.MYSQL_PORT, port != null ? port : "3306");
|
||||||
config.set(DatabaseSettings.TYPE, dbName);
|
config.set(DatabaseSettings.TYPE, dbName);
|
||||||
return Optional.of(formattedDatabase);
|
return Optional.of(formattedDatabase);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user