diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index c97fe95..2bfe2a0 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -45,6 +45,17 @@ jobs: run: npm run lint - name: Build & Test run: npm run test + - name: Ensure dist/ folder is up-to-date + if: ${{ runner.os == 'Linux' }} + shell: bash + run: | + npm run build + if [ "$(git status --porcelain | wc -l)" -gt "0" ]; then + echo "Detected uncommitted changes after build. See status below:" + git diff + exit 1 + fi + # End to end save and restore test-save: diff --git a/README.md b/README.md index a979c38..33fe48c 100644 --- a/README.md +++ b/README.md @@ -61,6 +61,7 @@ Every programming language and framework has its own way of caching. See [Examples](examples.md) for a list of `actions/cache` implementations for use with: - [C# - Nuget](./examples.md#c---nuget) +- [D - DUB](./examples.md#d---dub) - [Elixir - Mix](./examples.md#elixir---mix) - [Go - Modules](./examples.md#go---modules) - [Haskell - Cabal](./examples.md#haskell---cabal) diff --git a/examples.md b/examples.md index e9f43cc..ce31929 100644 --- a/examples.md +++ b/examples.md @@ -2,6 +2,7 @@ - [Examples](#examples) - [C# - NuGet](#c---nuget) + - [D - DUB](#d---dub) - [Elixir - Mix](#elixir---mix) - [Go - Modules](#go---modules) - [Haskell - Cabal](#haskell---cabal) @@ -57,6 +58,30 @@ steps: ${{ runner.os }}-nuget- ``` +## D - DUB + +### POSIX + +```yaml +- uses: actions/cache@v1 + with: + path: ~/.dub + key: ${{ runner.os }}-dub-${{ hashFiles('**/dub.json') }} + restore-keys: | + ${{ runner.os }}-dub- +``` + +### Windows + +```yaml +- uses: actions/cache@v1 + with: + path: ~\AppData\Local\dub + key: ${{ runner.os }}-dub-${{ hashFiles('**/dub.json') }} + restore-keys: | + ${{ runner.os }}-dub- +``` + ## Elixir - Mix ```yaml - uses: actions/cache@v1