2023-01-25 19:12:07 +01:00
|
|
|
name: Cache dependencies
|
|
|
|
inputs:
|
|
|
|
platform:
|
|
|
|
required: true
|
|
|
|
target:
|
|
|
|
required: true
|
|
|
|
arch:
|
|
|
|
required: true
|
|
|
|
outputs:
|
|
|
|
cache-hit:
|
|
|
|
value: ${{ steps.cache.outputs.cache-hit }}
|
|
|
|
runs:
|
|
|
|
using: "composite"
|
|
|
|
steps:
|
|
|
|
- name: Hash submodule revisions
|
|
|
|
id: hash
|
|
|
|
working-directory: addons/godot_xterm/native/thirdparty
|
|
|
|
shell: bash
|
|
|
|
run: |
|
|
|
|
godot_cpp_rev=$(git ls-tree HEAD godot-cpp --object-only)
|
|
|
|
libuv_rev=$(git ls-tree HEAD libuv --object-only)
|
|
|
|
libtsm_rev=$(git ls-tree HEAD libtsm --object-only)
|
|
|
|
hash_cmd=$([[ $RUNNER_OS == 'Windows' ]] && echo 'sha1sum' || echo 'shasum')
|
|
|
|
hash_of_hashes=$(echo -n "$godot_cpp_rev$libuv_rev$libtsm_rev" | $hash_cmd | head -c 40)
|
|
|
|
echo "hash=$hash_of_hashes" >> $GITHUB_OUTPUT
|
|
|
|
build_files_hash=${{ hashFiles('**/build.sh', '**/*.Dockerfile', '**/SConstruct', '**/*.yml') }}
|
|
|
|
echo "build-files-hash=$build_files_hash" >> $GITHUB_OUTPUT
|
|
|
|
- name: Cache submodules
|
|
|
|
uses: actions/cache@v3
|
|
|
|
id: cache
|
|
|
|
with:
|
2024-03-03 02:08:09 +01:00
|
|
|
path: |
|
|
|
|
addons/godot_xterm/native/thirdparty/libuv
|
|
|
|
addons/godot_xterm/native/thirdparty/node-pty
|
2023-01-25 19:12:07 +01:00
|
|
|
key: thirdparty-${{ inputs.platform }}-${{ inputs.arch }}-${{ inputs.target }}-${{ steps.hash.outputs.hash }}-${{ steps.hash.outputs.build-files-hash }}
|
|
|
|
restore-keys: |
|
|
|
|
thirdparty-${{ inputs.platform }}-${{ inputs.arch }}-${{ inputs.target }}-${{ steps.hash.outputs.hash }}-
|
|
|
|
thirdparty-${{ inputs.platform }}-${{ inputs.arch }}-${{ inputs.target }}-
|
|
|
|
- name: Scons cache
|
|
|
|
uses: actions/cache@v3
|
|
|
|
with:
|
|
|
|
path: "${{github.workspace}}/.scons-cache/"
|
|
|
|
key: scons-${{ inputs.platform }}-${{ inputs.arch }}-${{ inputs.target }}-${{ steps.hash.outputs.hash }}-${{ steps.hash.outputs.build-files-hash }}
|
|
|
|
restore-keys: |
|
|
|
|
scons-${{ inputs.platform }}-${{ inputs.arch }}-${{ inputs.target }}-${{ steps.hash.outputs.hash }}-
|
|
|
|
scons-${{ inputs.platform }}-${{ inputs.arch }}-${{ inputs.target }}-
|