hpfxd / PandaSpigot

Fork of Paper for 1.8.8 focused on improved performance and stability.
GNU General Public License v3.0
238 stars 65 forks source link

[ci skip] Cache refinement #114

Open mechoriet opened 1 year ago

mechoriet commented 1 year ago

since cache will never change its just wasted time to decompile / patch the whole paper base every single time

only problem is its hard to test offline if it works but from act but with no build it seems to be doing all the steps but don't seem to be doing the cache part in the local test program

mechoriet commented 1 year ago

also was able to test if caching worked locally after some fiddling for now its a seperated "base" key for pr's and master but with the hard limit of like 5gb of cache allowed if it works alright we change change it to a global cache for all since it shouldn't change for ever

with cache existing already:

[Build/build]   💬  ::debug::["cache-paper-base-master"]
[Build/build]   💬  ::debug::Checking zstd --quiet --version
[Build/build]   💬  ::debug::1.5.0
[Build/build]   💬  ::debug::zstd version: 1.5.0
[Build/build]   💬  ::debug::Resource Url: http://localhost:8080/_apis/artifactcache/cache?keys=cache-paper-base-master&version=41ad5e1f714cae03d19749a15891020766a9362d0fe036bdebed9c076d25c1be
[Build/build]   ⚙  ***
[Build/build]   💬  ::debug::Cache Result:
[Build/build]   💬  ::debug::{"result":"hit","archiveLocation":"***","cacheKey":"cache-paper-base-master"}
[Build/build]   💬  ::debug::Archive Path: /tmp/def20154-1e7a-4f06-a46b-26806dcb87b8/cache.tzst
[Build/build]   💬  ::debug::Use Azure SDK: true
[Build/build]   💬  ::debug::Download concurrency: 8
[Build/build]   💬  ::debug::Request timeout (ms): 30000
[Build/build]   💬  ::debug::Cache segment download timeout mins env var: undefined
[Build/build]   💬  ::debug::Segment download timeout (ms): 600000
[Build/build]   💬  ::debug::Lookup only: false
| Cache Size: ~65 MB (67749670 B)
| [command]/usr/bin/tar -xf /tmp/def20154-1e7a-4f06-a46b-26806dcb87b8/cache.tzst -P -C /home/mechoriet/PandaSpigot-clean --use-compress-program unzstd
| Cache restored successfully
| Cache restored from key: cache-paper-base-master
[Build/build]   ✅  Success - Main Check cache for Paper Base
[Build/build]   ⚙  ::set-output:: cache-hit=true
[Build/build] ⭐ Run Main Apply patches

without cache:

[Build/build]   💬  ::debug::Resolved Keys:
[Build/build]   💬  ::debug::["cache-paper-base-master"]
[Build/build]   💬  ::debug::Checking zstd --quiet --version
[Build/build]   💬  ::debug::1.5.0
[Build/build]   💬  ::debug::zstd version: 1.5.0
[Build/build]   💬  ::debug::Resource Url: http://localhost:8080/_apis/artifactcache/cache?keys=cache-paper-base-master&version=41ad5e1f714cae03d19749a15891020766a9362d0fe036bdebed9c076d25c1be
[Build/build]   💬  ::debug::Failed to delete archive: Error: ENOENT: no such file or directory, unlink ''
| Cache not found for input keys: cache-paper-base-master
[Build/build]   ✅  Success - Main Check cache for Paper Base
[Build/build] ⭐ Run Main Setup build environment
[Build/build]   🐳  docker exec cmd=[bash --noprofile --norc -e -o pipefail /var/run/act/workflow/4] user= workdir=
| Submodule path 'Bukkit': checked out '01d1820664a5f881665b84b28871dadd132deaef'
| Submodule path 'CraftBukkit': checked out '741a1bdf3db8c4d5237407df2872d9857427bfaf'
| Submodule path 'Paperclip': checked out '2d4c7b3bbd322d8b7f3bbe2fe33ecf627251c828'
| Downloading unmapped vanilla jar...

and then sequential build after that it detected the cache made so if we for some reason have to delete the cache it will just rebuild it again