Skip to content

Commit 7f0963e

Browse files
mhatzlmanczak-ifxPLeVasseurtshepang
authored
Proposal for the review process to manage the tools list (Safety-Critical-Rust-Consortium#497)
* first yaml list * yaml with tools list structure * added desired compiler features list * Bring tools list in better searchable format * Add safety & security category field for desired features * Add proposed tools to list * Change file name to a better fitting one * Fix standards naming Co-authored-by: Pete LeVasseur <plevasseur@gmail.com> * Fix safety level names Co-authored-by: Pete LeVasseur <plevasseur@gmail.com> * Fix license typo Co-authored-by: Pete LeVasseur <plevasseur@gmail.com> * Remove redundant information Co-authored-by: Tshepang Mbambo <hopsi@tuta.io> * Added suggested flow for the updates on the tools list * Split flow between deletion and new/change issue types Rephrase some text * Rephrase statements to be more precise DrawIO file removed, because mermaid one is the up to date one * Remove tools & topic lists Those should be part of another PR. * Split flowchart into multiple smaller ones * Add mermaid theme to docosaurus * Fix docosaurus mermaid version * Add merged path for tools review graph * removed extra "-" and "RFC" * Update arewesafetycriticalyet.org/docs/tooling/rfc-tools-review.md Co-authored-by: Pete LeVasseur <plevasseur@gmail.com> * Update arewesafetycriticalyet.org/docs/tooling/rfc-tools-review.md Co-authored-by: Pete LeVasseur <plevasseur@gmail.com> * Update arewesafetycriticalyet.org/docs/tooling/rfc-tools-review.md Co-authored-by: Pete LeVasseur <plevasseur@gmail.com> * Update arewesafetycriticalyet.org/docs/tooling/rfc-tools-review.md Co-authored-by: Pete LeVasseur <plevasseur@gmail.com> * Update arewesafetycriticalyet.org/docs/tooling/rfc-tools-review.md Co-authored-by: Pete LeVasseur <plevasseur@gmail.com> * Update arewesafetycriticalyet.org/docs/tooling/rfc-tools-review.md Co-authored-by: Pete LeVasseur <plevasseur@gmail.com> * Update arewesafetycriticalyet.org/docs/tooling/rfc-tools-review.md Co-authored-by: Pete LeVasseur <plevasseur@gmail.com> * Update arewesafetycriticalyet.org/docs/tooling/rfc-tools-review.md Co-authored-by: Pete LeVasseur <plevasseur@gmail.com> * Update arewesafetycriticalyet.org/docs/tooling/rfc-tools-review.md Co-authored-by: Pete LeVasseur <plevasseur@gmail.com> * Update arewesafetycriticalyet.org/docs/tooling/rfc-tools-review.md Co-authored-by: Pete LeVasseur <plevasseur@gmail.com> * adjusted docusaurus config --------- Co-authored-by: Manczak Tiago (CSS DSI D SW FW FLH) <Tiago.Manczak@infineon.com> Co-authored-by: Pete LeVasseur <plevasseur@gmail.com> Co-authored-by: Tshepang Mbambo <hopsi@tuta.io> Co-authored-by: manczak-ifx <164331279+manczak-ifx@users.noreply.github.com> Co-authored-by: manczak-ifx <manczak-ifx@users.noreply.github.com>
1 parent 2a5615f commit 7f0963e

4 files changed

Lines changed: 4443 additions & 1508 deletions

File tree

Lines changed: 145 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,145 @@
1+
# Tools List Maintenance Flows
2+
3+
This section defines how the tools list is managed by the tooling subcommittee.
4+
5+
## TLDR
6+
7+
The tool proposal consists of three main phases:
8+
9+
### 1. **Assigning Phase**
10+
11+
- Anyone can create issues to request changes related to the tools list (add, change, delete)
12+
- Tooling Committee manages the process
13+
- Tools Taskforce presents unassigned issues marked with a `submit tooling` or `tooling` label
14+
- Issues are assigned to volunteers or taken over by the Taskforce
15+
16+
### 2. **Review New Issues**
17+
18+
- **New/Change Path**: 15-day review period including:
19+
- Tool information checking
20+
- Entry creation in [available-tools.yaml]
21+
- Optional: vendor contact, testing, and user feedback collection
22+
- **Delete Path**: Review deletion reasoning
23+
- **Common validation**: Valid requests proceed to PR creation and merge process
24+
- **PR Process**: Includes remark resolution cycle if needed
25+
26+
### 3. **Review Complete List (Annually)**
27+
28+
- Task Force Member initiates annual review of tools listed in [available-tools.yaml]
29+
- Tools to review distributed evenly among task force members
30+
- Evaluation based on:
31+
- Tool maintenance status
32+
- License updates
33+
- Vendor status
34+
- Changes feed back into the PR creation process
35+
36+
## Assigning New Issues Related to the Tools List
37+
38+
This flowchart defines how new tools list related issues are assigned to subcommittee members:
39+
40+
```mermaid
41+
flowchart TD
42+
%% Assigning Phase
43+
A1[Anyone] --> A2["Creates new issue for a tool related change<br/>(new, change, delete)"]
44+
A2 --> A3[Tooling Subcommittee]
45+
A3 --> A4[Tools Taskforce/Author present<br/>overview of unassigned issues with <em>submit tooling</em> or <em>tooling</em> label]
46+
A4 --> A5[Issue is assigned for review<br/>to Tooling Subcommittee Volunteer]
47+
A5 --> A6[In case of no volunteer<br/>Taskforce takes over the review]
48+
49+
%% Styling
50+
classDef actor fill:#e1f5fe,stroke:#01579b,stroke-width:2px
51+
classDef process fill:#f3e5f5,stroke:#4a148c,stroke-width:2px
52+
53+
class A1,A3 actor
54+
class A2,A4,A5,A6 process
55+
```
56+
57+
## Review New Issues
58+
59+
This flowchart defines how issues are reviewed by assignees:
60+
61+
```mermaid
62+
flowchart TD
63+
%% Review New Issues Phase
64+
B0[Assigned Issue] --> B1[Up to 15 days]
65+
B1 --> B2{Issue Type}
66+
B2 --> |New/Change| B4[Check Tools information]
67+
B2 --> |Delete| B3[Check reason for deletion]
68+
69+
%% New/Change Path
70+
B4 --> B5{Valid change/<br/>new tool for<br/>safety-critical<br/>Rust projects}
71+
B5 --> |No| B6[Close Issue with justification]
72+
B5 --> |Yes| B7[Fill up new entry in<br/>available-tools.yaml]
73+
B7 --> B8[<strong>Optional:</strong><br/><ul><li>Contact vendor</li><li>Test/Present tool</li><li>Collect user feedback</li></ul>]
74+
75+
%% Delete Path
76+
B3 --> B12{Valid?}
77+
B12 --> |No| B6
78+
B12 --> |Yes| B13[Delete entry from<br/>available-tools.yaml]
79+
80+
%% PR
81+
B8 --> B14[See section:<br/>Changes to the Tools List]
82+
B13 --> B14
83+
84+
%% Styling
85+
classDef actor fill:#e1f5fe,stroke:#01579b,stroke-width:2px
86+
classDef process fill:#f3e5f5,stroke:#4a148c,stroke-width:2px
87+
classDef decision fill:#fff3e0,stroke:#e65100,stroke-width:2px
88+
classDef optional fill:#f5f5f5,stroke:#666666,stroke-width:2px
89+
classDef time fill:#f5e3e3,stroke:#666666,stroke-width:1px
90+
91+
class B0 actor
92+
class B8 optional
93+
class B2,B5,B12 decision
94+
class B3,B4,B6,B7,B13 process
95+
class B1 time
96+
```
97+
98+
## "Once a Year" Review
99+
100+
This flowchart defines how the "Once a Year" review of the tools list is handled:
101+
102+
```mermaid
103+
flowchart TD
104+
%% Review Complete List Phase - Once a year
105+
C1[Task Force Member] --> C2[Create an issue with a check list<br/>of the tools to review.<br/>Distribute the tools evenly<br/>among task force members]
106+
C2 --> C3[Each assignee evaluates<br/>their assigned tools]
107+
C3 --> C4[<strong>Evaluation Criteria:</strong><ul><li>Tool maintenance status</li><li>License update</li><li>Vendor status</li></ul>]
108+
C4 --> C5{Changes?}
109+
C5 --> |Yes| C7[See section:<br/>Changes to the Tools List]
110+
C5 --> |No| C6[Mark tool as reviewed<br/>in corresponding issue]
111+
C7 --> |Merged| C6
112+
113+
%% Styling
114+
classDef actor fill:#e1f5fe,stroke:#01579b,stroke-width:2px
115+
classDef process fill:#f3e5f5,stroke:#4a148c,stroke-width:2px
116+
classDef decision fill:#fff3e0,stroke:#e65100,stroke-width:2px
117+
118+
class C1 actor
119+
class C5 decision
120+
class C2,C3,C4,C6 process
121+
```
122+
123+
124+
## Changes to the Tools List
125+
126+
This flowchart defines how changes to the tools list are handled:
127+
128+
```mermaid
129+
flowchart TD
130+
%% Common Decision Point
131+
B1[Create PR] --> B2[In up to 15 days]
132+
B2 --> B3{Open Remarks?}
133+
B3 --> |Yes| B4[Resolve Remarks]
134+
B4 --> B5((Return))
135+
B5 --> B2
136+
B3 --> |No| B6[Taskforce Member<br/>merges PR]
137+
138+
%% Styling
139+
classDef process fill:#f3e5f5,stroke:#4a148c,stroke-width:2px
140+
classDef decision fill:#fff3e0,stroke:#e65100,stroke-width:2px
141+
classDef time fill:#f5e3e3,stroke:#666666,stroke-width:1px
142+
143+
class B3 decision
144+
class B1,B4,B6 process
145+
class B2 time

arewesafetycriticalyet.org/docusaurus.config.ts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import {themes as prismThemes} from 'prism-react-renderer';
2-
import type {Config} from '@docusaurus/types';
1+
import { themes as prismThemes } from 'prism-react-renderer';
2+
import type { Config } from '@docusaurus/types';
33
import type * as Preset from '@docusaurus/preset-classic';
44

55
// This runs in Node.js - Don't use client-side code here (browser APIs, JSX...)
@@ -33,6 +33,12 @@ const config: Config = {
3333
locales: ['en'],
3434
},
3535

36+
markdown: {
37+
mermaid: true,
38+
},
39+
40+
themes: ['@docusaurus/theme-mermaid'],
41+
3642
presets: [
3743
[
3844
'classic',

0 commit comments

Comments
 (0)