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
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+3-8Lines changed: 3 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -32,7 +32,7 @@ All specs & models in this repository are subject to many validation checks; for
32
32
While many of these checks concern basic properties like whether the spec parses properly and its models do not crash, they also check whether the spec correctly reflects metadata stored about it in the spec's `manifest.json` file and a table in [`README.md`](README.md).
33
33
34
34
CI validation requires creating a `manifest.json` metadata file in your specification's root directory.
35
-
This can either be done manually (by looking at existing examples) or largely automated using the instructions below; note that if done manually you are very likely to miss tagging your spec with some feature flags detected & enforced by the CI.
35
+
This can either be done manually (by looking at existing examples) or largely automated using the instructions below; note that if done manually might miss tagging your spec with some feature flags detected & enforced by the CI.
36
36
Before submitted your changes to run in the CI, you can quickly check your `manifest.json` against the schema [`manifest-schema.json`](manifest-schema.json) at https://www.jsonschemavalidator.net/.
37
37
Steps:
38
38
@@ -41,17 +41,12 @@ Steps:
41
41
1. Run `pip install -r .github/scripts/requirements.txt`
42
42
1. Run `python .github/scripts/generate_manifest.py` to auto-generate your spec's `manifest.json` file with as many details as possible
43
43
1. Locate your spec directory's `manifest.json` file and ensure the following fields are filled out:
44
-
- Spec title: an appropriate title for your specification
45
-
- Spec description: a short description of your specification
46
44
- Spec sources: links relevant to the source of the spec (papers, blog posts, repositories)
47
45
- Spec authors: a list of people who authored the spec
48
46
- Spec tags:
49
47
-`"beginner"` if your spec is appropriate for TLA⁺ newcomers
50
48
- Model runtime: approximate model runtime on an ordinary workstation, in `"HH:MM:SS"` format
51
-
- Model size:
52
-
-`"small"` if the model can be executed in less than 10 seconds
53
-
-`"medium"` if the model can be executed in less than five minutes
54
-
-`"large"` if the model takes more than five minutes to execute
49
+
- If less than 30 seconds, will be run in its entirety by the CI; otherwise will only be smoke-tested for 5 seconds
55
50
- Model mode:
56
51
-`"exhaustive search"` by default
57
52
-`{"simulate": {"traceCount": N}}` for a simulation model
@@ -68,7 +63,7 @@ Steps:
68
63
- Recording these turns your model into a powerful regression test for TLC
69
64
- Other fields are auto-generated by the script; if you are adding an entry manually, ensure their values are present and correct (see other entries or the [`manifest-schema.json`](manifest-schema.json) file)
70
65
1. Add your spec somewhere in the **topmost** table (not the bottom one, don't get them mixed up!) in [`README.md`](README.md); this must have:
71
-
- The spec name as a link to the spec's directory, matching the name in the `manifest.json`
66
+
- The spec name as a link to the spec's directory
72
67
- A comma-separated list of authors, which must also match the list of authors in the `manifest.json`
73
68
- A checkmark indicating whether the spec is appropriate for beginners
74
69
- Checked IFF (if and only if) `beginner` is present in the `tags` field of your spec in `manifest.json`
0 commit comments