Skip to content

unisonweb/actions

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

@unisonweb/actions/stack/install

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.

@unisonweb/actions/stack/cache/restore

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.

Inputs

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.

Outputs

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.

@unisonweb/actions/stack/cache/save

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

Inputs

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.

About

Github Actions and Workflows

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published