rhysd / rhysd/action-setup-vim
Install directory should be under `$RUNNER_TEMP` instead of `$HOME`
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 166
- Forks
- 12
- PR merge metrics
- No merged PRs in 30d
Description
Currently Vim/Neovim is installed under $HOME (if they are not installed via system package manager). However $HOME is not safe for putting arbitrary directories. They may cause conflicts and the directories are not guaranteed to be cleaned up (especially in self-hosted runner).
GitHub Actions provides $RUNNER_TEMP directory path for this purpose. The temporary directory is guaranteed to be empty at the beginning of the job and be cleaned up at the end of the job.
action-setup-vim should use the directory. One downside of this change is that the change may break user's current workflow which directly depends on the path without using outputs.executable or outputs.vim-dir. We need to care about it and should take the following path:
- Add
outputs.install-diroutput and recommend users using it. We need to consider how to handle the case where Vim/Neovim is installed via system's package manager - Add notice that 'the default installation directory can change in the future so you should not rely on it'
- Change the default installation directory with minor version bump
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing how action-setup-vim chooses its installation directory and exposes outputs.executable and outputs.vim-dir, including the system package manager case. Define outputs.install-dir, document that the default path may change, use RUNNER_TEMP for managed installations, and apply the change with a minor version bump while considering existing workflows that depend on the path.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github-actions, vim
- Domain
- devops, tooling
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100