Read-only mirror — the public repositories of the Forgejo instance, refreshed every 10 minutes. The live instance (fg.dieschoenewolke.de) is reachable only over the VPN; clone here with https://git.dieschoenewolke.de/git/<owner>/<repo>.git.
summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/git-source-settings.ts5
-rw-r--r--src/input-helper.ts1
-rw-r--r--src/url-helper.ts3
3 files changed, 8 insertions, 1 deletions
diff --git a/src/git-source-settings.ts b/src/git-source-settings.ts
index 629350b..4e41ac3 100644
--- a/src/git-source-settings.ts
+++ b/src/git-source-settings.ts
@@ -95,6 +95,11 @@ export interface IGitSourceSettings {
sshStrict: boolean
/**
+ * The SSH user to login as
+ */
+ sshUser: string
+
+ /**
* Indicates whether to persist the credentials on disk to enable scripting authenticated git commands
*/
persistCredentials: boolean
diff --git a/src/input-helper.ts b/src/input-helper.ts
index e546c19..e230a55 100644
--- a/src/input-helper.ts
+++ b/src/input-helper.ts
@@ -143,6 +143,7 @@ export async function getInputs(): Promise<IGitSourceSettings> {
result.sshKnownHosts = core.getInput('ssh-known-hosts')
result.sshStrict =
(core.getInput('ssh-strict') || 'true').toUpperCase() === 'TRUE'
+ result.sshUser = core.getInput('ssh-user')
// Persist credentials
result.persistCredentials =
diff --git a/src/url-helper.ts b/src/url-helper.ts
index 6807b7f..64ecbf3 100644
--- a/src/url-helper.ts
+++ b/src/url-helper.ts
@@ -12,7 +12,8 @@ export function getFetchUrl(settings: IGitSourceSettings): string {
const encodedOwner = encodeURIComponent(settings.repositoryOwner)
const encodedName = encodeURIComponent(settings.repositoryName)
if (settings.sshKey) {
- return `git@${serviceUrl.hostname}:${encodedOwner}/${encodedName}.git`
+ const user = settings.sshUser.length > 0 ? settings.sshUser : 'git'
+ return `${user}@${serviceUrl.hostname}:${encodedOwner}/${encodedName}.git`
}
// "origin" is SCHEME://HOSTNAME[:PORT]