diff --git a/apps/dokploy/components/dashboard/application/general/generic/save-git-provider.tsx b/apps/dokploy/components/dashboard/application/general/generic/save-git-provider.tsx index 3d6f6a38..2613174b 100644 --- a/apps/dokploy/components/dashboard/application/general/generic/save-git-provider.tsx +++ b/apps/dokploy/components/dashboard/application/general/generic/save-git-provider.tsx @@ -44,6 +44,7 @@ const GitProviderSchema = z.object({ branch: z.string().min(1, "Branch required"), sshKey: z.string().optional(), watchPaths: z.array(z.string()).optional(), + recurseSubmodules: z.boolean().default(true), }); type GitProvider = z.infer; @@ -67,6 +68,7 @@ export const SaveGitProvider = ({ applicationId }: Props) => { repositoryURL: "", sshKey: undefined, watchPaths: [], + recurseSubmodules: true, }, resolver: zodResolver(GitProviderSchema), }); @@ -79,6 +81,7 @@ export const SaveGitProvider = ({ applicationId }: Props) => { buildPath: data.customGitBuildPath || "/", repositoryURL: data.customGitUrl || "", watchPaths: data.watchPaths || [], + recurseSubmodules: data.recurseSubmodules ?? true, }); } }, [form.reset, data, form]); @@ -91,6 +94,7 @@ export const SaveGitProvider = ({ applicationId }: Props) => { customGitSSHKeyId: values.sshKey === "none" ? null : values.sshKey, applicationId, watchPaths: values.watchPaths || [], + recurseSubmodules: values.recurseSubmodules, }) .then(async () => { toast.success("Git Provider Saved"); @@ -294,6 +298,23 @@ export const SaveGitProvider = ({ applicationId }: Props) => { )} /> + ( + + + + + Recurse Submodules + + )} + />
diff --git a/apps/dokploy/components/dashboard/application/general/generic/save-github-provider.tsx b/apps/dokploy/components/dashboard/application/general/generic/save-github-provider.tsx index 202c7f88..30df1812 100644 --- a/apps/dokploy/components/dashboard/application/general/generic/save-github-provider.tsx +++ b/apps/dokploy/components/dashboard/application/general/generic/save-github-provider.tsx @@ -57,6 +57,7 @@ const GithubProviderSchema = z.object({ branch: z.string().min(1, "Branch is required"), githubId: z.string().min(1, "Github Provider is required"), watchPaths: z.array(z.string()).optional(), + recurseSubmodules: z.boolean().default(true), }); type GithubProvider = z.infer; @@ -81,6 +82,7 @@ export const SaveGithubProvider = ({ applicationId }: Props) => { }, githubId: "", branch: "", + recurseSubmodules: true, }, resolver: zodResolver(GithubProviderSchema), }); @@ -124,6 +126,7 @@ export const SaveGithubProvider = ({ applicationId }: Props) => { buildPath: data.buildPath || "/", githubId: data.githubId || "", watchPaths: data.watchPaths || [], + recurseSubmodules: data.recurseSubmodules ?? true, }); } }, [form.reset, data, form]); @@ -137,6 +140,7 @@ export const SaveGithubProvider = ({ applicationId }: Props) => { buildPath: data.buildPath, githubId: data.githubId, watchPaths: data.watchPaths || [], + recurseSubmodules: data.recurseSubmodules, }) .then(async () => { toast.success("Service Provided Saved"); @@ -458,6 +462,23 @@ export const SaveGithubProvider = ({ applicationId }: Props) => { )} /> + ( + + + + + Recurse Submodules + + )} + />