You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
3.[The MIT License](https://opensource.org/license/mit)
72
71
73
72
### **[license.apache_llvm]**
74
73
@@ -131,19 +130,18 @@ Here is snapshot of `default branch` settings in `exemplar` repository:
131
130
**Requirement**: There must be a default `Rulesets` configured for any Beman repository (library, infrastructre, documentation, etc.)
132
131
133
132
Use the following example:
134
-
135
-
- Go to your repository's settings - e.g., [exemplar/settings](https://github.com/bemanproject/exemplar/settings/).
136
-
- Go to `Code and automation` / `Rules` / `Rulesets` - e.g., [exemplar/settings/rulesets](https://github.com/bemanproject/exemplar/settings/rules/).
137
-
- You should have a single ruleset named `Default` - e.g., [exemplar/settings/rulesets/beman](https://github.com/bemanproject/exemplar/settings/rulesets/beman).
138
-
- Create (via `New ruleset` button) or update (click on `Default` ruleset) it to include the following rules:
139
-
- Rulset Name: `Default`
140
-
- Enforcement status: `Active`
141
-
- Bypass list: Check `Organization admin` and `Repository admin`
142
-
- Target branch: Check `Include default branch`
143
-
- Go to `Rules` section
144
-
- Check `Restrict deletions` and `Block force pushes`
145
-
- Check `Require a pull request before merging` and configure it to have `Required approvals: 1`, `Require review from Code Owners` and `Allowed merge methods: Merge, Squash, Rebase`.
146
-
- Click `Create` to save the ruleset.
133
+
* Go to your repository's settings - e.g., [exemplar/settings](https://github.com/bemanproject/exemplar/settings/).
134
+
* Go to `Code and automation` / `Rules` / `Rulesets` - e.g., [exemplar/settings/rulesets](https://github.com/bemanproject/exemplar/settings/rules/).
135
+
* You should have a single ruleset named `Default` - e.g., [exemplar/settings/rulesets/beman](https://github.com/bemanproject/exemplar/settings/rulesets/beman).
136
+
* Create (via `New ruleset` button) or update (click on `Default` ruleset) it to include the following rules:
137
+
* Rulset Name: `Default`
138
+
* Enforcement status: `Active`
139
+
* Bypass list: Check `Organization admin` and `Repository admin`
140
+
* Target branch: Check `Include default branch`
141
+
* Go to `Rules` section
142
+
* Check `Restrict deletions` and `Block force pushes`
143
+
* Check `Require a pull request before merging` and configure it to have `Required approvals: 1`, `Require review from Code Owners` and `Allowed merge methods: Merge, Squash, Rebase`.
144
+
* Click `Create` to save the ruleset.
147
145
148
146
Here is a snapshot of `default branch` settings in `exemplar`:
149
147
@@ -154,8 +152,7 @@ Here is a snapshot of `default branch` settings in `exemplar`:
154
152
**Recommendation**: The repository should not use git submodules. Check `cmake.use_find_package` for alternatives.
155
153
156
154
Known exceptions:
157
-
158
-
-[mpark/wg21: Framework for Writing C++ Committee Papers](https://github.com/mpark/wg21): A non-C++ submodule designed for drafting ISO C++ papers using LaTeX or Markdown.
155
+
*[mpark/wg21: Framework for Writing C++ Committee Papers](https://github.com/mpark/wg21): A non-C++ submodule designed for drafting ISO C++ papers using LaTeX or Markdown.
159
156
160
157
## Release
161
158
@@ -182,11 +179,11 @@ Known exceptions:
182
179
- Build system changes
183
180
- Documentation updates
184
181
185
-
2.4. A "New Contributors" section listing all first-time contributors.
182
+
2.4. A "New Contributors" section listing all first-time contributors.
186
183
187
-
2.5. A "Full Changelog" link to the complete list of commits.
184
+
2.5. A "Full Changelog" link to the complete list of commits.
188
185
189
-
2.6. A "Contributors" section listing all contributors to this release. Note: This section is autogenerated by GitHub Releases!
186
+
2.6. A "Contributors" section listing all contributors to this release. Note: This section is autogenerated by GitHub Releases!
190
187
191
188
Use the following format:
192
189
@@ -201,21 +198,23 @@ Use the following format:
201
198
202
199
This release has a status of [Under development and not yet ready for production use.](https://github.com/bemanproject/beman/blob/main/docs/beman_library_maturity_model.md#under-development-and-not-yet-ready-for-production-use).
203
200
201
+
204
202
## Changelog
205
203
206
204
<!-- TODO: Update this section and remove this comment. -->
207
205
208
-
- <description change> by @${USER} in https://github.com/bemanproject/${REPO}/pull/${PR_ID}
209
-
- ...
206
+
* <description change> by @${USER} in https://github.com/bemanproject/${REPO}/pull/${PR_ID}
<!-- TODO: Update this section and remove this comment. -->
216
214
217
-
- @${USER} made their first contribution in https://github.com/bemanproject/${REPO}/pull/#${PR_ID}
218
-
- ...
215
+
* @${USER} made their first contribution in https://github.com/bemanproject/${REPO}/pull/#${PR_ID}
216
+
* ...
217
+
219
218
```
220
219
221
220
Complete examples can be found in [https://github.com/bemanproject/exemplar/releases](https://github.com/bemanproject/exemplar/releases).
@@ -224,10 +223,12 @@ Here is a snapshot of notes for a particular release in `exemplar`:
224
223
225
224

226
225
226
+
227
227
### **[release.godbolt_trunk_version]**
228
228
229
229
**Recommendation**: A Beman library should have at least a trunk version deployed on godbolt with nightyclone mode activated. Check [tutorial: Compiler Explorer Deployment](https://github.com/bemanproject/beman/blob/main/guidelines/compiler-explorer-deployment.md).
230
230
231
+
231
232
## Top-level
232
233
233
234
The top-level of a Beman library repository must consist of `CMakeLists.txt`, `LICENSE`, and `README.md` files.
@@ -267,7 +268,6 @@ Examples:
267
268
**Requirement**: Following the title, the `README.md` must have a one-line badge list. Examples: library status (`[readme.library_status]`), CI status, code coverage, Compiler Explorer example.
See `[cmake.skip_tests]` in this document for a working example or [exemplar/blob/main/CMakeLists.txt](https://github.com/bemanproject/exemplar/blob/main/CMakeLists.txt).
422
421
422
+
423
423
### **[cmake.project_name]**
424
424
425
425
**Recommendation**: The CMake project name should be identical to the beman library name.
@@ -521,6 +521,7 @@ endif()
521
521
The `CMakeLists.txt` in the test directory can declare any test-only dependendencies
522
522
that are required. For instance:
523
523
524
+
524
525
```CMake
525
526
# File: <repo>/tests/CMakeLists.txt
526
527
# ...
@@ -581,7 +582,7 @@ add_subdirectory(beman) # Don't do this
581
582
add_subdirectory(optional) # Don't do this
582
583
```
583
584
584
-
### **[cmake.implicit_defaults]**
585
+
### **[cmake.implicit_defaults]**
585
586
586
587
**Recommendation**: Where CMake commands have reasonable default values, and the project does not intend to change those values, the parameters should be left implicitly defaulted rather than enumerated in the command.
587
588
@@ -798,19 +799,19 @@ first possible line in all files which can contain a comment
0 commit comments