SiegeEngineers / auto-mods

some data mods, generated programmatically, so they can be recreated automagically for every new patch
MIT License
18 stars 11 forks source link

CI/CD - Github Actions #8

Open simonsan opened 3 years ago

simonsan commented 3 years ago

Do we want to activate Github Actions in this repository and have some basic CI? For the beginning just to check if it still builds when people PR? In the future maybe even autoupdating mods and uploading them to the Mod workshop after a new update or so?

Usage:

HSZemi commented 3 years ago

I can think of at least three issues with updating mods through GitHub Actions:

  1. You need to have access to the most recent original game asset (dat file)
  2. You need to be able to push new mod versions to the mod centre, so you need to have access to user credentials for that etc.
  3. Mods need to be updated if there is a new dat file or if their specific implementation changes – both cases difficult to catch with a GitHub action I guess
simonsan commented 3 years ago

I can think of at least three issues with updating mods through GitHub Actions:

1. You need to have access to the most recent original game asset (dat file)

Afaik StepS said, that auto-mods is a really valuable resource for people to automatically update their mods. We could ask if that DAT file could be stored somewhere on official servers where we could download it being authenticated. Just as an idea.

2. You need to be able to push new mod versions to the mod centre, so you need to have access to user credentials for that etc.

You can store credentials easily within Github as a Github Secret. I don't think that would be a big problem.

3. Mods need to be updated if there is a new dat file or if their specific implementation changes – both cases difficult to catch with a GitHub action I guess

Implementation changes come with pushes/PRs to master, so that might be not as hard to catch automatically. An action can run on master also by a Cron or whenever there is a PR merged/a commit pushed.

For the new dat file I would probably rely on point 1 or we start having a developer steam account for the SiegeEngineers group where we have a license for AoE2DE and could pull in new versions automatically via CLI. Then we could download that new AoE2DE version once, run our tools against it to extract all the interesting data (for SiegeEngineers/aoc-reference-data, automatic extraction of data for the tech tree etc. pp) and version it for us for the use in our repositories. That would make it possible to have AoE2DE versions somehow being integrated in many automatic workflows.