Skip to content

Commit 37fa84b

Browse files
committed
feat: rfc for reusable workflows naming repository
1 parent 6a6b2b3 commit 37fa84b

File tree

1 file changed

+157
-0
lines changed

1 file changed

+157
-0
lines changed
Lines changed: 157 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,157 @@
1+
# Naming and Governance for the Central Repository of Reusable GitHub Actions
2+
3+
## Summary
4+
5+
This RFC proposes selecting an official repository name for hosting all shared and reusable GitHub Actions workflows used across the Express.js organization.
6+
7+
This RFC also proposes the creation of a new **Infrastructure Working Group (WG)** responsible for governing CI/CD standards, maintaining shared workflows, and ensuring consistent automation practices across all Express.js repositories.
8+
9+
## Motivation
10+
11+
To support recent RFCs around unified CI/CD and shared publishing workflows, the Express.js organization needs a **central, authoritative repository** for reusable GitHub Actions.
12+
13+
Today, no such repository exists, which leads to:
14+
15+
- Inconsistent naming conventions
16+
- Repetition of similar workflows across repositories
17+
- Fragmentation of CI/CD standards
18+
- No clear ownership for shared automation tooling
19+
- Difficulty onboarding contributors and maintainers
20+
21+
By choosing a clear, purpose-driven repository name with **`ci-workflows` proposed as the default**, we strengthen discoverability, consistency, and long-term governance.
22+
23+
Additionally, establishing an **Infrastructure WG** provides ongoing stewardship to ensure maintainers do not drift into divergent workflow configurations.
24+
25+
## Detailed Explanation
26+
27+
### Role of the Central "CI Workflows" Repository
28+
29+
The repository will host:
30+
31+
- Reusable workflows under `.github/workflows/*`
32+
- Reusable actions under `.github/actions/*`
33+
- Documentation and usage examples
34+
- Versioned workflow releases (`v1`, `v2`, …)
35+
- Organization-wide guidance for CI, publishing, and automation standards
36+
37+
### Role of the Infrastructure Working Group (WG)
38+
39+
The Infrastructure WG will be responsible for:
40+
41+
- Developing shared CI/CD standards
42+
- Maintaining the central workflows repository
43+
- Reviewing proposals and PRs for CI-related changes
44+
- Managing security concerns (tokens, least-privilege permissions)
45+
- Ensuring alignment with Node.js LTS support policies
46+
47+
This WG would include maintainers and contributors who actively work on CI/CD, release engineering, or build tooling.
48+
49+
## Naming Options
50+
51+
Below are several naming options, with **`ci-workflows`** recommended as the leading candidate.
52+
53+
### Option A — `expressjs/ci-workflows` (Recommended)
54+
55+
**Pros:**
56+
57+
- Very clear purpose: CI + reusable workflows
58+
- Short, memorable, and easy to type
59+
- Emphasizes the workflow-first focus
60+
- Extensible enough to include publish workflows and automation
61+
- Consistent with naming used by many OSS projects
62+
63+
**Cons:**
64+
65+
- Does not explicitly reference "actions"
66+
67+
### Option B — `expressjs/workflows`
68+
69+
**Pros:**
70+
71+
- Broad and flexible
72+
- May include templates, actions, workflows, and automation
73+
74+
**Cons:**
75+
76+
- Less explicit about CI/CD purpose
77+
78+
### Option C — `expressjs/actions-workflows`
79+
80+
**Pros:**
81+
82+
- Extremely explicit: includes both actions and workflows
83+
- Easy for contributors to identify purpose
84+
85+
**Cons:**
86+
87+
- Long and slightly redundant name
88+
89+
### Option D — `expressjs/infra-workflows`
90+
91+
**Pros:**
92+
93+
- Aligns with the concept of an Infrastructure WG
94+
- Suggests broader automation responsibility
95+
96+
**Cons:**
97+
98+
- “Infra” may be interpreted as runtime or hosting infrastructure
99+
100+
### Option E — `expressjs/.github`
101+
102+
**Pros:**
103+
104+
- Standard GitHub convention followed by Node.js and others
105+
- Automatically supports global templates
106+
107+
**Cons:**
108+
109+
- Less discoverable for CI/CD-specific workflows
110+
- Repository may become cluttered over time
111+
112+
## Rationale and Alternatives
113+
114+
- A consistent naming standard improves visibility and contributor onboarding
115+
- One repository prevents fragmentation of workflow logic
116+
- A dedicated WG provides clarity, governance, and sustainability
117+
118+
Alternatives were considered but either lacked clarity, were overly broad, or did not express the CI/CD focus as well as `ci-workflows`.
119+
120+
## Implementation
121+
122+
### Step 1 — Approve Repository Name
123+
124+
Consensus among maintainers is required before creation.
125+
126+
### Step 2 — Create the Repository
127+
128+
The repository should include:
129+
130+
- README explaining purpose
131+
- Contribution guidelines
132+
- Actions and workflows directories
133+
- Versioning strategy for reusable workflows
134+
135+
### Step 3 — Establish the Infrastructure WG
136+
137+
Define:
138+
139+
- Charter and responsibilities
140+
- Membership and contribution rules
141+
- Review and approval processes
142+
143+
### Step 4 — Adopt and Migrate
144+
145+
- Move reusable workflows to `ci-workflows`
146+
- Update repositories to reference shared workflows
147+
- Document usage in CONTRIBUTING.md
148+
149+
## Prior Art
150+
151+
- Multiple OSS projects maintain central workflow repositories
152+
- GitHub endorses reusable workflows for multi-repo consistency
153+
- Large OSS ecosystems often use a CI-dedicated repository for clarity and governance
154+
155+
## Unresolved Questions
156+
157+
N/A

0 commit comments

Comments
 (0)