diff --git a/frontend/src/routes/(root)/(logged)/workspace_settings/+page.svelte b/frontend/src/routes/(root)/(logged)/workspace_settings/+page.svelte index f61708828a..59b772cb07 100644 --- a/frontend/src/routes/(root)/(logged)/workspace_settings/+page.svelte +++ b/frontend/src/routes/(root)/(logged)/workspace_settings/+page.svelte @@ -33,7 +33,7 @@ } from '$lib/stores' import { sendUserToast } from '$lib/toast' import { setQueryWithoutLoad, emptyString, tryEvery } from '$lib/utils' - import { Scroll, Slack, XCircle, RotateCw, CheckCircle2, X, Plus } from 'lucide-svelte' + import { Scroll, Slack, XCircle, RotateCw, CheckCircle2, X, Plus, Loader2 } from 'lucide-svelte' import BarsStaggered from '$lib/components/icons/BarsStaggered.svelte' import PremiumInfo from '$lib/components/settings/PremiumInfo.svelte' @@ -908,236 +908,243 @@
{/if} - {#if $enterpriseLicense} -
- -
- {/if} + {#if gitSyncSettings != undefined} + {#if $enterpriseLicense} +
+ +
+ {/if} -
-
- {#if Array.isArray(gitSyncSettings.include_path)} +
+
+ {#if Array.isArray(gitSyncSettings?.include_path)} +

Filter on path + Only scripts, flows and apps with their path matching one of those filters will be + synced to the Git repositories below. The filters allow '*'' and '**' characters, + with '*'' matching any character allowed in paths until the next slash (/) and + '**' matching anything including slashes. +
By default everything in folders will be synced. +

+ {#each gitSyncSettings.include_path ?? [] as gitSyncRegexpPath, idx} +
+ + +
+ {/each} + {/if} +
+ +
+
+ +

Filter on path - Only scripts, flows and apps with their path matching one of those filters will be - synced to the Git repositories below. The filters allow '*'' and '**' characters, - with '*'' matching any character allowed in paths until the next slash (/) and '**' - matching anything including slashes. -
By default everything in folders will be synced. + >Filter on type + On top of the filter path above, you can include only certain type of object to be + synced with the Git repository. +
By default everything is synced.

- {#each gitSyncSettings.include_path as gitSyncRegexpPath, idx} -
- - -
- {/each} - {/if} -
- -
-
- -
-

Filter on type - On top of the filter path above, you can include only certain type of object to be - synced with the Git repository. -
By default everything is synced. -

-
- - - - -
-
-
- -

Repositories to sync - The changes will be deployed to all the repositories set below. -

- {#if Array.isArray(gitSyncSettings.repositories)} - {#each gitSyncSettings.repositories as gitSyncRepository, idx} -
-
Repository #{idx + 1}
- -
-
- {#key gitSyncRepository} - { - gitSyncRepository.git_repo_resource_path = ev.detail - }} - /> - - {/key} -
-
- {#if gitSyncSettings.repositories.filter((settings) => settings.git_repo_resource_path === gitSyncRepository.git_repo_resource_path).length > 1} - Using the same resource twice is not allowed. - {/if} - {#if gitSyncTestJobs[idx].status !== undefined} - {#if gitSyncTestJobs[idx].status === 'running'} - - {:else if gitSyncTestJobs[idx].status === 'success'} - - {:else} - - {/if} - Git sync resource checked via Windmill job - - {gitSyncTestJobs[idx].jobId} - WARNING: Only read permissions are verified. - {/if} -
- -
- {#if gitSyncSettings} +
- {/if} + + + +
- {/each} - {/if} +
-
- -
+ {#if Array.isArray(gitSyncSettings.repositories)} + {#each gitSyncSettings.repositories as gitSyncRepository, idx} +
+
Repository #{idx + 1}
+ +
+
+ {#key gitSyncRepository} + { + gitSyncRepository.git_repo_resource_path = ev.detail + }} + /> + + {/key} +
+
+ {#if gitSyncSettings.repositories.filter((settings) => settings.git_repo_resource_path === gitSyncRepository.git_repo_resource_path).length > 1} + Using the same resource twice is not allowed. + {/if} + {#if gitSyncTestJobs[idx].status !== undefined} + {#if gitSyncTestJobs[idx].status === 'running'} + + {:else if gitSyncTestJobs[idx].status === 'success'} + + {:else} + + {/if} + Git sync resource checked via Windmill job + + {gitSyncTestJobs[idx].jobId} + WARNING: Only read permissions are verified. + {/if} +
-
-
Git repository initial setup
+
+ {#if gitSyncSettings} + + {/if} +
+ {/each} + {/if} -
- Every time a script is deployed, only the updated script will be pushed to the remote Git - repository. +
+ +
-
+
+
Git repository initial setup
- For the git repo to be representative of the entire workspace, it is recommended to set it - up using the Windmill CLI before turning this option on. +
+ Every time a script is deployed, only the updated script will be pushed to the remote + Git repository. -

+
- Not familiar with Windmill CLI? - Check out the docs + For the git repo to be representative of the entire workspace, it is recommended to set + it up using the Windmill CLI before turning this option on. -

+

- Run the following commands from the git repo folder to push the initial workspace content - to the remote: + Not familiar with Windmill CLI? + Check out the docs -
+

-
wmill workspace add  {$workspaceStore} {$workspaceStore} {`${$page.url.protocol}//${$page.url.hostname}/`}
+						Run the following commands from the git repo folder to push the initial workspace
+						content to the remote:
+
+						
+ +
wmill workspace add  {$workspaceStore} {$workspaceStore} {`${$page.url.protocol}//${$page.url.hostname}/`}
 echo 'includes: ["f/**"]' > wmill.yaml
 wmill sync pull --raw --skip-variables --skip-secrets --skip-resources
 git add -A
 git commit -m 'Initial commit'
 git push
+ >
+
-
+ {:else} + + {/if} {:else if tab == 'default_app'}