Skip to content

feat(site): display build logs history in the build log page #9150

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 6 commits into from
Aug 17, 2023
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Solve PR comments
  • Loading branch information
BrunoQuaresma committed Aug 17, 2023
commit a1928ffe767978d0dada6231570dceb689e1cad0
3 changes: 3 additions & 0 deletions site/src/pages/WorkspaceBuildPage/WorkspaceBuildPage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import { WorkspaceBuildPageView } from "./WorkspaceBuildPageView"
import { useQuery } from "@tanstack/react-query"
import { getWorkspaceBuilds } from "api/api"
import dayjs from "dayjs"
import { usePermissions } from "hooks"

export const WorkspaceBuildPage: FC = () => {
const params = useParams() as {
Expand All @@ -32,6 +33,7 @@ export const WorkspaceBuildPage: FC = () => {
},
enabled: Boolean(build),
})
const permissions = usePermissions()

useEffect(() => {
send("RESET", { buildNumber, timeCursor: new Date() })
Expand All @@ -54,6 +56,7 @@ export const WorkspaceBuildPage: FC = () => {
build={build}
builds={builds}
activeBuildNumber={buildNumber}
hasDeploymentBanner={permissions.viewDeploymentStats}
/>
</>
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,20 +6,21 @@ import {
} from "../../testHelpers/entities"
import { WorkspaceBuildPageView } from "./WorkspaceBuildPageView"

const defaultBuilds = [...Array(15).keys()].map((i) => ({
const defaultBuilds = Array.from({ length: 15 }, (_, i) => ({
...MockWorkspaceBuild,
id: `${i}`,
build_number: i,
}))

const meta: Meta<typeof WorkspaceBuildPageView> = {
title: "components/WorkspaceBuildPageView",
title: "pages/WorkspaceBuildPageView",
component: WorkspaceBuildPageView,
args: {
build: MockWorkspaceBuild,
logs: MockWorkspaceBuildLogs,
builds: defaultBuilds,
activeBuildNumber: defaultBuilds[0].build_number,
hasDeploymentBanner: false,
},
}

Expand Down
18 changes: 14 additions & 4 deletions site/src/pages/WorkspaceBuildPage/WorkspaceBuildPageView.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -39,15 +39,22 @@ export interface WorkspaceBuildPageViewProps {
build: WorkspaceBuild | undefined
builds: WorkspaceBuild[] | undefined
activeBuildNumber: number
hasDeploymentBanner: boolean
}

export const WorkspaceBuildPageView: FC<WorkspaceBuildPageViewProps> = ({
logs,
build,
builds,
activeBuildNumber,
hasDeploymentBanner,
}) => {
const styles = useStyles()
const navbarHeight = 62
const deploymentBannerHeight = 48
const heightOffset = hasDeploymentBanner
? navbarHeight + deploymentBannerHeight
: navbarHeight

if (!build) {
return <Loader />
Expand All @@ -56,7 +63,8 @@ export const WorkspaceBuildPageView: FC<WorkspaceBuildPageViewProps> = ({
return (
<Box
sx={{
height: "calc(100vh - 62px - 36px)",
// 62px is the navbar height
height: `calc(100vh - ${heightOffset}px)`,
overflow: "hidden",
// Remove padding added from dashboard layout (.siteContent)
marginBottom: "-48px",
Expand Down Expand Up @@ -123,9 +131,10 @@ export const WorkspaceBuildPageView: FC<WorkspaceBuildPageViewProps> = ({
<Sidebar>
<SidebarCaption>Builds</SidebarCaption>
{!builds &&
[...Array(15).keys()].map((i) => (
Array.from({ length: 15 }, (_, i) => (
<BuildSidebarItemSkeleton key={i} />
))}

{builds?.map((build) => (
<BuildSidebarItem
key={build.id}
Expand Down Expand Up @@ -165,12 +174,13 @@ export const WorkspaceBuildPageView: FC<WorkspaceBuildPageViewProps> = ({
</Box>
</Alert>
)}
{!logs && <Loader />}
{logs && (
{logs ? (
<WorkspaceBuildLogs
sx={{ border: 0 }}
logs={sortLogsByCreatedAt(logs)}
/>
) : (
<Loader />
)}
</Box>
</Box>
Expand Down