boomboompower / SkinChanger

The SkinChanger mod, a simple forge mod designed to implement in-game dynamic skin and cape switching
https://no.boomy.wtf/?name=SkinChanger
Other
15 stars 3 forks source link

Make CI automatically build and distribute the mod JAR file #13

Closed boomboompower closed 4 years ago

boomboompower commented 4 years ago

As the name suggests, we want to implement a CI which automatically runs on each pull request, and on each push to the actual main branch of the mod.

Being a CI, all tasks listed below will be entirely automated.

Build operating systems

Each operating system should run a few major tasks

  1. Setting up the workspace
  2. Run gradlew setupCIWorkspace - We use setupCIWorkspace instead of setupDecompWorkspace because it sets up the bare minumum required to build the jar
  3. Run gradlew build

Additional tasks

The Linux job will require additional options. After the completion of gradlew build the CI should send the built JAR file along with the source to Github Releases.

boomboompower commented 4 years ago

Note:

Here's a list of all CI commits as of now. The ones at the top are the first, and the ones at the end are the most recent.

CI Commits

https://github.com/boomboompower/SkinChanger/commit/73c54693f207d441975bfda4cf083c10b599ac40 - Create gradle.yml https://github.com/boomboompower/SkinChanger/commit/e842a2f0493c5a19d1f58b2df2c7beda8789bac7 - Update gradle.yml https://github.com/boomboompower/SkinChanger/commit/a9f2009da8d16fa1b4e06e0630424d70fbbd8bec - Update gradle.yml https://github.com/boomboompower/SkinChanger/commit/af51b0fe470f1d551b60df27ed4950428b8885e8 - Update gradle.yml https://github.com/boomboompower/SkinChanger/commit/624b947a1e26592b413f29fed5acfc2579c7942d - Remove debug attribute https://github.com/boomboompower/SkinChanger/commit/fdd7bc30599776cc03d6ffa0593036e8cb6f7cef - Update ForgeGradle.yml https://github.com/boomboompower/SkinChanger/commit/9417ca00f28d0d3ea155803a1543cb94d5a5f154 - Update ForgeGradle.yml https://github.com/boomboompower/SkinChanger/commit/be61bd1d5a3829b736096d0037977f0bdf57a1b6 - Update ForgeGradle.yml https://github.com/boomboompower/SkinChanger/commit/900ec308408d6f03e2d3d05c2b109c29eef8f650 - Force delete on workflow https://github.com/boomboompower/SkinChanger/commit/8ab4d03ea62084ee77b5538868bbc22f30a96730 - For fun https://github.com/boomboompower/SkinChanger/commit/a778a2d6910aabdb698cd4686588e9b1c718fbe4 - Try with windows? https://github.com/boomboompower/SkinChanger/commit/86c29e387d7c66c652e9ccf662b2ad9a971c00d7 - Update and rename ForgeGradle.yml to ForgeGradleCI.yml https://github.com/boomboompower/SkinChanger/commit/373a6a2c5f28d8d20d9f7848fe213168f20343cb - Getting bored of this now https://github.com/boomboompower/SkinChanger/commit/b361a6126e3de7e935d741d5edddb90adeb450d2 - change to linux https://github.com/boomboompower/SkinChanger/commit/8d10c24db63aa4a09369c291c5f2fb51f36c1eea - Don't bother obfuscating jar https://github.com/boomboompower/SkinChanger/commit/d8b38a842ed081c2ca8e5a973e252675dff4a511 - Finally get CI working and add documentation https://github.com/boomboompower/SkinChanger/commit/49b67ea13983ebdf40f1233c9173d92beb47e333 - Fix documentation spelling https://github.com/boomboompower/SkinChanger/commit/40effa1823e49c8b246d58e8fed05a4a187b8949 - add windows https://github.com/boomboompower/SkinChanger/commit/8cf86cacc929599a5978bc09d24883e121adb263 - Add macOS to CI https://github.com/boomboompower/SkinChanger/commit/07b24fc808664635008b27efcae50973c58c04cd - Add chmod to macOS https://github.com/boomboompower/SkinChanger/commit/ccd6bc15b5dd27e0e5864b17815b3c11abc91a28 - artifacts https://github.com/boomboompower/SkinChanger/commit/882461b0d996312ae60da2f920a20d3196c80dbd - Update ForgeGradleCI.yml https://github.com/boomboompower/SkinChanger/commit/1c5c52f133d516314688d89e7f690b3a3e4caa0a - Beta CI https://github.com/boomboompower/SkinChanger/commit/b94f89d6397cbe37fa904ac4e97262c68b64ae0d - Fix Mixin's breaking the gradle build command https://github.com/boomboompower/SkinChanger/commit/f1231d50299200e65a3ece32d2fbaa7966a4331a - Try adding run id? https://github.com/boomboompower/SkinChanger/commit/d0f7b85d32997dbf6f16f4931f25e40e857962fc - Put sources in 1 jar https://github.com/boomboompower/SkinChanger/commit/3acea1f425dfcd8c02363a0d2954b8378ed92327 - Revert previous commit & add deobfuscated sources to github

boomboompower commented 4 years ago

Although this is marked as closed, there is more work which can be done on this in the future so I'll leave the in progress tag on the issue. Any new commits which relate to the CI will be referenced here as well.

boomboompower commented 4 years ago

1.7.10 does not build sources and therefore has a slightly modified build script (pushed in https://github.com/boomboompower/SkinChanger/commit/e047ee97d924830b503e8c6ece22c6e40f4d1dd6)

This should be noted for those wanting the 1.7.10 sources.