Add the option to specify the destination path (#20)

This commit is contained in:
Elias 2023-08-19 00:37:38 +03:00 committed by GitHub
parent fa24b0e3ce
commit fade7a72bc
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 10 additions and 7 deletions

View file

@ -11,12 +11,11 @@ A GitHub Action for extracting files from a Docker Image.
## Inputs
All inputs are required.
| ID | Description | Examples |
| ------- | ---------------------------------------------------- | --------------------------------------------- |
| `image` | Docker Image to extract files from | `alpine` `ghcr.io/github/super-linter:latest` |
| `path` | Path (from root) to a file or directory within Image | `files/example.txt` `files` `files/.` |
| ID | Description | Required | Examples |
| ------------- | ---------------------------------------------------- | :------: | --------------------------------------------- |
| `image` | Docker Image to extract files from | ✅ | `alpine` `ghcr.io/github/super-linter:latest` |
| `path` | Path (from root) to a file or directory within Image | ✅ | `files/example.txt` `files` `files/.` |
| `destination` | Destination path for the extracted files | ❌ | `/foo/` `~/` `./foo/bar` |
> :paperclip: To copy the **contents** of a directory the `path` must end with
> `/.` otherwise the directory itself will be copied. More information about the

View file

@ -8,6 +8,9 @@ inputs:
path:
description: 'Path (from root) to a file or directory within Image'
required: true
destination:
description: 'Destination path for the extracted files'
required: false
outputs:
destination:
description: 'Destination of extracted file(s)'

View file

@ -5,7 +5,8 @@ async function run() {
try {
const image = core.getInput('image');
const path = core.getInput('path');
const destination = `.extracted-${Date.now()}`;
const destination = core.getInput('destination') || `.extracted-${Date.now()}`;
const create = `docker cp $(docker create ${image}):/${path} ${destination}`;
await exec.exec(`mkdir -p ${destination}`);