mirror of
https://github.com/SquidDev-CC/CC-Tweaked
synced 2025-01-07 16:00:31 +00:00
Bump FG and Loom
Also split up CI steps a little, so that it's more clear what failed.
This commit is contained in:
parent
efa92b741b
commit
e337a63712
39
.github/workflows/main-ci.yml
vendored
39
.github/workflows/main-ci.yml
vendored
@ -8,16 +8,16 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Clone repository
|
- name: 📥 Clone repository
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
- name: Set up Java
|
- name: 📥 Set up Java
|
||||||
uses: actions/setup-java@v3
|
uses: actions/setup-java@v3
|
||||||
with:
|
with:
|
||||||
java-version: 17
|
java-version: 17
|
||||||
distribution: 'temurin'
|
distribution: 'temurin'
|
||||||
|
|
||||||
- name: Setup Gradle
|
- name: 📥 Setup Gradle
|
||||||
uses: gradle/gradle-build-action@v2
|
uses: gradle/gradle-build-action@v2
|
||||||
with:
|
with:
|
||||||
cache-read-only: ${{ !startsWith(github.ref, 'refs/heads/mc-') }}
|
cache-read-only: ${{ !startsWith(github.ref, 'refs/heads/mc-') }}
|
||||||
@ -27,42 +27,45 @@ jobs:
|
|||||||
mkdir -p ~/.gradle
|
mkdir -p ~/.gradle
|
||||||
echo "org.gradle.daemon=false" >> ~/.gradle/gradle.properties
|
echo "org.gradle.daemon=false" >> ~/.gradle/gradle.properties
|
||||||
|
|
||||||
- name: Build with Gradle
|
- name: ⚒️ Build
|
||||||
run: ./gradlew assemble || ./gradlew assemble
|
run: ./gradlew assemble || ./gradlew assemble
|
||||||
|
|
||||||
- name: Download assets for game tests
|
- name: 💡 Lint
|
||||||
|
uses: pre-commit/action@v3.0.0
|
||||||
|
|
||||||
|
- name: 🧪 Run tests
|
||||||
|
run: ./gradlew test validateMixinNames checkChangelog
|
||||||
|
|
||||||
|
- name: 📥 Download assets for game tests
|
||||||
run: ./gradlew downloadAssets || ./gradlew downloadAssets
|
run: ./gradlew downloadAssets || ./gradlew downloadAssets
|
||||||
|
|
||||||
- name: Run tests and linters
|
- name: 🧪 Run integration tests
|
||||||
run: ./gradlew build
|
run: ./gradlew runGametest
|
||||||
|
|
||||||
- name: Run client tests
|
- name: 🧪 Run client tests
|
||||||
run: ./gradlew runGametestClient # Not checkClient, as no point running rendering tests.
|
run: ./gradlew runGametestClient # Not checkClient, as no point running rendering tests.
|
||||||
# These are a little flaky on GH actions: its useful to run them, but don't break the build.
|
# These are a little flaky on GH actions: its useful to run them, but don't break the build.
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
|
|
||||||
- name: Prepare Jars
|
- name: 🧪 Parse test reports
|
||||||
|
run: ./tools/parse-reports.py
|
||||||
|
if: ${{ failure() }}
|
||||||
|
|
||||||
|
- name: 📦 Prepare Jars
|
||||||
run: |
|
run: |
|
||||||
# Find the main jar and append the git hash onto it.
|
# Find the main jar and append the git hash onto it.
|
||||||
mkdir -p jars
|
mkdir -p jars
|
||||||
find projects/forge/build/libs projects/fabric/build/libs -type f -regex '.*[0-9.]+\(-SNAPSHOT\)?\.jar$' -exec bash -c 'cp {} "jars/$(basename {} .jar)-$(git rev-parse HEAD).jar"' \;
|
find projects/forge/build/libs projects/fabric/build/libs -type f -regex '.*[0-9.]+\(-SNAPSHOT\)?\.jar$' -exec bash -c 'cp {} "jars/$(basename {} .jar)-$(git rev-parse HEAD).jar"' \;
|
||||||
|
|
||||||
- name: Upload Jar
|
- name: 📤 Upload Jar
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: CC-Tweaked
|
name: CC-Tweaked
|
||||||
path: ./jars
|
path: ./jars
|
||||||
|
|
||||||
- name: Upload coverage
|
- name: 📤 Upload coverage
|
||||||
uses: codecov/codecov-action@v3
|
uses: codecov/codecov-action@v3
|
||||||
|
|
||||||
- name: Parse test reports
|
|
||||||
run: ./tools/parse-reports.py
|
|
||||||
if: ${{ failure() }}
|
|
||||||
|
|
||||||
- name: Run linters
|
|
||||||
uses: pre-commit/action@v3.0.0
|
|
||||||
|
|
||||||
build-core:
|
build-core:
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
|
@ -30,41 +30,22 @@ internal fun setRunConfigInternal(project: Project, spec: JavaExecSpec, config:
|
|||||||
val originalTask = project.tasks.named(config.taskName, MinecraftRunTask::class.java)
|
val originalTask = project.tasks.named(config.taskName, MinecraftRunTask::class.java)
|
||||||
|
|
||||||
// Add argument and JVM argument via providers, to be as lazy as possible with fetching artifacts.
|
// Add argument and JVM argument via providers, to be as lazy as possible with fetching artifacts.
|
||||||
fun lazyTokens(): MutableMap<String, Supplier<String>> {
|
val lazyTokens = RunConfigGenerator.configureTokensLazy(
|
||||||
return RunConfigGenerator.configureTokensLazy(
|
project, config, RunConfigGenerator.mapModClassesToGradle(project, config),
|
||||||
project, config, RunConfigGenerator.mapModClassesToGradle(project, config),
|
originalTask.get().minecraftArtifacts,
|
||||||
originalTask.get().minecraftArtifacts.files,
|
originalTask.get().runtimeClasspathArtifacts,
|
||||||
originalTask.get().runtimeClasspathArtifacts.files,
|
)
|
||||||
)
|
|
||||||
}
|
|
||||||
spec.argumentProviders.add(
|
spec.argumentProviders.add(
|
||||||
CommandLineArgumentProvider {
|
CommandLineArgumentProvider {
|
||||||
RunConfigGenerator.getArgsStream(config, lazyTokens(), false).toList()
|
RunConfigGenerator.getArgsStream(config, lazyTokens, false).toList()
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
spec.jvmArgumentProviders.add(
|
spec.jvmArgumentProviders.add(
|
||||||
CommandLineArgumentProvider {
|
CommandLineArgumentProvider {
|
||||||
val lazyTokens = lazyTokens()
|
|
||||||
(if (config.isClient) config.jvmArgs + originalTask.get().additionalClientArgs.get() else config.jvmArgs).map { config.replace(lazyTokens, it) } +
|
(if (config.isClient) config.jvmArgs + originalTask.get().additionalClientArgs.get() else config.jvmArgs).map { config.replace(lazyTokens, it) } +
|
||||||
config.properties.map { (k, v) -> "-D${k}=${config.replace(lazyTokens, v)}" }
|
config.properties.map { (k, v) -> "-D${k}=${config.replace(lazyTokens, v)}" }
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|
||||||
// We can't configure environment variables lazily, so we do these now with a more minimal lazyTokens set.
|
|
||||||
val lazyTokens = mutableMapOf<String, Supplier<String>>()
|
|
||||||
for ((k, v) in config.tokens) lazyTokens[k] = Supplier<String> { v }
|
|
||||||
for ((k, v) in config.lazyTokens) lazyTokens[k] = v
|
|
||||||
lazyTokens.compute(
|
|
||||||
"source_roots",
|
|
||||||
{ _, sourceRoots ->
|
|
||||||
Supplier<String> {
|
|
||||||
val modClasses = RunConfigGenerator.mapModClassesToGradle(project, config)
|
|
||||||
(when (sourceRoots) {
|
|
||||||
null -> modClasses
|
|
||||||
else -> Stream.concat<String>(sourceRoots.get().split(File.pathSeparator).stream(), modClasses)
|
|
||||||
}).distinct().collect(Collectors.joining(File.pathSeparator))
|
|
||||||
}
|
|
||||||
},
|
|
||||||
)
|
|
||||||
for ((key, value) in config.environment) spec.environment(key, config.replace(lazyTokens, value))
|
for ((key, value) in config.environment) spec.environment(key, config.replace(lazyTokens, value))
|
||||||
}
|
}
|
||||||
|
@ -53,8 +53,8 @@ checkstyle = "10.3.4"
|
|||||||
curseForgeGradle = "1.0.14"
|
curseForgeGradle = "1.0.14"
|
||||||
errorProne-core = "2.18.0"
|
errorProne-core = "2.18.0"
|
||||||
errorProne-plugin = "3.0.1"
|
errorProne-plugin = "3.0.1"
|
||||||
fabric-loom = "1.2.7"
|
fabric-loom = "1.3.7"
|
||||||
forgeGradle = "6.0.6"
|
forgeGradle = "6.0.8"
|
||||||
githubRelease = "2.2.12"
|
githubRelease = "2.2.12"
|
||||||
ideaExt = "1.1.6"
|
ideaExt = "1.1.6"
|
||||||
illuaminate = "0.1.0-28-ga7efd71"
|
illuaminate = "0.1.0-28-ga7efd71"
|
||||||
|
Loading…
Reference in New Issue
Block a user