mirror of
https://github.com/lihop/godot-xterm.git
synced 2024-11-10 04:40:25 +01:00
5108c7cabd
Creates a reusable action for caching submodules in the thirdparty directory.
34 lines
1.2 KiB
YAML
34 lines
1.2 KiB
YAML
name: Cache dependencies
|
|
inputs:
|
|
platform:
|
|
required: true
|
|
target:
|
|
required: true
|
|
bits:
|
|
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 "::set-output name=hash::$hash_of_hashes"
|
|
- name: Cache submodules
|
|
uses: actions/cache@v3
|
|
id: cache
|
|
with:
|
|
path: addons/godot_xterm/native/thirdparty
|
|
key: thirdparty-${{ inputs.platform }}-${{ inputs.bits }}-${{ inputs.target }}-${{ steps.hash.outputs.hash }}
|
|
restore-keys: |
|
|
thirdparty-${{ inputs.platform }}-${{ inputs.bits }}-${{ inputs.target }}-
|
|
thirdparty-${{ inputs.platform }}-${{ inputs.bits }}-
|