Comments (1)
I am also looking forward to this. As a workaround I have created the following custom action, which installs and caches a single asdf plugin.
name: "Install asdf"
description: "Installs asdf"
inputs:
plugin:
description: "The asdf plugin to install. Must be set in ./.tool-versions"
required: true
runs:
using: "composite"
steps:
- name: Determine plugin version
shell: bash
id: determine_version
run: echo "version=$(grep '^${{ inputs.plugin }}' ./.tool-versions | awk '{print $2}')" >> $GITHUB_OUTPUT
- name: cache asdf
id: cache-asdf
uses: actions/cache@v3
with:
path: ~/.asdf
key: ${{ runner.os }}-asdf-${{ inputs.plugin }}-${{ steps.determine_version.outputs.version }}
- name: setup asdf
if: steps.cache-asdf.outputs.cache-hit != 'true'
uses: asdf-vm/actions/setup@v2
- name: Install asdf plugin
shell: bash
if: steps.cache-asdf.outputs.cache-hit != 'true'
run: |
asdf plugin add ${{ inputs.plugin }}
asdf install ${{ inputs.plugin }} ${{ steps.determine_version.outputs.version }}
You can test use it inside your workflow by:
name: build
on:
push:
branches: main
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Cache and install java
uses: ./.github/actions/install-and-cache-asdf-plugins
with:
plugin: java
With the following directory structure:
├── .github
│ ├── actions
│ │ └── install-and-cache-asdf-plugins
│ │ └── action.yml
│ └── workflows
│ └── build.yml
from actions.
Related Issues (20)
- Use Existing Setup Actions When Available HOT 3
- The action doesn't work when we cache the `/home/runner/.asdf` folder with Github Cache action HOT 5
- Actions fails to install nodejs lts version HOT 4
- Upgrade to Node.js 16 HOT 4
- Are these actions no longer released? HOT 8
- New Release HOT 2
- feat: CI tooling for asdf plugins which checks for asdf core banned_commands
- Add Contribution guide
- Local git hooks to ensure format and build etc are successful before push
- Enable semver major action references eg: `install@v2` HOT 2
- Update Node.js HOT 3
- [bug] MacOS build replaces `version` with literal `https` in download URL HOT 4
- Setting up asdf fails HOT 1
- asdf install task fails HOT 1
- Install asdf step occasionally fails with an error: URL using bad/illegal format or missing URL
- Allow `asdf-vm/actions/install` (to pass) without `.tool-versions` file HOT 1
- Install with `tools` (only allowlisted tools, with versions from `.tool-versions`)
- Add support for configuring asdf inside wsl
- windows-latest test broken HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from actions.