From 00792c7ba32d1415f7f6e99e807a1e8312aecf67 Mon Sep 17 00:00:00 2001 From: Matthijs Berends <31037261+msberends@users.noreply.github.com> Date: Fri, 6 Jun 2025 09:20:07 +0200 Subject: [PATCH 1/3] Update action.yml --- setup-r/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup-r/action.yml b/setup-r/action.yml index 936b2c53..e20678d1 100644 --- a/setup-r/action.yml +++ b/setup-r/action.yml @@ -65,7 +65,7 @@ inputs: Windows.' default: false extra-repositories: - description: 'One or more extra CRAN-like repositories to include in the `repos` global option' + description: 'One or more extra CRAN-like repositories to include in the `repos` global option. This must be a single character; multiple repos can be set using a comma: "https://repo1.org, https://repo2.org".' default: '' working-directory: description: > From b4736c63cc905129cfc526110ffc2aad5c635db3 Mon Sep 17 00:00:00 2001 From: Matthijs Berends <31037261+msberends@users.noreply.github.com> Date: Fri, 6 Jun 2025 13:03:00 +0200 Subject: [PATCH 2/3] Update action.yml --- setup-r/action.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/setup-r/action.yml b/setup-r/action.yml index e20678d1..8fe0fef1 100644 --- a/setup-r/action.yml +++ b/setup-r/action.yml @@ -65,7 +65,9 @@ inputs: Windows.' default: false extra-repositories: - description: 'One or more extra CRAN-like repositories to include in the `repos` global option. This must be a single character; multiple repos can be set using a comma: "https://repo1.org, https://repo2.org".' + description: 'One or more extra CRAN-like repositories to include in the `repos` global + option. This can be a single character (e.g., "https://repo1.org, https://repo2.org") or + mutiple characters on separate lines.' default: '' working-directory: description: > From 4baf6d72dbc8e3d0b6a9194e2298135dcc7825bb Mon Sep 17 00:00:00 2001 From: Matthijs Berends <31037261+msberends@users.noreply.github.com> Date: Fri, 6 Jun 2025 13:10:21 +0200 Subject: [PATCH 3/3] Update installer.ts --- setup-r/src/installer.ts | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/setup-r/src/installer.ts b/setup-r/src/installer.ts index 85356903..1446405d 100644 --- a/setup-r/src/installer.ts +++ b/setup-r/src/installer.ts @@ -703,16 +703,19 @@ async function setupRLibrary(version: IRVersion) { : `"${core.getInput("http-user-agent")}"`; } - // Split the repositories by whitespace and then quote each entry joining with commas - let extra_repositories = core.getInput("extra-repositories"); - // Prepend a , if there are extra repositories - if (extra_repositories) { + // Read multiline input which supports both YAML list and comma-separated string + let extra_repositories = core.getMultilineInput("extra-repositories", { trimWhitespace: true }); + + if (extra_repositories.length > 0) { extra_repositories = extra_repositories - .split(/\s+/) - .map((x) => `"${x}"`) + .flatMap((x) => x.split(/\s*,\s*/)) // split comma-separated lines if any + .filter((x) => x.length > 0) // remove empty strings + .map((x) => `"${x}"`) // quote each .join(","); extra_repositories = ",\n " + extra_repositories; + } else { + extra_repositories = ""; } await fs.promises.writeFile(