mirror of
https://code.forgejo.org/actions/cache.git
synced 2024-12-23 12:36:01 +01:00
Adding examples for OCaml/esy (#199)
* Adding examples for esy as a workflow for OCaml files * track v1 instead of v1.1.2 Co-Authored-By: Josh Gross <joshmgross@github.com> * add link in the readme for ocaml-esy * ocaml -> ocaml/reason * link in readme says ocaml/reason Co-authored-by: Josh Gross <joshmgross@github.com>
This commit is contained in:
parent
8e9c167fd7
commit
826785142a
2 changed files with 55 additions and 17 deletions
|
@ -68,6 +68,7 @@ See [Examples](examples.md) for a list of `actions/cache` implementations for us
|
||||||
- [Java - Maven](./examples.md#java---maven)
|
- [Java - Maven](./examples.md#java---maven)
|
||||||
- [Node - npm](./examples.md#node---npm)
|
- [Node - npm](./examples.md#node---npm)
|
||||||
- [Node - Yarn](./examples.md#node---yarn)
|
- [Node - Yarn](./examples.md#node---yarn)
|
||||||
|
- [OCaml/Reason - esy](./examples.md##ocamlreason---esy)
|
||||||
- [PHP - Composer](./examples.md#php---composer)
|
- [PHP - Composer](./examples.md#php---composer)
|
||||||
- [Python - pip](./examples.md#python---pip)
|
- [Python - pip](./examples.md#python---pip)
|
||||||
- [R - renv](./examples.md#r---renv)
|
- [R - renv](./examples.md#r---renv)
|
||||||
|
|
71
examples.md
71
examples.md
|
@ -1,22 +1,32 @@
|
||||||
# Examples
|
# Examples
|
||||||
|
|
||||||
- [C# - NuGet](#c---nuget)
|
- [Examples](#examples)
|
||||||
- [Elixir - Mix](#elixir---mix)
|
- [C# - NuGet](#c---nuget)
|
||||||
- [Go - Modules](#go---modules)
|
- [Elixir - Mix](#elixir---mix)
|
||||||
- [Haskell - Cabal](#haskell---cabal)
|
- [Go - Modules](#go---modules)
|
||||||
- [Java - Gradle](#java---gradle)
|
- [Haskell - Cabal](#haskell---cabal)
|
||||||
- [Java - Maven](#java---maven)
|
- [Java - Gradle](#java---gradle)
|
||||||
- [Node - npm](#node---npm)
|
- [Java - Maven](#java---maven)
|
||||||
- [Node - Yarn](#node---yarn)
|
- [Node - npm](#node---npm)
|
||||||
- [PHP - Composer](#php---composer)
|
- [macOS and Ubuntu](#macos-and-ubuntu)
|
||||||
- [Python - pip](#python---pip)
|
- [Windows](#windows)
|
||||||
- [R - renv](#r---renv)
|
- [Using multiple systems and `npm config`](#using-multiple-systems-and-npm-config)
|
||||||
- [Ruby - Bundler](#ruby---bundler)
|
- [Node - Yarn](#node---yarn)
|
||||||
- [Rust - Cargo](#rust---cargo)
|
- [OCaml/Reason - esy](#ocamlreason---esy)
|
||||||
- [Scala - SBT](#scala---sbt)
|
- [PHP - Composer](#php---composer)
|
||||||
- [Swift, Objective-C - Carthage](#swift-objective-c---carthage)
|
- [Python - pip](#python---pip)
|
||||||
- [Swift, Objective-C - CocoaPods](#swift-objective-c---cocoapods)
|
- [Simple example](#simple-example)
|
||||||
- [Swift - Swift Package Manager](#swift---swift-package-manager)
|
- [Multiple OS's in a workflow](#multiple-oss-in-a-workflow)
|
||||||
|
- [Using a script to get cache location](#using-a-script-to-get-cache-location)
|
||||||
|
- [R - renv](#r---renv)
|
||||||
|
- [Simple example](#simple-example-1)
|
||||||
|
- [Multiple OS's in a workflow](#multiple-oss-in-a-workflow-1)
|
||||||
|
- [Ruby - Bundler](#ruby---bundler)
|
||||||
|
- [Rust - Cargo](#rust---cargo)
|
||||||
|
- [Scala - SBT](#scala---sbt)
|
||||||
|
- [Swift, Objective-C - Carthage](#swift-objective-c---carthage)
|
||||||
|
- [Swift, Objective-C - CocoaPods](#swift-objective-c---cocoapods)
|
||||||
|
- [Swift - Swift Package Manager](#swift---swift-package-manager)
|
||||||
|
|
||||||
## C# - NuGet
|
## C# - NuGet
|
||||||
Using [NuGet lock files](https://docs.microsoft.com/nuget/consume-packages/package-references-in-project-files#locking-dependencies):
|
Using [NuGet lock files](https://docs.microsoft.com/nuget/consume-packages/package-references-in-project-files#locking-dependencies):
|
||||||
|
@ -170,6 +180,33 @@ The yarn cache directory will depend on your operating system and version of `ya
|
||||||
${{ runner.os }}-yarn-
|
${{ runner.os }}-yarn-
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## OCaml/Reason - esy
|
||||||
|
Esy allows you to export built dependencies and import pre-built dependencies.
|
||||||
|
```yaml
|
||||||
|
- name: Restore Cache
|
||||||
|
id: restore-cache
|
||||||
|
uses: actions/cache@v1
|
||||||
|
with:
|
||||||
|
path: _export
|
||||||
|
key: ${{ runner.os }}-esy-${{ hashFiles('esy.lock/index.json') }}
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-esy-
|
||||||
|
- name: Esy install
|
||||||
|
run: 'esy install'
|
||||||
|
- name: Import Cache
|
||||||
|
run: |
|
||||||
|
esy import-dependencies _export
|
||||||
|
rm -rf _export
|
||||||
|
|
||||||
|
...(Build job)...
|
||||||
|
|
||||||
|
# Re-export dependencies if anything has changed or if it is the first time
|
||||||
|
- name: Setting dependency cache
|
||||||
|
run: |
|
||||||
|
esy export-dependencies
|
||||||
|
if: steps.restore-cache.outputs.cache-hit != 'true'
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
## PHP - Composer
|
## PHP - Composer
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue