Skip to content

Commit 0b25467

Browse files
ADubhlaoichmjang
andauthored
feat: Add closed contribution process (#316)
This commit adds a new document to explain the closed contribution process. As part of the changes, related content is updated from the existing documentation specific to F5 employees, decoupling this particular use case from general guidance. At a future point, both documents may be reorganised into alternate files as part of peripheral efforts to document ways of working. Co-authored-by: Mike Jang <[email protected]>
1 parent f99be74 commit 0b25467

File tree

2 files changed

+72
-8
lines changed

2 files changed

+72
-8
lines changed

CLOSED_CONTRIBUTIONS.md

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
# Contributing guidelines for closed content
2+
3+
This document describes the process for authoring "closed content", which is content of a sensitive nature that cannot be publicised before release.
4+
5+
Sensitive content might include:
6+
7+
- Security content, including personally identifying information (PII).
8+
- Content / features that are not yet ready to be announced.
9+
10+
We work in public by default, so this process should only be used on a case by case basis by F5 employees. For standard content releases, review the [Contributing guidelines](/CONTRIBUTING.md)
11+
12+
## Overview
13+
14+
This repository (https://github.com/nginx/documentation) is where we work by default. It has a one-way sync to an internal repository, used for closed content.
15+
16+
The process is as follows:
17+
18+
- Create a branch with the prefix `internal/` in the closed repository
19+
- Open a pull request in the closed repository to get previews and request feedback
20+
- Once all stakeholders are happy with changes, close the pull request in the closed repository
21+
- Push the changes to the open (public) repository by adding the closed repository as a remote
22+
- Open a new pull request in the open repository, where it can be merged
23+
24+
You can get the URL through our internal communication channels: it will be represented in the following steps as `<closed-URL>`.
25+
26+
To create closed content, first clone the internal repository:
27+
28+
`git clone [email protected]:<closed-url>.git`
29+
30+
Change into this new directory:
31+
32+
`cd <closed-url>`
33+
34+
Check out the `documentation` branch:
35+
36+
`git checkout documentation`
37+
38+
Create a feature branch, **ensuring that you prefix all branch names with `internal/`**:
39+
40+
`git checkout -b internal/feature`
41+
42+
You can then continue on as normal:
43+
44+
```bash
45+
# Make documentation changes
46+
git add .
47+
git commit
48+
git push
49+
```
50+
51+
Open a pull request when you are ready to receive feedback from stakeholders.
52+
53+
After any iterative work, close the pull request. Since the closed repository is a mirror of the open one, we do not merge changes to it.
54+
55+
You should instead open a pull request in the main repository by adding the closed repository as a remote.
56+
57+
```bash
58+
git clone [email protected]:nginx/documentation.git
59+
cd documentation
60+
git add remote internal [email protected]:<closed-url>.git
61+
git fetch internal internal/feature
62+
git checkout -b feature
63+
git merge internal/internal/feature
64+
git push origin feature
65+
```
66+
67+
After the content changes have been merged in the open repository, they will synchronize back to the closed repository.

F5-NGINX-team-notes.md

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,14 @@
11
# For F5/NGINX Employees
22

3-
This repository is a functional mirror. We want to do as much of our work as possible in the
4-
public repository. However, if you are working with:
3+
This repository is public, and we do as much of our work as possible in the public as a commitment to open source.
54

6-
- Security content, including personally identifying information (PII).
7-
- Content / features that are not yet ready to be announced.
5+
Before new content is published at https://docs.nginx.com, it must be committed to this `documentation` repository.
86

9-
Before new content is published at https://docs.nginx.com, it must be written to this `documentation` repository. After you get approvals in the internal `docs` repository, you'll need to create a _second_ pull request in this open `documentation` repository.
7+
If you are an F5 employee unable to assign yourself as an owner of an issue or a reviewer of a pull request, ask a member of the NGINX documentation team for help.
108

11-
If you are unable to assign yourself as an owner of an issue or a reviewer of a pull request, and are an employee of F5, ask a member of the NGINX documentation team for help.
9+
If your content cannot be publicized before release, it is handled differently: read the [Contributing guidelines for closed content](/CLOSED_CONTRIBUTIONS.md) document.
1210

13-
We encourage you to work with community contributors. If you participate in
14-
PRs, issues, discussions, and more, follow these guidelines:
11+
We encourage you to work with community contributors. If you participate in PRs, issues, discussions, and more, follow these guidelines:
1512

1613
- Follow the [Code of Conduct](./CODE_OF_CONDUCT.md).
1714
- Be helpful. We want to encourage people who contribute to continue.

0 commit comments

Comments
 (0)