Skip to content

Build centralization, CI hardening, and repo hygiene - #48

Open
carabistouflette wants to merge 4 commits into
Yucareux:mainfrom
carabistouflette:dev/improvements
Open

Build centralization, CI hardening, and repo hygiene#48
carabistouflette wants to merge 4 commits into
Yucareux:mainfrom
carabistouflette:dev/improvements

Conversation

@carabistouflette

@carabistouflette carabistouflette commented Aug 9, 2026

Copy link
Copy Markdown

Build system

  • Add a Gradle version catalog (gradle/libs.versions.toml) as the single source of truth for shared dependency and plugin versions; refactor all five module build files (Fabric + NeoForge for MC 1.20.1/1.21.1/26.2) to consume it.
  • Root build.gradle derives aggregate tasks and per-target convenience tasks (build1201, runClient262, ...) from a targets table instead of hardcoded module wiring.
  • Hoist four byte-identical files (TellusChunkLodGenerator, DimensionTypeHighYMixin, LevelHighYPackedCoordinateMixin, HighYPackedCoordinateProfile) from every module into the shared source tree.

CI

  • Build the five targets in a parallel matrix (fail-fast: false) and upload jars as workflow artifacts for playtesting (14-day retention).
  • Validate Gradle wrapper checksums (gradle/actions/wrapper-validation).
  • Cache per-target Loom caches (.gradle/loom-cache), which the Gradle user-home cache does not cover, to cut cold-run remap time.
  • Least-privilege permissions and concurrency cancellation.

Repo hygiene & docs

  • Add .editorconfig, .gitattributes, CHANGELOG.md, Dependabot config (GitHub Actions + Gradle version catalog), and issue/PR templates.
  • README: document the tellus.* runtime configuration properties with defaults and ranges, add a "Building from source" section, and fix the stale Fabric-only intro.
  • Compress the 4.5 MiB header image to a 275 KiB JPEG.

Verification

  • ./gradlew build green for all five targets: 362–382 tests per module, 0 failures (the shared test suite runs in every module).
  • New workflow steps are YAML-validated; the CI matrix runs on this PR's push.

@carabistouflette carabistouflette changed the title Build, CI, and repo hygiene improvements Build centralization, CI hardening, and repo hygiene Aug 9, 2026
@carabistouflette

Copy link
Copy Markdown
Author

@Yucareux I can remove some of the changes if you feel there is too much going on

@carabistouflette

Copy link
Copy Markdown
Author

like dividing into multiple PR maybe

- Add Gradle version catalog (gradle/libs.versions.toml) as the single
  source of truth for shared dependency and plugin versions; refactor all
  five module build files to consume it.
- Root build.gradle now derives aggregate and per-target convenience tasks
  from the subproject list instead of hardcoding module names.
- Hoist four byte-identical files (TellusChunkLodGenerator,
  DimensionTypeHighYMixin, LevelHighYPackedCoordinateMixin,
  HighYPackedCoordinateProfile) from every module into the shared source
  tree.
- CI: build the five targets in a parallel matrix and upload jars as
  workflow artifacts for playtesting.
- Add .editorconfig and CHANGELOG.md.
- README: document the tellus.* runtime configuration properties with
  defaults and ranges.
- Compress the 4.5 MiB header image to a 275 KiB JPEG.
- CI: validate Gradle wrapper checksums, cache per-target Loom caches,
  cap artifact retention at 14 days
- Add Dependabot config for GitHub Actions and the Gradle version catalog
- Add .gitattributes (LF for scripts/sources, CRLF for batch, binary for
  jars and images)
- Add bug report and pull request templates
- README: add Building from source section, document the optional DH
  runtime property and the Mapterhorn catalog tool, fix stale Fabric-only
  intro
- CHANGELOG: document the new developer-experience changes
v4.6.2 runs on deprecated Node 20, warned on the last CI run. v5 is the
first line with the Node 24 runtime; pin to the v5 tag commit.
The v5 and v6 lines still target the deprecated Node 20 runtime; v7.0.1
is the first release using node24, which removes the runner deprecation
warning.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant