Skip to content

Commit d384551

Browse files
MDBF-1148 Develop a Server release Dashboard
Track planned Jira server releases and display both the overall status and the per-branch build results for the bb-<series>-release branches. The Flask application is integrated using the Buildbot WSGI module.
1 parent 525c269 commit d384551

File tree

9 files changed

+850
-2
lines changed

9 files changed

+850
-2
lines changed

.github/workflows/bbm_deploy.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ on:
2121
- "utils.py"
2222
- "validate_master_cfg.sh"
2323
- "worker_locks.yaml"
24+
- "dashboards/**"
2425
pull_request:
2526
paths:
2627
- ".github/workflows/bbm_deploy.yml"
@@ -40,6 +41,7 @@ on:
4041
- "utils.py"
4142
- "validate_master_cfg.sh"
4243
- "worker_locks.yaml"
44+
- "dashboards/**"
4345

4446
jobs:
4547
check:

dashboards/__init__.py

Whitespace-only changes.

dashboards/release/README.md

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
# MariaDB Community Server Release Dashboard
2+
3+
## Scope
4+
5+
The purpose of this dashboard is to track all builds associated with the **planned releases** defined in Jira under the **MDEV project**.
6+
A release is considered *planned* when its **Status = UNRELEASED**.
7+
8+
When multiple point releases exist within the same series (e.g., **12.3.1**, **12.3.2**, **12.3.3**, ...), **only the most recent release within that series** is included in the dashboard.
9+
10+
---
11+
12+
## Data Retrieval
13+
14+
Data is extracted from the Buildbot API for each **`bb-<series>-release`** branch, but only when the **MariaDB version** on the **latest change** of that branch **matches the planned version in Jira**.
15+
16+
Only builders tagged with **`release_packages`** are taken into account.
17+
If the list of relevant builders is incomplete, please contact a **Buildbot Maintainer** to add the appropriate tag to the required builder.
18+
19+
As long as the MariaDB version matches across **Jira** and **Buildbot**, the dashboard will display data for that release.
20+
If a version is marked as **RELEASED** in Jira, it will automatically be removed from the dashboard.
21+
22+
### MISC
23+
24+
- The rendered HTML page is cached for `CACHE_DURATION` to avoid excessive API calls.
25+
- MariaDB version is extracted from the **source VERSION file.**
26+
- For a given change (tarball number), only the most recent build from each builder is considered. This accounts for re-runs caused by sporadic test failures.
27+
28+
---
29+
30+
## Status Definitions
31+
32+
### **Pending**
33+
34+
A release is marked *Pending* when:
35+
36+
1. The `bb-<series>-release` branch does not exist, **or**
37+
1. The branch exists but there is **no Buildbot run** matching the MariaDB version planned in Jira, **or**
38+
1. One or more builds are **in progress** or **not yet executed**, and **no failed build exists**.
39+
40+
### **Releasable**
41+
42+
A release is marked *Releasable* when:
43+
44+
1. All builds within scope are **successful**.
45+
1. This **does not imply** that development for the release is complete, only that the `bb-<series>-release` branch is currently in a healthy state.
46+
47+
### **Unreleasable**
48+
49+
A release is marked *Unreleasable* when:
50+
51+
1. One or more builds that produce packages have failed.
52+
53+
### **Needs Attention**
54+
55+
A release is marked *Needs Attention* when:
56+
57+
1. At least one normal builder has failed (probably MTR) but **there is no failed** autobake (producing packages for CI) builder.
58+
59+
---

dashboards/release/__init__.py

Whitespace-only changes.

0 commit comments

Comments
 (0)