rhysd / rhysd/action-setup-vim

Install directory should be under `$RUNNER_TEMP` instead of `$HOME`

Open
#54 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
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.

https://docs.github.com/en/actions/reference/workflows-and-actions/variables#default-environment-variables

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:

  1. Add outputs.install-dir output and recommend users using it. We need to consider how to handle the case where Vim/Neovim is installed via system's package manager
  2. Add notice that 'the default installation directory can change in the future so you should not rely on it'
  3. Change the default installation directory with minor version bump

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.