-
Notifications
You must be signed in to change notification settings - Fork 89
ci: Implement Replay Checker #1366
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
…eCode into ci-replays # Conflicts: # .github/workflows/build-toolchain.yml
Ok, I updated it again. The CI now uses the replays and maps here: https://github.com/TheSuperHackers/GeneralsReplays |
@tintinhamans Can you supply these things whereever they need to go? |
They are already in this repository. It's just that they are hidden for pending PRs for security reasons. That's why it's failing currently. Once this PR is merged, all CI Jobs will work. Also all Pending PRs will work from then on, because the data will be in the cache. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some minor comments
Implemented all suggestions |
GitHub says "This branch cannot be rebased due to conflicts". Cannot merge? |
Just pushed merge of main into this PR. Maybe that helps. |
This got merged with a bad commit title |
Fixes #1201
Initial attempt here: #1239
This PR adds automatic checking of replays for compatibility to CI.
It also adds an additional configuration
vc6-releaselog
to CMakePresets.json. It compiles the game with optimizations, logging and crashing enabled. That configuration is still compatible and also checked in the CI.It also adds two more headless checks:
MessageBoxWrapper
since a recent change no longer checks whether there is a window in the current thread.The CI internally downloads some gamedata files which are needed to simulate the replay. These gamedata files are trimmed of files which are not needed in headless mode (audio, textures, GUI). They are also encrypted so only the CI runner can access them.
The replays and maps the CI uses to check are also added here to the repository.
The new replaycheck job happens after the VC6 build is complete. Luckily, the VC6 build is currently much faster than the VS22 build and as such the replaycheck and the VS22 build can run in parallel. This PR therefore doesn't increase the runtime of CI much (about a minute).
Before this can be merged, these things still need to happen:
ArcticDolphin needs to upload the file to s3Issue Debug VC6 build crashes #1365 needs to be fixed