Installs stack and adds it to the path.
Example usage:
steps:
- uses: unisonweb/actions/stack/install@main
with:
version: 2.9.1
version is optional.
Restore the global and local stack work directories from a cache
Example usage:
steps:
- name: restore stack caches
id: restore-stack-caches
uses: unisonweb/actions/stack/cache/restore@main
with:
cache-prefix: ci
- name: check result
if: steps.restore-stack-caches.outputs.cache-hit == 'true'
run: echo "Found an exact match!"
shell: bash
The caches are keyed by the cache prefix, the OS, and the resolver version in your stack.yaml, and the contents of your stack.yaml and package.yaml.
For a partial hit, only the cache prefix, the OS, and the resolver version must match, so you can use the cache-prefix input to distinguish between caches you wouldn't want to use as fallbacks, even if the OS and resolver match.
cache-prefix: The cache prefix to use for ~/.stack, e.g. "release" or "ci". Required.
work-cache-prefix: The cache prefix to use for **/.stack-work. Defaults to the same as cache-prefix.
stack-yaml-dir: The directory to search for stack.yaml. Defaults to "."
lookup-only: If 'true', only checks if cache entry exists and skips download. Defaults to 'false'. Note that due to technical limitations, these are strings, not Booleans.
cache-hit: Whether the .stack cache was restored with an exact match.
work-cache-hit: 'true' or 'false', whether the .stack-work cache was restored with an exact match. Note that due to technical limitations, these are strings, not Booleans.
Save the global and local stack work directories to caches.
Due to a technical limitation, these actions provide independent restore and save functionality. This is in contrast to the github/actions/cache action which automatically saves at the end of a succesful run, whenever there was not an exact cache hit during restore.
Instead, you have to do this manually: restoring at the start, and saving at the end whenever there was not an exact cache hit during restore.
Example usage:
steps:
- name: save stack caches
if: steps.restore-stack-caches.outputs.cache-hit != 'true'
uses: unisonweb/actions/stack/cache/save@main
with:
cache-prefix: ci
cache-prefix: The cache prefix to use for ~/.stack, e.g. "release" or "ci". Required.
work-cache-prefix: The cache prefix to use for **/.stack-work. Defaults to the same as cache-prefix.
stack-yaml-dir: The directory to search for stack.yaml. Defaults to "."
lookup-only: If 'true', only checks if cache entry exists and skips download. Defaults to 'false'. Note that due to technical limitations, these are strings, not Booleans.