Skip to content

Commit 7df76b4

Browse files
committed
Merge remote-tracking branch 'origin/master-26-lts' into master-26
2 parents a31b9e1 + 30447c9 commit 7df76b4

5 files changed

Lines changed: 69 additions & 5 deletions

File tree

‎.github/workflows/ci.yml‎

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,13 @@ jobs:
2222
distribution:
2323
- 'adopt-hotspot'
2424
- 'oracle'
25+
- 'graalvm'
2526
include:
2627
- java: 25
2728
distribution: 'microsoft'
29+
exclude:
30+
- java: 26 # GraalVM doesn't support Java 26 yet
31+
distribution: 'graalvm'
2832
steps:
2933
- name: 'Checkout'
3034
uses: actions/checkout@v4
@@ -81,6 +85,18 @@ jobs:
8185
with:
8286
if-no-files-found: error
8387
path: build/libs/*
88+
- name: 'Copy mod jars to production server'
89+
run: ./gradlew copyDependencies
90+
- name: 'Test in production server'
91+
timeout-minutes: 10
92+
uses: headlesshq/mc-server-test@1.1.1
93+
env:
94+
CYCLOPSMC_ENABLEDGAMETESTSGLOBAL: true
95+
with:
96+
java: ${{ env.java_version }}
97+
mc: 26.2
98+
modloader: neoforge
99+
test-file: './mc-server-test.json'
84100
- name: 'Deploy to CurseForge'
85101
if: (startsWith(github.ref, 'refs/tags/') || (!startsWith(github.event.head_commit.message, 'Bump mod version') && startsWith(github.ref, 'refs/heads/master'))) && startsWith(matrix.java, env.DEFAULT_JAVA_VERSION) && startsWith(matrix.distribution, env.DEFAULT_JAVA_DISTRIBUTION)
86102
env:

‎build.gradle‎

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -405,3 +405,17 @@ compileJava.dependsOn updateGitHooks
405405
tasks.withType(JavaCompile).configureEach {
406406
options.encoding = 'UTF-8' // Use the UTF-8 charset for Java compilation
407407
}
408+
409+
def cyclopsArtifacts = configurations.runtimeClasspath.incoming.artifacts.resolvedArtifacts.map { artifacts ->
410+
artifacts.findAll { artifact ->
411+
def id = artifact.variant.owner
412+
id instanceof org.gradle.api.artifacts.component.ModuleComponentIdentifier &&
413+
id.group.startsWith("org.cyclops")
414+
}.collect { it.file }
415+
}
416+
tasks.register("copyDependencies", Copy) {
417+
from(cyclopsArtifacts)
418+
from(tasks.named("jar"))
419+
into(layout.projectDirectory.dir("run/mods"))
420+
dependsOn(tasks.named("jar"))
421+
}

‎gradle.properties‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,6 @@ org.gradle.caching=true
3030

3131
# Dependencies
3232
graal_version=25.0.1
33-
cyclopscore_version=1.30.0-1038
33+
cyclopscore_version=1.30.0-1056
3434
integrateddynamics_version=1.33.4-1858
3535
commoncapabilities_version=2.11.8-360

‎mc-server-test.json‎

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
{
2+
"name": "Server with Game Tests",
3+
"steps": [
4+
{
5+
"type": "ENDS_WITH",
6+
"message": "For help, type \"help\""
7+
},
8+
{
9+
"type": "SEND",
10+
"message": "test run integratedscripting:*"
11+
},
12+
{
13+
"type": "ENDS_WITH",
14+
"message": "All required tests passed :)",
15+
"timeout": 600
16+
},
17+
{
18+
"type": "SEND",
19+
"message": "stop",
20+
"timeout": 60
21+
},
22+
{
23+
"type": "SUCCESS"
24+
}
25+
]
26+
}

‎src/main/java/org/cyclops/integratedscripting/gametest/GameTestsScripts.java‎

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import com.google.common.collect.Lists;
44
import net.minecraft.core.BlockPos;
5+
import net.minecraft.gametest.framework.GameTestAssertException;
56
import net.minecraft.gametest.framework.GameTestHelper;
67
import net.minecraft.network.chat.Component;
78
import net.minecraft.world.item.ItemStack;
@@ -137,10 +138,17 @@ public void testScriptsDisplayScriptInfiniteLoop(GameTestHelper helper) {
137138
Pair<PartTypePanelDisplay, PartTypePanelDisplay.State> partAndState = placeVariableInDisplayPanel(helper.getLevel(), positions.displayPanel(), variableAdded);
138139

139140
helper.succeedWhen(() -> {
140-
helper.assertValueEqual(partAndState.getRight().getGlobalErrors(), Lists.newArrayList(
141-
Component.translatable("script.integratedscripting.error.member_not_in_network", positions.diskId(), "abc", "script0.js"),
142-
Component.translatable("script.integratedscripting.error.member_not_in_network", positions.diskId(), "abc", "script0.js")
143-
), Component.literal("Display panel errors do not match"));
141+
try {
142+
helper.assertValueEqual(partAndState.getRight().getGlobalErrors(), Lists.newArrayList(
143+
Component.translatable("script.integratedscripting.error.member_not_in_network", positions.diskId(), "abc", "script0.js"),
144+
Component.translatable("script.integratedscripting.error.member_not_in_network", positions.diskId(), "abc", "script0.js")
145+
), "Display panel errors do not match");
146+
} catch (GameTestAssertException e) {
147+
helper.assertValueEqual(partAndState.getRight().getGlobalErrors(), Lists.newArrayList(
148+
Component.translatable("script.integratedscripting.error.script_missing", "script0.js", positions.diskId()),
149+
Component.translatable("script.integratedscripting.error.script_missing", "script0.js", positions.diskId())
150+
), "Display panel errors do not match");
151+
}
144152
});
145153
}
146154

0 commit comments

Comments
 (0)