From 028d01341fd06f20b7d881b4c2e9433303567603 Mon Sep 17 00:00:00 2001
From: Michael Vorburger <mike@vorburger.ch>
Date: Fri, 16 Feb 2024 18:19:19 +0100
Subject: [PATCH] Add ASDF example

---
 examples.md | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/examples.md b/examples.md
index 1bcde91..e5389cf 100644
--- a/examples.md
+++ b/examples.md
@@ -39,6 +39,7 @@
 - [Swift, Objective-C - CocoaPods](#swift-objective-c---cocoapods)
 - [Swift - Swift Package Manager](#swift---swift-package-manager)
 - [Swift - Mint](#swift---mint)
+- [* - ASDF](#---asdf)
 - [* - Bazel](#---bazel)
 
 ## C# - NuGet
@@ -659,6 +660,38 @@ steps:
         ${{ runner.os }}-mint-
 ```
 
+## * - ASDF
+
+[ASDF](https://asdf-vm.com), see [#235](https://github.com/asdf-vm/actions/issues/235):
+
+```yaml
+- name: Setup ASDF itself
+  uses: asdf-vm/actions/setup@v3
+
+- name: Cache ASDF
+  uses: actions/cache@v4
+  id: asdf-cache
+  with:
+    # https://github.com/asdf-vm/asdf/blob/master/.gitignore
+    path: |
+      ~/.asdf/installs
+      ~/.asdf/plugins
+      ~/.asdf/shims
+    key: ${{ runner.os }}-asdf-tools-${{ hashFiles('.tool-versions') }}
+    restore-keys: ${{ runner.os }}-asdf-tools-
+
+- name: Install ASDF plugins
+  uses: asdf-vm/actions/install@v3
+  # See https://github.com/asdf-vm/actions/issues/445
+  if: ${{ steps.asdf-cache.outputs.cache-hit != 'true' }}
+  with:
+    asdf_branch: v0.14.0
+
+- name: Reshim installed ASDF tools
+  shell: bash
+  run: asdf reshim
+```
+
 ## * - Bazel
 
 [`bazelisk`](https://github.com/bazelbuild/bazelisk) does not have be to separately downloaded and installed because it's already included in GitHub's `ubuntu-latest` and `macos-latest` base images.