1
0
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:
Jonathan Coates 2023-07-05 20:57:56 +01:00
parent efa92b741b
commit e337a63712
No known key found for this signature in database
GPG Key ID: B9E431FF07C98D06
3 changed files with 29 additions and 45 deletions

View File

@ -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

View File

@ -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))
} }

View File

@ -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"