Open konradpabjan opened 4 years ago
This is reasonably important for sensitive things such as temporary secrets on self-hosted runners on macOS or Windows where containers are not possible.
For the googlers coming here: In the case of a Docker-based action, one CANNOT access that. See https://github.community/t/how-can-i-access-the-current-repo-context-and-files-from-a-docker-container-action/17711/8 for details.
What about using the runner's temporary directory runner.temp
?
runner.temp
doesn't appear to be writeable.
is there a usage example that demonstrates creating & deleting files in the runner.temp
directory?
runner.temp
doesn't appear to be writeable. is there a usage example that demonstrates creating & deleting files in therunner.temp
directory?
https://docs.github.com/en/actions/learn-github-actions/contexts#example-usage-of-the-runner-context
The runner has a temporary directory that gets cleaned up after each job. You can access it by doing
process.env['RUNNER_TEMP']
, this can be used for a lot of things such as creating temporary files for tests or during a job and users don't need to worry about this being cleaned up.A lot of first party actions and third party actions could use this. A lot of first party actions are in-fact using the
temp
directory currently:setup-java
andsetup-python
will soon be using thetemp
directory too for a variety of thingsA method should be added to either
@actions/io
or@actions/core
that will allow users to quickly get a temporary directory.There should also be documentation added that mentions when this gets cleaned up, and under what circumstances it won't (runner crashes)