Skip to content

Commit 3069fa5

Browse files
Working Groups style updates (#2080)
* Add working groups page and layout - Provide the script that generate the wg.yaml - Create a workflow that update the working group yaml periodically - Add the wg page and layout - A bit of CSS to make the page looks ok * Styling changes to working-groups * Remove reference to working group point of contact --------- Co-authored-by: Clement Escoffier <[email protected]>
1 parent 407c831 commit 3069fa5

File tree

11 files changed

+571
-0
lines changed

11 files changed

+571
-0
lines changed
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
name: Sync working groups
2+
3+
env:
4+
JVM_VERSION: '21'
5+
6+
on:
7+
schedule:
8+
- cron: '0 * * * *'
9+
workflow_dispatch:
10+
jobs:
11+
sync:
12+
runs-on: ubuntu-latest
13+
steps:
14+
- uses: actions/checkout@v4
15+
with:
16+
ref: main
17+
18+
- name: Install JDK ${{ env.JVM_VERSION }}
19+
uses: actions/setup-java@v4
20+
with:
21+
distribution: temurin
22+
java-version: ${{ env.JVM_VERSION }}
23+
24+
- name: Build working groups YAML file
25+
uses: jbangdev/[email protected]
26+
with:
27+
script: working-groups/src/main.java
28+
jbangargs: --verbose -Dworking-groups.output=_data/wg.yaml
29+
env:
30+
JBANG_REPO: /root/.jbang/repository
31+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
32+
33+
- name: Configure Git author
34+
run: |
35+
git config --local user.email "[email protected]"
36+
git config --local user.name "GitHub Action"
37+
38+
- name: Commit changes
39+
shell: bash
40+
run: |
41+
git add _data/wg.yaml
42+
if [ -n "$(git status --porcelain)" ]; then
43+
git commit -am "Sync working groups"
44+
fi
45+
git pull origin main --rebase
46+
git push origin main

_data/wg.yaml

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
---
2+
working-groups:
3+
- title: "WebSocket Next"
4+
board-url: "https://github.com/orgs/quarkusio/projects/26"
5+
short-description: WebSocket-Next related tasks
6+
readme: |
7+
<p>The WebSocket Next <em>focus group</em> aims to improve our WebSocket experience.</p>
8+
<p>Recently, we delivered a new approach to dealing with WebSocket (both for the server and client). This was the first step. There are still a few areas to improve, such as documentation, security, observability, and testability. The goal of this focus group is to track these efforts.</p>
9+
<p>Point of contact: @mkouba (@<strong>Martin Kouba</strong> on Zulip)</p>
10+
status: on track
11+
last-activity: "July 12, 2024"
12+
- title: "Quarkus 3.15 LTS"
13+
board-url: "https://github.com/orgs/quarkusio/projects/28"
14+
short-description: This WG focuses on defining the issues we would like to have in the next-to-be LTS (Quarkus 3.14/3.15)
15+
readme: |
16+
<p>This working group uses a different board:</p>
17+
<ul>
18+
<li>The <code>under discussion</code> column contains the issues we would like to have in the next LTS but are still under consideration.</li>
19+
<li>The <code>out of scope</code> column contains the issues under discussion' that won't be included. The reason can be time or technical...</li>
20+
<li>The <code>in progress</code> means that the work has started and should be completed before the TLS cut date</li>
21+
<li>The <code>done</code> column means that the issues have been completed</li>
22+
</ul>
23+
status: at risk
24+
last-activity: "July 11, 2024"
25+
- title: "Enhanced TLS support"
26+
board-url: "https://github.com/orgs/quarkusio/projects/24"
27+
short-description: Track the progress around the new TLS configuration centralization and new features (like Let's Encrypt, Cert-Manager, and local experience...)
28+
readme: |
29+
<p>TLS is becoming increasingly common and recommended. However, for years, each Quarkus extension has been doing its own TLS configuration and management. As a result, the configuration looks different everywhere, and many extensions have incomplete configurations.</p>
30+
<p>Based on the newly integrated TLS registry, we now have a single place to configure TLS. At runtime, it provides methods to configure Vert.x and &quot;pure&quot; Java clients (using an <code>SSLContext</code>).</p>
31+
<p>The goal of this focus group is to continue integrating the TLS registry and improve Quarkus integration with certificate providers (Let's Encrypt, Cert-Manager). In addition, we would like to provide a frictionless local experience around TLS (i.e., without the infamous untrusted certificate screen).</p>
32+
<p><em>Point of contact:</em> @cescoffier (@<strong>Clement Escoffier</strong> on Zulip)</p>
33+
status: on track
34+
last-activity: "July 9, 2024"
35+
- title: "Docker file generation"
36+
board-url: "https://github.com/orgs/quarkusio/projects/27"
37+
short-description: A working group focusing on the generation of Dockerfile / ContainerFile
38+
readme: |
39+
<p>At the moment, when you create a Quarkus project (from code.quarkus.io or the CLI), a set of <code>Dockerfiles</code> is generated. However,</p>
40+
<ol>
41+
<li>Not all these files are used by the user</li>
42+
<li>These files are very quickly outdated</li>
43+
<li>It does not allow <em>extensions</em> to customize the content</li>
44+
</ol>
45+
<p>This working group aims to replace these `Dockerfiles' with a CLI command that generates an up-to-date Dockerfile and includes extension customization.</p>
46+
<p>The goal is not to allow updating these files once generated but to provide a one-off generation that the user can consult and use. It will use the recommended and up-to-date <code>FROM</code> image to improve security and, depending on the generated <em>variant</em> (JVM, native, native-micro...), follow good practices (such as using <code>run-java</code> for the JVM one).</p>
47+
<p>You can find more details about this working group on <a href="https://github.com/quarkusio/quarkus/discussions/41352">this discussion</a>.
48+
Once completed, this working group will be followed by other initiatives focusing on generating the Github Action and Tekton pipelines.</p>
49+
<p><em>Point of contact</em>: @iocanel (<code>Ioannis Canellos</code>on Zulip)</p>
50+
status: on track
51+
last-activity: "July 9, 2024"
52+
- title: "Roq :: Quarkus SSG"
53+
board-url: "https://github.com/orgs/quarkiverse/projects/6"
54+
short-description: Allow Static Site Generation with Quarkus.
55+
readme: |
56+
<p>New initiative to allow Static Site Generation with Quarkus.</p>
57+
<p>Quarkus already provides most of the pieces to create great web applications (https://quarkus.io/guides/web).</p>
58+
<p>I recently added https://github.com/quarkiverse/quarkus-roq. It will allow generating a static website out of any Quarkus application (it starts the app, fetch all the configured pages and assets, generate a static website and stop), it already works but it is still very alpha.</p>
59+
<p>What's missing? we now need to incrementally add the toolkit to ease the process of creating static content through Quarkus:</p>
60+
<ul>
61+
<li>Static Data</li>
62+
<li>Markdown/Asciidoc and frontmatter</li>
63+
<li>SEO</li>
64+
<li>Image processing</li>
65+
<li>Easy to configure routing</li>
66+
</ul>
67+
<p>This will allow to develop the content using Quarkus dev-mode, and then generate for Github Pages or similar when it's ready.</p>
68+
<p>Bonus, everything added will benefit any &quot;non-static&quot; Quarkus app and any Static Quarkus app could also become non static.</p>
69+
<p>This effort is now tracked using a &quot;Working Group&quot; project: https://github.com/orgs/quarkiverse/projects/6</p>
70+
<p>This is a great opportunity to participate in fun effort and be involved with the Quarkus community, if anyone is interested in being a part of this, please reach out to me 🚀</p>
71+
status: on track
72+
last-activity: "July 8, 2024"
73+
last-update: Good progress so far.

_includes/header-navigation.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@
4646
<li><a href="{{site.baseurl}}/support/" class="{% if page.url contains '/support/' %}active{% endif %}">SUPPORT</a></li>
4747
<li><a href="{{site.baseurl}}/blog" class="{% if page.url contains '/blog/' %}active{% endif %}">BLOG</a></li>
4848
<li><a href="{{site.baseurl}}/discussion" class="{% if page.url contains '/discussion/' %}active{% endif %}">DISCUSSION</a></li>
49+
<li><a href="{{site.baseurl}}/working-groups" class="{% if page.url contains '/working-groups/' %}active{% endif %}">WORKING GROUPS</a></li>
4950
<li><a href="{{site.baseurl}}/insights" class="{% if page.url contains '/insights/' %}active{% endif %}">PODCAST</a></li>
5051
<li><a href="{{site.baseurl}}/events" class="{% if page.url contains '/events/' %}active{% endif %}">EVENTS</a></li>
5152
<li><a href="{{site.baseurl}}/newsletter" class="{% if page.url contains '/newsletter/' %}active{% endif %}">NEWSLETTER</a></li>

_includes/working-group-band.html

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
<div class="full-width-bg component-slim">
2+
<div class="grid-wrapper working-groups-cards">
3+
<div class="width-12-12 width-12-12-m">
4+
<p class="mt-0 lead">
5+
Joining a working group is a great way to get involved and help shape the future of Quarkus.
6+
If you are interested in joining a working group, please check its board and look at the <em>readme</em> (under <em>Project details</em>).
7+
</p>
8+
</div>
9+
10+
11+
{% for item in site.data.wg.working-groups %}
12+
<div class="card">
13+
<div class="card-header">
14+
<p class="card-title">{{ item.title }}</p>
15+
</div>
16+
<div class="card-body">
17+
<p class="card-text"><span class="key">Status:</span>&nbsp;<span class="status {{ item.status | | replace: ' ', '-'}}">{{ item.status }}</span></p>
18+
<p class="card-text"><span class="key">Description:</span>&nbsp;<span class="short-description">{{ item.short-description }}</span></p>
19+
<p class="card-text"><span class="key">Last Activity:</span>&nbsp;<span class="last-activity">{{ item.last-activity }}</span></p>
20+
{% if item.last-update %}<p class="card-text"><span class="key">Last status update:</span>&nbsp;<span class="last-update">{{ item.last-update }}</span></p>{% endif %}
21+
</div>
22+
<div class="card-footer">
23+
<a href="{{ item.board-url }}" class="float-end"> View the {{ item.title }} Board <i class="fa-solid fa-chevron-right"></i></a>
24+
</div>
25+
</div>
26+
{% endfor %}
27+
</div>
28+
</div>

_layouts/working-groups.html

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
---
2+
layout: base
3+
---
4+
5+
{% include title-band.html %}
6+
{% include working-group-band.html %}
7+
8+

_sass/layouts/working-groups.scss

Lines changed: 118 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,118 @@
1+
2+
.working-groups-cards {
3+
4+
/* .card-header:first-child {
5+
border-radius: 5px 5px 0 0;
6+
}
7+
*/
8+
9+
.lead {
10+
font-size: 20px;
11+
line-height: 1.8rem;
12+
font-weight: 400;
13+
margin-left: 0;
14+
margin-right: 0;
15+
margin-top: 1rem;
16+
margin-bottom: 1rem;
17+
}
18+
19+
.float-end {
20+
float: right !important;
21+
}
22+
23+
.text-start {
24+
text-align: left !important;
25+
}
26+
27+
.card-header {
28+
padding-bottom: 5px;
29+
border-bottom: 1px solid var(--card-outline);
30+
height: 2rem
31+
}
32+
33+
.card-body {
34+
padding: 1rem 0rem;
35+
height: 11rem;
36+
}
37+
38+
.card-footer {
39+
padding-top: 10px;
40+
border-top: 1px solid var(--card-outline);
41+
}
42+
43+
.card-title {
44+
font-size: 1.25rem;
45+
font-weight: 400;
46+
}
47+
48+
.card-text {
49+
margin-bottom: 0.5rem;
50+
}
51+
52+
.key {
53+
font-weight: 600;
54+
}
55+
56+
.card {
57+
display: inline-grid;
58+
position: relative;
59+
word-wrap: break-word;
60+
background-clip: border-box;
61+
padding: 1rem;
62+
border-radius: 10px;
63+
border: 1px solid var(--card-outline);
64+
width: calc(100% - 2rem);
65+
66+
grid-column: span 4;
67+
68+
@media screen and (max-width: 1300px) {
69+
grid-column: span 6;
70+
}
71+
72+
@media screen and (max-width: 768px) {
73+
grid-column: span 12;
74+
}
75+
76+
@media screen and (max-width: 480px) {
77+
grid-column: span 12;
78+
}
79+
}
80+
81+
.status {
82+
font-weight: lighter;
83+
display: inline-block;
84+
padding: 0.35rem 0.65rem;
85+
line-height: 1;
86+
text-align: center;
87+
vertical-align: baseline;
88+
border-radius: 0.375rem;
89+
90+
}
91+
92+
.inactive {
93+
color: #fff !important;
94+
background-color: RGBA(108, 117, 125, 1) !important;
95+
}
96+
97+
.on-track {
98+
color: #fff !important;
99+
background-color: RGBA(25, 135, 84, 1) !important;
100+
}
101+
102+
.at-risk, .staled {
103+
color: #000 !important;
104+
background-color: RGBA(255,193,7, 1) !important;
105+
}
106+
107+
.off-track {
108+
color: #fff !important;
109+
background-color: RGBA(220, 53, 69, 1) !important;
110+
}
111+
112+
.complete {
113+
color: #000 !important;
114+
background-color: RGBA(13, 202, 240, 1) !important;
115+
}
116+
117+
118+
}

assets/css/main.scss

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ $baseurl: "{{ site.baseurl }}";
4646
@import "layouts/catalog";
4747
@import "layouts/publications";
4848
@import "layouts/documentation";
49+
@import "layouts/working-groups";
4950
@import "includes/header-navigation";
5051
@import "includes/libraries-standards-band";
5152
@import "includes/homepage-hero-band";

wg.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
layout: working-groups
3+
title: Working Groups
4+
subtitle: Organizing the community around a specific topics or goals.
5+
permalink: /working-groups/
6+
---

working-groups/application.yaml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
working-groups:
2+
organizations:
3+
- quarkusio
4+
- quarkiverse
5+
project-prefix: WG -
6+
7+
8+
quarkus:
9+
smallrye-graphql-client:
10+
github:
11+
url: https://api.github.com/graphql
12+
header:
13+
Authorization: Bearer ${GITHUB_TOKEN}

0 commit comments

Comments
 (0)