Переглянути джерело

committing work so far - still doesn't work for docker registry apps

Feroze Mohideen 2 роки тому
батько
коміт
a81fc7ab65

+ 6 - 6
dashboard/src/lib/hooks/useGithubWorkflow.ts

@@ -4,13 +4,13 @@ import { useContext, useEffect, useState } from "react";
 import { Context } from "shared/Context";
 import api from "shared/api";
 
-export const useGithubWorkflow = (appData: any) => {
+export const useGithubWorkflow = (appData: any, hasBuiltImage: boolean) => {
     const { currentProject, currentCluster } = useContext(Context);
     const [githubWorkflowFilename, setGithubWorkflowName] = useState<string>("");
 
-    const createUseQuery = (fileName: string) => {
+    const createUseQuery = (fileName: string, hasBuiltImage: boolean) => {
         return useQuery(
-            [`checkForApplicationWorkflow_${fileName}`, currentProject?.id, currentCluster?.id],
+            [`checkForApplicationWorkflow_${fileName}`, currentProject?.id, currentCluster?.id, githubWorkflowFilename, appData, hasBuiltImage],
             async () => {
                 console.log("checking for workflow file", fileName)
                 console.log("here is the github workflow name", githubWorkflowFilename)
@@ -42,16 +42,16 @@ export const useGithubWorkflow = (appData: any) => {
                 }
             },
             {
-                enabled: !!currentProject && !!currentCluster && !!appData && githubWorkflowFilename === "",
+                enabled: !hasBuiltImage && !!currentProject && !!currentCluster && !!appData && githubWorkflowFilename === "",
                 refetchInterval: 5000,
                 refetchOnWindowFocus: false,
             }
         );
     }
 
-    const { data: applicationWorkflowCheck, isLoading: isLoadingApplicationWorkflow } = createUseQuery(`porter_stack_${appData?.name}.yml`);
+    const { data: applicationWorkflowCheck, isLoading: isLoadingApplicationWorkflow } = createUseQuery(`porter_stack_${appData?.name}.yml`, hasBuiltImage);
 
-    const { data: defaultWorkflowCheck, isLoading: isLoadingDefaultWorkflow } = createUseQuery(`porter.yml`);
+    const { data: defaultWorkflowCheck, isLoading: isLoadingDefaultWorkflow } = createUseQuery(`porter.yml`, hasBuiltImage);
 
     useEffect(() => {
         if (!!applicationWorkflowCheck) {

+ 60 - 3
dashboard/src/main/home/app-dashboard/expanded-app/ExpandedApp.tsx

@@ -847,8 +847,65 @@ const ExpandedApp: React.FC<Props> = ({ ...props }) => {
             </Fieldset>
           ) : (
             <>
-              {!githubWorkflowFilename ? (
-                isLoading || isLoadingWorkflowFile ? (
+              {hasBuiltImage ? (
+                <>
+                  <DarkMatter />
+                  <PorterAppRevisionSection
+                    showRevisions={showRevisions}
+                    toggleShowRevisions={() => {
+                      setShowRevisions(!showRevisions);
+                    }}
+                    chart={appData.chart}
+                    setRevision={setRevision}
+                    forceRefreshRevisions={forceRefreshRevisions}
+                    refreshRevisionsOff={() => setForceRefreshRevisions(false)}
+                    shouldUpdate={
+                      appData.chart.latest_version &&
+                      appData.chart.latest_version !==
+                      appData.chart.chart.metadata.version
+                    }
+                    updatePorterApp={updatePorterApp}
+                    latestVersion={appData.chart.latest_version}
+                    appName={appData.app.name}
+                  />
+                  <DarkMatter antiHeight="-18px" />
+                </>)
+                :
+                githubWorkflowFilename ? (
+                  <Banner
+                    suffix={
+                      <>
+                        <RefreshButton
+                          onClick={() => window.location.reload()}
+                        >
+                          <img src={refresh} />
+                          Refresh
+                        </RefreshButton>
+                      </>
+                    }
+                  >
+                    Your GitHub repo has not been built yet.
+                    <Spacer inline width="5px" />
+                    <Link
+                      hasunderline
+                      target="_blank"
+                      to={`https://github.com/${appData.app.repo_name}/actions`}
+                    >
+                      Check status
+                    </Link>
+                  </Banner>
+                ) : (
+                  <GHABanner
+                    repoName={appData.app.repo_name}
+                    branchName={appData.app.git_branch}
+                    pullRequestUrl={appData.app.pull_request_url}
+                    stackName={appData.app.name}
+                    gitRepoId={appData.app.git_repo_id}
+                    porterYamlPath={appData.app.porter_yaml_path}
+                  />
+                )}
+              {/* {!githubWorkflowFilename ? (
+                isLoading ? (
                   <Banner>
                     <Loading />
                   </Banner>
@@ -914,7 +971,7 @@ const ExpandedApp: React.FC<Props> = ({ ...props }) => {
                   />
                   <DarkMatter antiHeight="-18px" />
                 </>
-              )}
+              )} */}
               <Spacer y={1} />
               <AnimateHeight height={showUnsavedChangesBanner ? 67 : 0}>
                 <Banner