UE4SS-RE / RE-UE4SS

Injectable LUA scripting system, SDK generator, live property editor and other dumping utilities for UE4/5 games
http://docs.ue4ss.com/
MIT License
1.38k stars 188 forks source link

feat: build caching #508

Closed Buckminsterfullerene02 closed 6 months ago

Buckminsterfullerene02 commented 6 months ago

Description

Adds github action caching to the release actions. Currently it only works for xmake dependency downloads, so cuts down about 30% of the build time. Could not get it to work for incremental compiling though (tried adding --ccache=y to build target command, and adding build.cache policy in xmake.lua).

Type of change

How Has This Been Tested?

Ran experimental action on branch a few times to check that the caching is being done properly.

Checklist

N/A

bitonality commented 6 months ago

(tried adding --ccache=y to build target command, and adding build.cache policy in `xmake.lua).

the ccache option should be part of configuration and not build command - i.e. xmake f -m "Game__Shipping__Win64" --ccache=y

Not sure if that's what you meant, let me know.

bitonality commented 6 months ago

Also dumb question,

Is ccache installed on the runner?

Buckminsterfullerene02 commented 6 months ago

(tried adding --ccache=y to build target command, and adding build.cache policy in `xmake.lua).

the ccache option should be part of configuration and not build command - i.e. xmake f -m "Game__Shipping__Win64" --ccache=y

Not sure if that's what you meant, let me know.

Yeah, that's what I meant when I said "build target command".

Buckminsterfullerene02 commented 6 months ago

Also dumb question,

Is ccache installed on the runner?

I just assumed it was part of xmake, so I don't know...

Buckminsterfullerene02 commented 6 months ago

Turns out the build.cache policy really messes up proxy gen so I think it's better to just not touch that...

bitonality commented 6 months ago

Turns out the build.cache policy really messes up proxy gen so I think it's better to just not touch that...

I'm open to investigating that once we've made some more headway in linux-land. This first pass dependency cache is already a big step in the right direction.