mirror of
https://github.com/plan-player-analytics/Plan.git
synced 2025-01-30 16:19:56 +08: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
|
||||
|
||||
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:
|
||||
- uses: actions/checkout@v1
|
||||
- name: Set up JDK 1.8
|
||||
uses: actions/setup-java@v1
|
||||
with:
|
||||
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
|
||||
env:
|
||||
MYSQL_DB: test
|
||||
MYSQL_USER: user
|
||||
MYSQL_PASS: password
|
||||
MYSQL_PORT: ${{ job.services.mariadb.ports[3306] }}
|
||||
run: |
|
||||
cd Plan
|
||||
./gradlew build
|
||||
|
@ -28,6 +28,7 @@ public class CIProperties {
|
||||
// (To prevent outside connections with CI user)
|
||||
public static final String MYSQL_USER = "MYSQL_USER";
|
||||
public static final String MYSQL_PASS = "MYSQL_PASS";
|
||||
public static final String MYSQL_PORT = "MYSQL_PORT";
|
||||
public static final String CHROME_DRIVER = "CHROMEDRIVER";
|
||||
|
||||
private CIProperties() {
|
||||
|
@ -35,7 +35,7 @@ import java.util.Optional;
|
||||
public class DBPreparer {
|
||||
|
||||
private final PlanSystem system;
|
||||
private int testPortNumber;
|
||||
private final int testPortNumber;
|
||||
|
||||
public DBPreparer(PlanSystem system, int testPortNumber) {
|
||||
this.system = system;
|
||||
@ -69,6 +69,7 @@ public class DBPreparer {
|
||||
String database = System.getenv(CIProperties.MYSQL_DATABASE);
|
||||
String user = System.getenv(CIProperties.MYSQL_USER);
|
||||
String pass = System.getenv(CIProperties.MYSQL_PASS);
|
||||
String port = System.getenv(CIProperties.MYSQL_PORT);
|
||||
if (Verify.containsNull(database, user)) {
|
||||
return Optional.empty();
|
||||
}
|
||||
@ -84,6 +85,7 @@ public class DBPreparer {
|
||||
config.set(DatabaseSettings.MYSQL_USER, user);
|
||||
config.set(DatabaseSettings.MYSQL_PASS, pass != null ? pass : "");
|
||||
config.set(DatabaseSettings.MYSQL_HOST, "127.0.0.1");
|
||||
config.set(DatabaseSettings.MYSQL_PORT, port != null ? port : "3306");
|
||||
config.set(DatabaseSettings.TYPE, dbName);
|
||||
return Optional.of(formattedDatabase);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user