Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 9 additions & 1 deletion .github/workflows/e2e.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,14 +39,22 @@ jobs:
mc_version: "1.21.1"
java_image: "java21"
fabric_loader: "0.16.9"
# Fabric 1.21.4 (current latest, Java 21)
# Fabric 1.21.4 (Java 21)
- platform: Fabric-1.21.4
task: testFabric_1_21_4
build_task: ":fabric:1.21.4:remapJar"
compose_dir: platforms/fabric
mc_version: "1.21.4"
java_image: "java21"
fabric_loader: "0.16.9"
# Fabric 1.21.11 (current latest, Java 21)
- platform: Fabric-1.21.11
task: testFabric_1_21_11
build_task: ":fabric:1.21.11:remapJar"
compose_dir: platforms/fabric
mc_version: "1.21.11"
java_image: "java21"
fabric_loader: "0.17.3"
# Sponge API 11 (MC 1.20.6, Java 21)
- platform: Sponge-1.20.6
task: testSponge_1_20_6
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -31,3 +31,6 @@ e2e/tests/*.log
e2e/tests/coverage/

dependency-reduced-pom.xml

#run dirs
/fabric/versions/*/run
4 changes: 2 additions & 2 deletions buildSrc/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,9 @@ repositories {

dependencies {
implementation(gradleApi())
implementation("com.gradleup.shadow:com.gradleup.shadow.gradle.plugin:9.0.0-beta4")
implementation("com.gradleup.shadow:com.gradleup.shadow.gradle.plugin:9.3.1")
implementation("org.jfrog.buildinfo:build-info-extractor-gradle:5.2.5")
implementation("org.spongepowered:spongegradle-plugin-development:2.3.0")
implementation("fabric-loom:fabric-loom.gradle.plugin:1.9.2")
implementation("fabric-loom:fabric-loom.gradle.plugin:1.15.3")
implementation("com.vanniktech:gradle-maven-publish-plugin:0.35.0")
}
5 changes: 0 additions & 5 deletions buildSrc/src/main/kotlin/GradleExtras.kt
Original file line number Diff line number Diff line change
@@ -1,12 +1,7 @@
import org.gradle.api.Project
import org.gradle.api.plugins.ExtraPropertiesExtension
import org.gradle.api.plugins.JavaPluginConvention
import org.gradle.api.tasks.SourceSetContainer
import org.gradle.kotlin.dsl.getByType
import org.gradle.kotlin.dsl.the

val Project.ext: ExtraPropertiesExtension
get() = extensions.getByType()

val Project.sourceSets: SourceSetContainer
get() = the<JavaPluginConvention>().sourceSets
2 changes: 1 addition & 1 deletion bukkit/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ dependencies {
}

tasks.named<Copy>("processResources") {
val internalVersion = project.ext["internalVersion"]
val internalVersion = project.ext["internalVersion"] as String

inputs.property("internalVersion", internalVersion)

Expand Down
2 changes: 1 addition & 1 deletion bungee/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ dependencies {
}

tasks.named<Copy>("processResources") {
val internalVersion = project.ext["internalVersion"]
val internalVersion = project.ext["internalVersion"] as String

inputs.property("internalVersion", internalVersion)

Expand Down
29 changes: 15 additions & 14 deletions e2e/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,8 @@ data class FabricVersion(val mcVersion: String, val javaImage: String, val fabri
val fabricVersions = listOf(
FabricVersion("1.20.1", "java17", "0.16.10"),
FabricVersion("1.21.1", "java21", "0.16.9"),
FabricVersion("1.21.4", "java21", "0.16.9")
FabricVersion("1.21.4", "java21", "0.16.9"),
FabricVersion("1.21.11", "java21", "0.17.3")
)

// Sponge version configurations
Expand Down Expand Up @@ -53,11 +54,11 @@ fun createPlatformTestTask(
)

doLast {
exec {
providers.exec {
workingDir = file("platforms/$platformDir")
commandLine("docker", "compose", "down", "-v")
isIgnoreExitValue = true
}
}.result.get()
}
}
}
Expand Down Expand Up @@ -87,16 +88,16 @@ fabricVersions.forEach { version ->
)
}

// Fabric E2E tests - runs latest version (1.21.4)
// Fabric E2E tests - runs latest version (1.21.11)
createPlatformTestTask(
"testFabric",
"fabric",
":fabric:1.21.4:remapJar",
"Run Fabric E2E tests in Docker (latest: 1.21.4)",
":fabric:1.21.11:remapJar",
"Run Fabric E2E tests in Docker (latest: 1.21.11)",
mapOf(
"MC_VERSION" to "1.21.4",
"MC_VERSION" to "1.21.11",
"JAVA_IMAGE" to "java21",
"FABRIC_LOADER" to "0.16.9"
"FABRIC_LOADER" to "0.17.3"
)
)

Expand Down Expand Up @@ -271,14 +272,14 @@ fabricVersions.forEach { version ->
// Default Fabric debug tasks (latest version)
tasks.register<Exec>("startFabric") {
group = "verification"
description = "Start the Fabric test server without running tests (for debugging) - latest: 1.21.4"
description = "Start the Fabric test server without running tests (for debugging) - latest: 1.21.11"

dependsOn(":fabric:1.21.4:remapJar")
dependsOn(":fabric:1.21.11:remapJar")

workingDir = file("platforms/fabric")
environment("MC_VERSION", "1.21.4")
environment("MC_VERSION", "1.21.11")
environment("JAVA_IMAGE", "java21")
environment("FABRIC_LOADER", "0.16.9")
environment("FABRIC_LOADER", "0.17.3")
commandLine("docker", "compose", "up", "-d", "mariadb", "fabric")
}

Expand Down Expand Up @@ -463,11 +464,11 @@ tasks.named("clean") {
doLast {
// Clean up all platform Docker resources
listOf("bukkit", "fabric", "sponge", "sponge7", "velocity", "bungee").forEach { platform ->
exec {
providers.exec {
workingDir = file("platforms/$platform")
commandLine("docker", "compose", "down", "-v", "--rmi", "local")
isIgnoreExitValue = true
}
}.result.get()
}
}
}
13 changes: 7 additions & 6 deletions e2e/platforms/fabric/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Parameterized Fabric E2E testing
# Environment variables:
# MC_VERSION: Minecraft version (default: 1.21.4)
# MC_VERSION: Minecraft version (default: 1.21.11)
# JAVA_IMAGE: Java image tag (default: java21, use java17 for 1.20.x)
# FABRIC_LOADER: Fabric loader version (default: 0.16.9)

Expand All @@ -27,8 +27,8 @@ services:
environment:
EULA: "TRUE"
TYPE: "FABRIC"
VERSION: "${MC_VERSION:-1.21.4}"
FABRIC_LOADER_VERSION: "${FABRIC_LOADER:-0.16.9}"
VERSION: "${MC_VERSION:-1.21.11}"
FABRIC_LOADER_VERSION: "${FABRIC_LOADER:-0.17.3}"
ONLINE_MODE: "false"
# Skip re-downloading server JAR just to verify hash (speeds up cached runs)
SKIP_SERVER_JAR_HASH_CHECK: "true"
Expand All @@ -54,11 +54,11 @@ services:
volumes:
# Mount the mod JAR to a source directory (will be copied on startup)
# Uses versioned jar name from Stonecutter build
- ../../../fabric/versions/${MC_VERSION:-1.21.4}/build/libs/BanManagerFabric-mc${MC_VERSION:-1.21.4}.jar:/mods-src/BanManager.jar:ro
- ../../../fabric/versions/${MC_VERSION:-1.21.11}/build/libs/BanManagerFabric-mc${MC_VERSION:-1.21.11}.jar:/mods-src/BanManager.jar:ro
# Mount the plugin config source (will be copied on startup)
- ./configs:/config:ro
# Cache server data between runs (Fabric JAR, world data)
- fabric-data-${MC_VERSION:-1.21.4}:/data
- fabric-data-${MC_VERSION:-1.21.11}:/data
# Note: No host port mappings - tests use Docker network, avoids conflicts with other platforms
depends_on:
mariadb:
Expand All @@ -85,7 +85,7 @@ services:
RCON_HOST: fabric
RCON_PORT: 25575
RCON_PASSWORD: testing
MC_VERSION: "${MC_VERSION:-1.21.4}"
MC_VERSION: "${MC_VERSION:-1.21.11}"
volumes:
# Cache Jest/ts-jest transformations between runs
- jest-cache:/tmp/jest_cache
Expand All @@ -100,4 +100,5 @@ volumes:
fabric-data-1.20.1:
fabric-data-1.21.1:
fabric-data-1.21.4:
fabric-data-1.21.11:
jest-cache:
Loading
Loading