Skip to content

Commit 5b40399

Browse files
authored
chore: setup continuous integration workflow (#27)
1 parent d3b6b42 commit 5b40399

13 files changed

+194
-151
lines changed

.github/workflows/build-and-deploy.yml

+3-3
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ name: Deploy Next.js site to Pages
66

77
on:
88
push:
9-
branches: ["master"]
9+
branches: ['master']
1010
schedule:
1111
- cron: '0 8 * * *'
1212
workflow_dispatch:
@@ -19,7 +19,7 @@ permissions:
1919

2020
# Allow one concurrent deployment
2121
concurrency:
22-
group: "pages"
22+
group: 'pages'
2323
cancel-in-progress: true
2424

2525
jobs:
@@ -32,7 +32,7 @@ jobs:
3232
- name: Setup Node
3333
uses: actions/setup-node@v3
3434
with:
35-
node-version: "18"
35+
node-version: '18'
3636
cache: ${{ steps.detect-package-manager.outputs.manager }}
3737
- name: Setup PNPM
3838
uses: pnpm/action-setup@v2

.github/workflows/integration.yml

+33
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
name: 🚧 Integration
2+
on:
3+
pull_request:
4+
push:
5+
branches:
6+
- 'main'
7+
8+
jobs:
9+
format:
10+
name: 💅 Check format
11+
runs-on: ubuntu-latest
12+
steps:
13+
- uses: actions/checkout@main
14+
- uses: actions/setup-node@main
15+
- uses: pnpm/[email protected]
16+
name: Install pnpm
17+
with:
18+
version: 7
19+
run_install: true
20+
- run: pnpm prettier --check .
21+
22+
nextjs:
23+
name: ⚛️ NextJS application
24+
runs-on: ubuntu-latest
25+
steps:
26+
- uses: actions/checkout@main
27+
- uses: actions/setup-node@main
28+
- uses: pnpm/[email protected]
29+
name: Install pnpm
30+
with:
31+
version: 7
32+
run_install: true
33+
- run: pnpm build

.prettierignore

+1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
/node_modules
55
/.pnp
66
.pnp.js
7+
pnpm-lock.yaml
78

89
# testing
910
/coverage

:

Whitespace-only changes.

README.md

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
lyonjs.github.com
2-
=================
1+
# lyonjs.github.com
32

43
Pull Requests are accepted :)

data/data-override.ts

+2-6
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,11 @@ export const dataOverride: { [key: string]: Partial<Event> } = {
77
talks: [
88
{
99
title: 'Projet XState',
10-
speakers: [
11-
{ name: 'Maxime Blanc', socialLink: 'https://twitter.com/jeansmaug' },
12-
],
10+
speakers: [{ name: 'Maxime Blanc', socialLink: 'https://twitter.com/jeansmaug' }],
1311
},
1412
{
1513
title: 'gRPC-web - Connecter son front en grpc',
16-
speakers: [
17-
{ name: 'Mohammad-Amine Banaei', socialLink: 'https://www.linkedin.com/in/mbnei/' },
18-
],
14+
speakers: [{ name: 'Mohammad-Amine Banaei', socialLink: 'https://www.linkedin.com/in/mbnei/' }],
1915
},
2016
],
2117
},

modules/event/event-card.module.css

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
.article {
2-
display: flex;
3-
border: solid 1px;
2+
display: flex;
3+
border: solid 1px;
44
}
55

66
.date {
7-
background-color: var(--main-color);
7+
background-color: var(--main-color);
88
}

modules/header/header.module.css

+111-109
Original file line numberDiff line numberDiff line change
@@ -1,158 +1,160 @@
11
.header {
2-
background-color: var(--background-color);
3-
padding: 8px 20px;
4-
font-size: 1.2rem;
2+
background-color: var(--background-color);
3+
padding: 8px 20px;
4+
font-size: 1.2rem;
55
}
66

77
.headerContainer {
8-
display: flex;
9-
margin: auto;
10-
max-width: 1200px;
11-
width: 100%;
12-
padding-bottom: 20px;
13-
border-bottom: solid 1px var(--border-color);
8+
display: flex;
9+
margin: auto;
10+
max-width: 1200px;
11+
width: 100%;
12+
padding-bottom: 20px;
13+
border-bottom: solid 1px var(--border-color);
1414
}
1515

1616
.leftNav {
17-
flex: 1 0 auto;
17+
flex: 1 0 auto;
1818
}
1919

2020
.rightNav {
21-
position: fixed;
22-
top: 0;
23-
left: 0;
24-
right: 0;
25-
bottom: 0;
26-
background-color: var(--background-color);
27-
overflow: hidden;
28-
transform: translateX(-100%);
29-
transition: transform 0.3s;
21+
position: fixed;
22+
top: 0;
23+
left: 0;
24+
right: 0;
25+
bottom: 0;
26+
background-color: var(--background-color);
27+
overflow: hidden;
28+
transform: translateX(-100%);
29+
transition: transform 0.3s;
3030
}
3131

3232
.rightNav.open {
33-
transform: translate(0);
33+
transform: translate(0);
3434
}
3535

3636
.socialsLinks {
37-
justify-content: space-between;
38-
margin: 32px auto;
39-
list-style: none;
40-
padding: 0 24px;
41-
display: flex;
42-
gap: 20px;
43-
max-width: 500px;
37+
justify-content: space-between;
38+
margin: 32px auto;
39+
list-style: none;
40+
padding: 0 24px;
41+
display: flex;
42+
gap: 20px;
43+
max-width: 500px;
4444
}
4545

4646
.socialsLinks a {
47-
color: var(--main-color);
48-
text-decoration: none;
49-
display: flex;
50-
align-items: center;
51-
transition: transform 100ms, color 100ms;
47+
color: var(--main-color);
48+
text-decoration: none;
49+
display: flex;
50+
align-items: center;
51+
transition: transform 100ms, color 100ms;
5252
}
5353
.socialsLinks a:hover {
54-
transform: translateY(-4px);
55-
color: var(--secondary-color);
54+
transform: translateY(-4px);
55+
color: var(--secondary-color);
5656
}
5757

5858
.links {
59-
padding: 0;
60-
list-style: none;
61-
display: flex;
62-
flex-direction: column;
63-
margin: 15px 0 0 0;
64-
align-items: center;
65-
gap: 20px;
59+
padding: 0;
60+
list-style: none;
61+
display: flex;
62+
flex-direction: column;
63+
margin: 15px 0 0 0;
64+
align-items: center;
65+
gap: 20px;
6666
}
6767

6868
.links li {
69-
width: 100%;
70-
display: flex;
71-
justify-content: center;
69+
width: 100%;
70+
display: flex;
71+
justify-content: center;
7272
}
7373

7474
.links .link {
75-
color: var(--main-color);
76-
text-decoration: none;
77-
height: 100%;
78-
display: flex;
79-
align-items: center;
80-
justify-content: center;
81-
padding: 24px 0;
82-
width: 100%;
83-
transition: transform 100ms, color 100ms;
75+
color: var(--main-color);
76+
text-decoration: none;
77+
height: 100%;
78+
display: flex;
79+
align-items: center;
80+
justify-content: center;
81+
padding: 24px 0;
82+
width: 100%;
83+
transition: transform 100ms, color 100ms;
8484
}
8585

8686
.links .link:hover {
87-
transform: translateY(-4px);
88-
color: var(--secondary-color);
87+
transform: translateY(-4px);
88+
color: var(--secondary-color);
8989
}
9090

9191
.buttonPrimary {
92-
display: flex;
93-
text-decoration: none;
94-
padding: 10px 20px;
95-
margin-top: 12px;
96-
color: var(--background-color);
97-
background-color: var(--main-color);
92+
display: flex;
93+
text-decoration: none;
94+
padding: 10px 20px;
95+
margin-top: 12px;
96+
color: var(--background-color);
97+
background-color: var(--main-color);
9898
}
9999
.buttonPrimary:hover {
100-
background-color: var(--secondary-color);
100+
background-color: var(--secondary-color);
101101
}
102102

103-
.burgerMenuContainer, .closeMenuContainer {
104-
display: flex;
105-
flex: 1 0 auto;
103+
.burgerMenuContainer,
104+
.closeMenuContainer {
105+
display: flex;
106+
flex: 1 0 auto;
106107
}
107108

108109
.closeMenuContainer {
109-
transform: translate(12px, 12px);
110+
transform: translate(12px, 12px);
110111
}
111112

112-
.burgerMenu, .closeMenu {
113-
color: var(--main-color);
114-
background-color: transparent;
115-
cursor: pointer;
116-
border: none;
117-
padding: 0;
113+
.burgerMenu,
114+
.closeMenu {
115+
color: var(--main-color);
116+
background-color: transparent;
117+
cursor: pointer;
118+
border: none;
119+
padding: 0;
118120
}
119121

120122
@media (min-width: 1024px) {
121-
.burgerMenuContainer {
122-
display: none;
123-
}
124-
125-
.closeMenuContainer {
126-
display: none;
127-
}
128-
129-
.rightNav {
130-
position: inherit;
131-
flex: 1 0 50%;
132-
display: flex;
133-
flex-direction: column;
134-
align-items: flex-end;
135-
justify-content: center;
136-
overflow: visible;
137-
transform: none;
138-
transition: none;
139-
}
140-
141-
.socialsLinks {
142-
margin: 0;
143-
gap: 20px;
144-
justify-content: flex-start;
145-
}
146-
147-
.links {
148-
flex-direction: row;
149-
}
150-
151-
.links .link {
152-
padding: 0 10px;
153-
}
154-
155-
.buttonPrimary {
156-
margin-top: 0;
157-
}
123+
.burgerMenuContainer {
124+
display: none;
125+
}
126+
127+
.closeMenuContainer {
128+
display: none;
129+
}
130+
131+
.rightNav {
132+
position: inherit;
133+
flex: 1 0 50%;
134+
display: flex;
135+
flex-direction: column;
136+
align-items: flex-end;
137+
justify-content: center;
138+
overflow: visible;
139+
transform: none;
140+
transition: none;
141+
}
142+
143+
.socialsLinks {
144+
margin: 0;
145+
gap: 20px;
146+
justify-content: flex-start;
147+
}
148+
149+
.links {
150+
flex-direction: row;
151+
}
152+
153+
.links .link {
154+
padding: 0 10px;
155+
}
156+
157+
.buttonPrimary {
158+
margin-top: 0;
159+
}
158160
}

pages/about.tsx

+9-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import type { NextPage } from 'next';
22
import React from 'react';
3-
import Image from "next/image";
3+
import Image from 'next/image';
44
import { LyonJSHead } from '../modules/header/LyonJSHead';
55
import { Header } from '../modules/header/Header';
66
import { TitleHighlight } from '../modules/atoms/TitleHighlight';
@@ -37,7 +37,14 @@ const Home: NextPage = () => {
3737
<div className="grid md:grid-cols-5 grid-cols-2 gap-12 mb-4">
3838
{orgas.map((orga) => (
3939
<figure key={orga.name}>
40-
<Image src={orga.avatarUrl} alt={orga.name} width="200" height="200" title={orga.name} className="object-cover drop-shadow-md" />
40+
<Image
41+
src={orga.avatarUrl}
42+
alt={orga.name}
43+
width="200"
44+
height="200"
45+
title={orga.name}
46+
className="object-cover drop-shadow-md"
47+
/>
4148
<figcaption className="flex justify-center mt-4">
4249
{orga.name}
4350
{orga.social.twitter && (

0 commit comments

Comments
 (0)