From bb77590f756c0bc823451d4d3e9a8a0b5bc445d7 Mon Sep 17 00:00:00 2001 From: Atharva Deosthale Date: Thu, 14 Aug 2025 19:26:06 +0530 Subject: [PATCH] chore: move github stuff to a different function --- .../sites/create-site/deploy/+page.svelte | 68 ++++++++++--------- 1 file changed, 37 insertions(+), 31 deletions(-) diff --git a/src/routes/(console)/project-[region]-[project]/sites/create-site/deploy/+page.svelte b/src/routes/(console)/project-[region]-[project]/sites/create-site/deploy/+page.svelte index 12f5d0870..725514620 100644 --- a/src/routes/(console)/project-[region]-[project]/sites/create-site/deploy/+page.svelte +++ b/src/routes/(console)/project-[region]-[project]/sites/create-site/deploy/+page.svelte @@ -115,6 +115,39 @@ } } + async function fetchLatestGitHubTag(): Promise { + try { + const tagsResponse = await fetch( + `https://api.github.com/repos/${data.repository.owner}/${data.repository.name}/tags` + ); + + if (!tagsResponse.ok) { + addNotification({ + type: 'error', + message: 'Failed to fetch tags from GitHub.' + }); + return null; + } + + const tags = await tagsResponse.json(); + if (tags.length === 0) { + addNotification({ + type: 'error', + message: 'No tags found in repository. Please create a tag before deploying.' + }); + return null; + } + + return tags[0].name; + } catch (error) { + addNotification({ + type: 'error', + message: 'Failed to fetch tags from GitHub: ' + error.message + }); + return null; + } + } + async function create() { if (!domainIsValid) { addNotification({ @@ -162,37 +195,10 @@ ); await Promise.all(promises); - // Fetch tags from GitHub API - let latestTag = ''; - try { - const tagsResponse = await fetch( - `https://api.github.com/repos/${data.repository.owner}/${data.repository.name}/tags` - ); - if (tagsResponse.ok) { - const tags = await tagsResponse.json(); - if (tags.length > 0) { - latestTag = tags[0].name; - } else { - addNotification({ - type: 'error', - message: - 'No tags found in repository. Please create a tag before deploying.' - }); - return; - } - } else { - addNotification({ - type: 'error', - message: 'Failed to fetch tags from GitHub.' - }); - return; - } - } catch (error) { - addNotification({ - type: 'error', - message: 'Failed to fetch tags from GitHub: ' + error.message - }); - return; + // Fetch latest tag from GitHub + const latestTag = await fetchLatestGitHubTag(); + if (!latestTag) { + return; // Error already handled in helper function } // Create deployment from GitHub repository using the latest tag