mirror of
https://github.com/harness/drone.git
synced 2025-05-29 18:55:05 +00:00
fix execution not starting if status is pending (#502)
This commit is contained in:
parent
a6dcc0a6ef
commit
e61b5f7334
@ -13,7 +13,7 @@ import { ExecutionState, ExecutionStatus } from 'components/ExecutionStatus/Exec
|
|||||||
import { getStatus } from 'utils/ExecutionUtils'
|
import { getStatus } from 'utils/ExecutionUtils'
|
||||||
import { PipeSeparator } from 'components/PipeSeparator/PipeSeparator'
|
import { PipeSeparator } from 'components/PipeSeparator/PipeSeparator'
|
||||||
import { timeDistance } from 'utils/Utils'
|
import { timeDistance } from 'utils/Utils'
|
||||||
import { useLiveTimer } from 'hooks/useLiveTimeHook'
|
import useLiveTimer from 'hooks/useLiveTimeHook'
|
||||||
import { CommitActions } from 'components/CommitActions/CommitActions'
|
import { CommitActions } from 'components/CommitActions/CommitActions'
|
||||||
import css from './ExecutionPageHeader.module.scss'
|
import css from './ExecutionPageHeader.module.scss'
|
||||||
|
|
||||||
@ -50,8 +50,9 @@ export function ExecutionPageHeader({
|
|||||||
const { getString } = useStrings()
|
const { getString } = useStrings()
|
||||||
const space = useGetSpaceParam()
|
const space = useGetSpaceParam()
|
||||||
const { routes } = useAppContext()
|
const { routes } = useAppContext()
|
||||||
|
const currentTime = useLiveTimer()
|
||||||
|
|
||||||
const isActive = executionInfo?.status === ExecutionState.RUNNING
|
const isActive = executionInfo?.status === ExecutionState.RUNNING
|
||||||
const currentTime = useLiveTimer(true)
|
|
||||||
|
|
||||||
if (!repoMetadata) {
|
if (!repoMetadata) {
|
||||||
return null
|
return null
|
||||||
|
@ -5,7 +5,7 @@ import type { TypesStage } from 'services/code'
|
|||||||
import { ExecutionState, ExecutionStatus } from 'components/ExecutionStatus/ExecutionStatus'
|
import { ExecutionState, ExecutionStatus } from 'components/ExecutionStatus/ExecutionStatus'
|
||||||
import { getStatus } from 'utils/ExecutionUtils'
|
import { getStatus } from 'utils/ExecutionUtils'
|
||||||
import { timeDistance } from 'utils/Utils'
|
import { timeDistance } from 'utils/Utils'
|
||||||
import { useLiveTimer } from 'hooks/useLiveTimeHook'
|
import useLiveTimer from 'hooks/useLiveTimeHook'
|
||||||
import css from './ExecutionStageList.module.scss'
|
import css from './ExecutionStageList.module.scss'
|
||||||
|
|
||||||
interface ExecutionStageListProps {
|
interface ExecutionStageListProps {
|
||||||
|
@ -1,11 +1,6 @@
|
|||||||
import { useState, useEffect } from 'react'
|
import { useState, useEffect } from 'react'
|
||||||
|
|
||||||
/**
|
const useLiveTimer = (isActive = true): number => {
|
||||||
* useLiveTimer returns the current time, updated every second.
|
|
||||||
*
|
|
||||||
* @param isActive - If true, the timer is active and updates every second.
|
|
||||||
*/
|
|
||||||
export function useLiveTimer(isActive: boolean): number {
|
|
||||||
const [currentTime, setCurrentTime] = useState(Date.now())
|
const [currentTime, setCurrentTime] = useState(Date.now())
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
@ -26,3 +21,5 @@ export function useLiveTimer(isActive: boolean): number {
|
|||||||
|
|
||||||
return currentTime
|
return currentTime
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export default useLiveTimer
|
||||||
|
@ -15,6 +15,7 @@ import { Split } from 'components/Split/Split'
|
|||||||
import { ExecutionPageHeader } from 'components/ExecutionPageHeader/ExecutionPageHeader'
|
import { ExecutionPageHeader } from 'components/ExecutionPageHeader/ExecutionPageHeader'
|
||||||
import useSpaceSSE from 'hooks/useSpaceSSE'
|
import useSpaceSSE from 'hooks/useSpaceSSE'
|
||||||
import { ExecutionState } from 'components/ExecutionStatus/ExecutionStatus'
|
import { ExecutionState } from 'components/ExecutionStatus/ExecutionStatus'
|
||||||
|
import { getStatus } from 'utils/ExecutionUtils'
|
||||||
import noExecutionImage from '../RepositoriesListing/no-repo.svg'
|
import noExecutionImage from '../RepositoriesListing/no-repo.svg'
|
||||||
import css from './Execution.module.scss'
|
import css from './Execution.module.scss'
|
||||||
|
|
||||||
@ -58,7 +59,7 @@ const Execution = () => {
|
|||||||
executionRefetch()
|
executionRefetch()
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
shouldRun: execution?.status === ExecutionState.RUNNING
|
shouldRun: [ExecutionState.RUNNING, ExecutionState.PENDING].includes(getStatus(execution?.status))
|
||||||
})
|
})
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
@ -33,7 +33,7 @@ import { getStatus } from 'utils/ExecutionUtils'
|
|||||||
import useSpaceSSE from 'hooks/useSpaceSSE'
|
import useSpaceSSE from 'hooks/useSpaceSSE'
|
||||||
import { ExecutionText, ExecutionTrigger } from 'components/ExecutionText/ExecutionText'
|
import { ExecutionText, ExecutionTrigger } from 'components/ExecutionText/ExecutionText'
|
||||||
import useRunPipelineModal from 'components/RunPipelineModal/RunPipelineModal'
|
import useRunPipelineModal from 'components/RunPipelineModal/RunPipelineModal'
|
||||||
import { useLiveTimer } from 'hooks/useLiveTimeHook'
|
import useLiveTimer from 'hooks/useLiveTimeHook'
|
||||||
import noExecutionImage from '../RepositoriesListing/no-repo.svg'
|
import noExecutionImage from '../RepositoriesListing/no-repo.svg'
|
||||||
import css from './ExecutionList.module.scss'
|
import css from './ExecutionList.module.scss'
|
||||||
|
|
||||||
@ -45,7 +45,7 @@ const ExecutionList = () => {
|
|||||||
const pageBrowser = useQueryParams<PageBrowserProps>()
|
const pageBrowser = useQueryParams<PageBrowserProps>()
|
||||||
const pageInit = pageBrowser.page ? parseInt(pageBrowser.page) : 1
|
const pageInit = pageBrowser.page ? parseInt(pageBrowser.page) : 1
|
||||||
const [page, setPage] = usePageIndex(pageInit)
|
const [page, setPage] = usePageIndex(pageInit)
|
||||||
const currentTime = useLiveTimer(true)
|
const currentTime = useLiveTimer()
|
||||||
|
|
||||||
const { repoMetadata, error, loading, refetch, space } = useGetRepositoryMetadata()
|
const { repoMetadata, error, loading, refetch, space } = useGetRepositoryMetadata()
|
||||||
|
|
||||||
|
@ -40,7 +40,7 @@ import useNewPipelineModal from 'components/NewPipelineModal/NewPipelineModal'
|
|||||||
import { useGetSpaceParam } from 'hooks/useGetSpaceParam'
|
import { useGetSpaceParam } from 'hooks/useGetSpaceParam'
|
||||||
import useSpaceSSE from 'hooks/useSpaceSSE'
|
import useSpaceSSE from 'hooks/useSpaceSSE'
|
||||||
import { useConfirmAct } from 'hooks/useConfirmAction'
|
import { useConfirmAct } from 'hooks/useConfirmAction'
|
||||||
import { useLiveTimer } from 'hooks/useLiveTimeHook'
|
import useLiveTimer from 'hooks/useLiveTimeHook'
|
||||||
import { CommitActions } from 'components/CommitActions/CommitActions'
|
import { CommitActions } from 'components/CommitActions/CommitActions'
|
||||||
import noPipelineImage from '../RepositoriesListing/no-repo.svg'
|
import noPipelineImage from '../RepositoriesListing/no-repo.svg'
|
||||||
import css from './PipelineList.module.scss'
|
import css from './PipelineList.module.scss'
|
||||||
@ -54,7 +54,7 @@ const PipelineList = () => {
|
|||||||
const pageInit = pageBrowser.page ? parseInt(pageBrowser.page) : 1
|
const pageInit = pageBrowser.page ? parseInt(pageBrowser.page) : 1
|
||||||
const [page, setPage] = usePageIndex(pageInit)
|
const [page, setPage] = usePageIndex(pageInit)
|
||||||
const space = useGetSpaceParam()
|
const space = useGetSpaceParam()
|
||||||
const currentTime = useLiveTimer(true)
|
const currentTime = useLiveTimer()
|
||||||
|
|
||||||
const { repoMetadata, error, loading, refetch } = useGetRepositoryMetadata()
|
const { repoMetadata, error, loading, refetch } = useGetRepositoryMetadata()
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user