fix: accept ssh/scheme-less git repo urls and $var: refs in app repo resolution (#10246)

* fix(git-sync): accept ssh/scheme-less repo urls and $var: refs in app repo resolution

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix(git-sync): interpolate repo urls at github-call sites only, not in persisted markers

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* chore: update ee-repo-ref to 183f78b3ee193d6b5e55fd453c570f94a12c8b13

This commit updates the EE repository reference after PR #681 was merged in windmill-ee-private.

Previous ee-repo-ref: 9bc5018f68edf3a9f256ef6315ad6ddf4fba3a45

New ee-repo-ref: 183f78b3ee193d6b5e55fd453c570f94a12c8b13

Automated by sync-ee-ref workflow.

---------

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: windmill-internal-app[bot] <windmill-internal-app[bot]@users.noreply.github.com>
This commit is contained in:
hugocasa
2026-07-22 00:26:15 +02:00
committed by GitHub
parent 50f1375f18
commit b948efd3c8
4 changed files with 35 additions and 14 deletions
@@ -3523,7 +3523,8 @@ async fn edit_git_sync_config(
tracing::warn!("git auto-pull: webhook field persist error: {}", e);
}
for (path, hook_id) in removed_webhooks {
if let Ok(url) = windmill_common::git_sync_ee::resolve_repo_url(&db, &w_id, &path).await
if let Ok(url) =
windmill_common::git_sync_ee::resolve_repo_url_interpolated(&db, &w_id, &path).await
{
let _ =
windmill_common::git_sync_ee::delete_repo_webhook(&db, &w_id, &url, hook_id)
@@ -3882,7 +3883,7 @@ async fn delete_git_sync_repository(
// Removal is durable now — best-effort delete the GitHub webhook.
#[cfg(all(feature = "enterprise", feature = "private"))]
if let Some(hook_id) = webhook_to_delete {
if let Ok(url) = windmill_common::git_sync_ee::resolve_repo_url(
if let Ok(url) = windmill_common::git_sync_ee::resolve_repo_url_interpolated(
&db,
&w_id,
&request.git_repo_resource_path,
@@ -7071,7 +7072,8 @@ async fn attach_dev_workspace(
// (their auto_pull is gone), so remove them from GitHub.
#[cfg(all(feature = "enterprise", feature = "private"))]
for (path, hook_id) in stripped_webhooks {
if let Ok(url) = windmill_common::git_sync_ee::resolve_repo_url(&db, &dev_w_id, &path).await
if let Ok(url) =
windmill_common::git_sync_ee::resolve_repo_url_interpolated(&db, &dev_w_id, &path).await
{
let _ =
windmill_common::git_sync_ee::delete_repo_webhook(&db, &dev_w_id, &url, hook_id)