Skip to content

Commit d260dd3

Browse files
authored
Merge pull request #121 from ISISComputingGroup/gha_wall_display
github actions on wall display
2 parents 1e16f38 + 6846826 commit d260dd3

File tree

6 files changed

+108
-38
lines changed

6 files changed

+108
-38
lines changed

app/Footer.tsx

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,7 @@ import Image from "next/image";
55
export default function Footer() {
66
return (
77
<footer className="bg-white dark:bg-zinc-900 ">
8-
<div className="max-w-screen-xl px-4 py-12 mx-auto space-y-8 overflow-hidden sm:px-6 lg:px-8 w-full flex flex-col justify-center items-center ">
9-
<Link href="/" className="flex items-center justify-center ">
10-
<Image
11-
src="/WebDashboard/IBEX_logo.png"
12-
alt="IBEX Logo"
13-
className="h-16 w-auto"
14-
width={128}
15-
height={128}
16-
/>
17-
</Link>
8+
<div className="max-w-screen-xl p-4 mx-auto space-y-8 overflow-hidden sm:px-6 lg:px-8 w-full flex flex-col justify-center items-center ">
189
<nav className="flex flex-wrap justify-center -mx-5 -my-2">
1910
<Link
2011
href="/"
@@ -35,10 +26,19 @@ export default function Footer() {
3526
>
3627
Beam status
3728
</Link>
29+
<Link
30+
className="block py-2 px-3 rounded text-black dark:text-white hover:text-white hover:bg-zinc-800"
31+
href="https://github.com/ISISComputingGroup/WebDashboard"
32+
>
33+
<svg
34+
className="fill-current w-6 h-6"
35+
xmlns="http://www.w3.org/2000/svg"
36+
viewBox="0 0 24 24"
37+
>
38+
<path d="M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z" />
39+
</svg>
40+
</Link>
3841
</nav>
39-
<p className="mt-8 text-base leading-6 text-center text-gray-400">
40-
© 2024 Experiment Controls at ISIS. All rights reserved.
41-
</p>
4242
</div>
4343
</footer>
4444
);

app/__snapshots__/Footer.test.tsx.snap

Lines changed: 15 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -6,25 +6,8 @@ exports[`renders footer unchanged 1`] = `
66
class="bg-white dark:bg-zinc-900 "
77
>
88
<div
9-
class="max-w-screen-xl px-4 py-12 mx-auto space-y-8 overflow-hidden sm:px-6 lg:px-8 w-full flex flex-col justify-center items-center "
9+
class="max-w-screen-xl p-4 mx-auto space-y-8 overflow-hidden sm:px-6 lg:px-8 w-full flex flex-col justify-center items-center "
1010
>
11-
<a
12-
class="flex items-center justify-center "
13-
href="/"
14-
>
15-
<img
16-
alt="IBEX Logo"
17-
class="h-16 w-auto"
18-
data-nimg="1"
19-
decoding="async"
20-
height="128"
21-
loading="lazy"
22-
src="/_next/image?url=%2FWebDashboard%2FIBEX_logo.png&w=256&q=75"
23-
srcset="/_next/image?url=%2FWebDashboard%2FIBEX_logo.png&w=128&q=75 1x, /_next/image?url=%2FWebDashboard%2FIBEX_logo.png&w=256&q=75 2x"
24-
style="color: transparent;"
25-
width="128"
26-
/>
27-
</a>
2811
<nav
2912
class="flex flex-wrap justify-center -mx-5 -my-2"
3013
>
@@ -47,12 +30,21 @@ exports[`renders footer unchanged 1`] = `
4730
>
4831
Beam status
4932
</a>
33+
<a
34+
class="block py-2 px-3 rounded text-black dark:text-white hover:text-white hover:bg-zinc-800"
35+
href="https://github.com/ISISComputingGroup/WebDashboard"
36+
>
37+
<svg
38+
class="fill-current w-6 h-6"
39+
viewBox="0 0 24 24"
40+
xmlns="http://www.w3.org/2000/svg"
41+
>
42+
<path
43+
d="M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z"
44+
/>
45+
</svg>
46+
</a>
5047
</nav>
51-
<p
52-
class="mt-8 text-base leading-6 text-center text-gray-400"
53-
>
54-
© 2024 Experiment Controls at ISIS. All rights reserved.
55-
</p>
5648
</div>
5749
</footer>
5850
</div>
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
import Image from "next/image";
2+
3+
function GithubActionsJob({
4+
repo,
5+
workflowName,
6+
}: {
7+
repo: string;
8+
workflowName: string;
9+
}) {
10+
return (
11+
<div>
12+
<a
13+
href={`https://github.com/ISISComputingGroup/${repo}/actions/workflows/${workflowName}`}
14+
className={
15+
"flex-row flex items-center content-center h-10 w-full text-center rounded-lg bg-gray-800 border-2 border-black hover:border-white"
16+
}
17+
>
18+
<h2 className={"text-center text-lg w-1/2"}>{repo} </h2>
19+
<Image
20+
src={`https://github.com/ISISComputingGroup/${repo}/actions/workflows/${workflowName}/badge.svg`}
21+
alt={"ibex_bluesky_core lint-and-test-nightly badge"}
22+
className={"w-1/2 pr-2"}
23+
width={500}
24+
height={500}
25+
/>
26+
</a>
27+
</div>
28+
);
29+
}
30+
31+
export default function GithubActionsScheduledJobs() {
32+
return (
33+
<div
34+
className={
35+
"grid md:grid-cols-3 items-center gap-1.5 grid-cols-1 dark:text-white"
36+
}
37+
>
38+
<GithubActionsJob
39+
repo={"ibex_bluesky_core"}
40+
workflowName={"lint-and-test-nightly.yml"}
41+
/>
42+
<GithubActionsJob
43+
repo={"EPICS-inst_servers"}
44+
workflowName={"lint-and-test-nightly.yml"}
45+
/>
46+
<GithubActionsJob
47+
repo={"lewis"}
48+
workflowName={"lint-and-test-nightly.yml"}
49+
/>
50+
<GithubActionsJob
51+
repo={"genie"}
52+
workflowName={"lint-and-test-nightly.yml"}
53+
/>
54+
<GithubActionsJob
55+
repo={"ExperimentDatabasePopulator"}
56+
workflowName={"lint-and-test-nightly.yml"}
57+
/>
58+
<GithubActionsJob
59+
repo={"ibex_utils"}
60+
workflowName={"lint-and-test-nightly.yml"}
61+
/>
62+
<GithubActionsJob
63+
repo={"IBEX-device-generator"}
64+
workflowName={"lint-and-test-nightly.yml"}
65+
/>
66+
<GithubActionsJob
67+
repo={"WebDashboard"}
68+
workflowName={"lint-and-test-nightly.yml"}
69+
/>
70+
</div>
71+
);
72+
}

app/components/JenkinsJobs.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ export default function JenkinsJobs() {
6565
return (
6666
<div
6767
className={
68-
"grid md:grid-rows-8 md:grid-flow-col md:grid-cols-3 items-center gap-1.5 grid-cols-1"
68+
"grid md:grid-rows-7 md:grid-flow-col md:grid-cols-3 items-center gap-1.5 grid-cols-1"
6969
}
7070
>
7171
{data.map((job) => (

app/wall/page.tsx

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import JenkinsJobs from "../components/JenkinsJobs";
22
import InstrumentsDisplay from "@/app/components/InstrumentsDisplay";
3+
import GithubActionsScheduledJobs from "@/app/components/GithubActionsScheduledJobs";
34

45
export default function WallDisplay() {
56
return (
@@ -16,10 +17,14 @@ export default function WallDisplay() {
1617
<InstrumentsDisplay />
1718
</div>
1819
</div>
19-
<h1 className="w-full text-left text-black dark:text-white font-semibold text-2xl p-2 ">
20+
<h1 className="w-full text-left text-black dark:text-white font-semibold text-2xl p-2">
2021
Jenkins jobs:
2122
</h1>
2223
<JenkinsJobs />
24+
<h1 className="w-full text-left text-black dark:text-white font-semibold text-2xl p-2">
25+
Github actions scheduled workflows:
26+
</h1>
27+
<GithubActionsScheduledJobs />
2328
</div>
2429
</section>
2530
</main>

jest.config.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ const config: Config = {
1717
"!**/*layout.tsx",
1818
"!app/_app.tsx",
1919
"!app/components/JenkinsJobs.tsx", // relies on an external fetch
20+
"!app/components/GithubActionsScheduledJobs.tsx", // relies on an external image (CI badge)
2021
"!app/components/InstrumentData.tsx", // relies on websocket
2122
"!app/wall/page.tsx", // relies on JenkinsJobs
2223
"!app/instruments/page.tsx", // no logic here

0 commit comments

Comments
 (0)