runem 0.0.9__tar.gz → 0.0.11__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {runem-0.0.9 → runem-0.0.11}/HISTORY.md +21 -0
- {runem-0.0.9 → runem-0.0.11}/PKG-INFO +40 -20
- {runem-0.0.9 → runem-0.0.11}/README.md +39 -19
- runem-0.0.11/runem/VERSION +1 -0
- {runem-0.0.9 → runem-0.0.11}/runem/runem.py +1 -0
- {runem-0.0.9 → runem-0.0.11}/runem.egg-info/PKG-INFO +40 -20
- runem-0.0.9/runem/VERSION +0 -1
- {runem-0.0.9 → runem-0.0.11}/Containerfile +0 -0
- {runem-0.0.9 → runem-0.0.11}/LICENSE +0 -0
- {runem-0.0.9 → runem-0.0.11}/MANIFEST.in +0 -0
- {runem-0.0.9 → runem-0.0.11}/runem/__init__.py +0 -0
- {runem-0.0.9 → runem-0.0.11}/runem/__main__.py +0 -0
- {runem-0.0.9 → runem-0.0.11}/runem/base.py +0 -0
- {runem-0.0.9 → runem-0.0.11}/runem/cli.py +0 -0
- {runem-0.0.9 → runem-0.0.11}/runem/py.typed +0 -0
- {runem-0.0.9 → runem-0.0.11}/runem/run_command.py +0 -0
- {runem-0.0.9 → runem-0.0.11}/runem.egg-info/SOURCES.txt +0 -0
- {runem-0.0.9 → runem-0.0.11}/runem.egg-info/dependency_links.txt +0 -0
- {runem-0.0.9 → runem-0.0.11}/runem.egg-info/entry_points.txt +0 -0
- {runem-0.0.9 → runem-0.0.11}/runem.egg-info/requires.txt +0 -0
- {runem-0.0.9 → runem-0.0.11}/runem.egg-info/top_level.txt +0 -0
- {runem-0.0.9 → runem-0.0.11}/scripts/__init__.py +0 -0
- {runem-0.0.9 → runem-0.0.11}/setup.cfg +0 -0
- {runem-0.0.9 → runem-0.0.11}/setup.py +0 -0
- {runem-0.0.9 → runem-0.0.11}/tests/__init__.py +0 -0
- {runem-0.0.9 → runem-0.0.11}/tests/conftest.py +0 -0
- {runem-0.0.9 → runem-0.0.11}/tests/test_base.py +0 -0
@@ -4,6 +4,27 @@ Changelog
|
|
4
4
|
|
5
5
|
(unreleased)
|
6
6
|
------------
|
7
|
+
- Merge branch 'fix/warning_when_no_files_for_job' [Frank Harrison]
|
8
|
+
- Fix(warn-no-files): starts troubleshooting. [Frank Harrison]
|
9
|
+
- Fix(warn-no-files): updates README after deleting defunct jobs. [Frank
|
10
|
+
Harrison]
|
11
|
+
- Fix(warn-no-files): removes defunct job-specs. [Frank Harrison]
|
12
|
+
- Fix(warn-no-files): ads more information when a job isn't run because
|
13
|
+
of files. [Frank Harrison]
|
14
|
+
|
15
|
+
TBH this shows a problem in the spec method
|
16
|
+
|
17
|
+
|
18
|
+
0.0.10 (2023-11-29)
|
19
|
+
-------------------
|
20
|
+
- Release: version 0.0.10 🚀 [Frank Harrison]
|
21
|
+
- Merge branch 'docs/update_readme' [Frank Harrison]
|
22
|
+
- Docs: make readme more readable. [Frank Harrison]
|
23
|
+
|
24
|
+
|
25
|
+
0.0.9 (2023-11-29)
|
26
|
+
------------------
|
27
|
+
- Release: version 0.0.9 🚀 [Frank Harrison]
|
7
28
|
- Merge branch 'fix/remove_lursight_env_refs' [Frank Harrison]
|
8
29
|
- Fix(lursight-envs): removes lursight envs from runem. [Frank Harrison]
|
9
30
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: runem
|
3
|
-
Version: 0.0.
|
3
|
+
Version: 0.0.11
|
4
4
|
Summary: Awesome runem created by lursight
|
5
5
|
Home-page: https://github.com/lursight/runem/
|
6
6
|
Author: lursight
|
@@ -47,6 +47,7 @@ The name "runem" is derived from the fusion of "run" and "them," encapsulating t
|
|
47
47
|
- [4.1. Tag filters](#41-tag-filters)
|
48
48
|
- [4.1.1. Run jobs only with the 'lint' tag:](#411-run-jobs-only-with-the-lint-tag)
|
49
49
|
- [4.1.2. If you want to lint all code _except_ nodejs code (and you have the apprpriate tags):](#412-if-you-want-to-lint-all-code-except-nodejs-code-and-you-have-the-apprpriate-tags)
|
50
|
+
- [4.1.3. Run fast checks on `pre-commit`](#413-run-fast-checks-on-pre-commit)
|
50
51
|
- [4.2. phase filters](#42-phase-filters)
|
51
52
|
- [4.2.1 Focus on a phase](#421-focus-on-a-phase)
|
52
53
|
- [4.2.2 Exclude slow phases temporarily](#422-exclude-slow-phases-temporarily)
|
@@ -86,14 +87,22 @@ $ python -m runem [--tags tag1,tag2,tag3] [--not-tags tag1,tag2,tag3] \
|
|
86
87
|
```
|
87
88
|
|
88
89
|
### 4.1. Tag filters
|
89
|
-
|
90
|
+
Jobs are tagged in the .runem.yml config file. Each unique tags is made available on the command-line. To see which tags are available use `--help`. To add a new tag extend the `tags` field in the `job` config.
|
90
91
|
|
91
|
-
|
92
|
+
You can control which types of jobs to run via tags. Just tag the job in the config and then from the command-line you can add `--tags` or `--not-tags` to refine exactly which jobs will be run.
|
93
|
+
|
94
|
+
To debug why a job is not selected pass `--verbose`.
|
95
|
+
|
96
|
+
For example, if you have a `python` tagged job or jobs, to run only run those jobs you would do the following:
|
92
97
|
|
93
98
|
```bash
|
94
99
|
runem --tags python
|
95
100
|
```
|
96
101
|
|
102
|
+
`--tags` are exclusive filter in, that is the tags passed in replace are the only tags that are run. This allows one to focus on running just a subset of tags.
|
103
|
+
|
104
|
+
`--not-tags` are subtractive filter out, that is any job with these tags are not run, even if they have tags set via the `--tags` switch. Meaning you can choose to run `python` tagged jobed but not run the `lint` jobs with `--tags python --not-tags lint`, and so on.
|
105
|
+
|
97
106
|
#### 4.1.1. Run jobs only with the 'lint' tag:
|
98
107
|
|
99
108
|
```bash
|
@@ -106,13 +115,26 @@ runem --tags lint
|
|
106
115
|
runem --tags lint --not-tags deprecated
|
107
116
|
```
|
108
117
|
|
118
|
+
#### 4.1.3. Run fast checks on `pre-commit`
|
119
|
+
|
120
|
+
If you have fast jobs that tagged as appropriate for pre-commit hooks.
|
121
|
+
|
122
|
+
```bash
|
123
|
+
mkdir scripts/git-hooks
|
124
|
+
echo "runem --tags pre-commit" > scripts/git-hooks/pre-commit
|
125
|
+
# add the following to .git/config
|
126
|
+
# [core]
|
127
|
+
# # ... existing config ...
|
128
|
+
# hooksPath = ./scripts/git-hooks/husky/
|
129
|
+
```
|
130
|
+
|
109
131
|
### 4.2. phase filters
|
110
132
|
|
111
|
-
Sometimes
|
133
|
+
Sometimes just want to run a specific phase, so you can focus on it and iterate quickly, within that context.
|
112
134
|
|
113
135
|
#### 4.2.1 Focus on a phase
|
114
136
|
|
115
|
-
For example you might want to run
|
137
|
+
For example, if you have a `reformat` phase, you might want to run just `reformat` jobs phase whilst preparing a commit and are just preparing cosmetic changes e.g. updating comments, syntax, or docs.
|
116
138
|
|
117
139
|
```bash
|
118
140
|
runem --phase reformat
|
@@ -120,7 +142,7 @@ runem --phase reformat
|
|
120
142
|
|
121
143
|
#### 4.2.2 Exclude slow phases temporarily
|
122
144
|
|
123
|
-
|
145
|
+
If you have 4 stages `bootstrap`, `pre-run`, `reformat`, `test` and `verify` phase, and are tightly iterating and focusing on the 'test-coverage' aspect of the test-phase, then you do not care about formating as long as you can see your coverage results ASAP. However if your test-coverage starts passing then you will care about subsequent stages, so you can exlude the slower reformat-stage with the following and everything else will run.
|
124
146
|
|
125
147
|
```bash
|
126
148
|
runem --not-phase pre-run reformat
|
@@ -147,8 +169,8 @@ usage: runem.py [-h] [--jobs JOBS [JOBS ...]] [--not-jobs JOBS_EXCLUDED [JOBS_EX
|
|
147
169
|
[--black] [--no-black] [--check-only] [--no-check-only] [--coverage] [--no-coverage] [--docformatter] [--no-docformatter]
|
148
170
|
[--generate-call-graphs] [--no-generate-call-graphs] [--install-deps] [--no-install-deps] [--isort] [--no-isort] [--profile]
|
149
171
|
[--no-profile] [--update-snapshots] [--no-update-snapshots] [--unit-test] [--no-unit-test] [--unit-test-firebase-data]
|
150
|
-
[--no-unit-test-firebase-data] [--unit-test-python] [--no-unit-test-python] [--call-graphs | --no-call-graphs]
|
151
|
-
[--root ROOT_DIR] [--verbose | --no-verbose | -v]
|
172
|
+
[--no-unit-test-firebase-data] [--unit-test-python] [--no-unit-test-python] [--call-graphs | --no-call-graphs]
|
173
|
+
[--procs PROCS] [--root ROOT_DIR] [--verbose | --no-verbose | -v]
|
152
174
|
|
153
175
|
Runs the Lursight Lang test-suite
|
154
176
|
|
@@ -162,27 +184,25 @@ options:
|
|
162
184
|
|
163
185
|
jobs:
|
164
186
|
--jobs JOBS [JOBS ...]
|
165
|
-
List of job-names to run the given jobs. Other filters will modify this list. Defaults to '['
|
166
|
-
|
167
|
-
'pretty app', 'pretty fb_funcs', 'pylint py', 'reformat py', 'typescript app', 'typescript fb_funcs']'
|
187
|
+
List of job-names to run the given jobs. Other filters will modify this list. Defaults to '['flake8 py', 'install
|
188
|
+
python requirements', 'json validate', 'mypy py', 'pylint py', 'reformat py', 'spell check']'
|
168
189
|
--not-jobs JOBS_EXCLUDED [JOBS_EXCLUDED ...]
|
169
|
-
List of job-names to NOT run. Defaults to empty. Available options are: '['
|
170
|
-
'
|
171
|
-
'pretty fb_funcs', 'pylint py', 'reformat py', 'typescript app', 'typescript fb_funcs']'
|
190
|
+
List of job-names to NOT run. Defaults to empty. Available options are: '['flake8 py', 'install python requirements',
|
191
|
+
'json validate', 'mypy py', 'pylint py', 'reformat py', 'spell check']'
|
172
192
|
|
173
193
|
phases:
|
174
194
|
--phases PHASES [PHASES ...]
|
175
|
-
Run only the phases passed in, and can be used to change the phase order. Phases are run in the order given. Defaults
|
176
|
-
'{'
|
195
|
+
Run only the phases passed in, and can be used to change the phase order. Phases are run in the order given. Defaults
|
196
|
+
to '{'edit', 'pre-run', 'analysis'}'.
|
177
197
|
--not-phases PHASES_EXCLUDED [PHASES_EXCLUDED ...]
|
178
|
-
List of phases to NOT run. This option does not change the phase run order. Options are '['analysis', 'edit', 'pre-
|
198
|
+
List of phases to NOT run. This option does not change the phase run order. Options are '['analysis', 'edit', 'pre-
|
199
|
+
run']'.
|
179
200
|
|
180
201
|
tags:
|
181
202
|
--tags TAGS [TAGS ...]
|
182
|
-
Only jobs with the given tags. Defaults to '['
|
203
|
+
Only jobs with the given tags. Defaults to '['json', 'lint', 'py', 'spell', 'type']'.
|
183
204
|
--not-tags TAGS_EXCLUDED [TAGS_EXCLUDED ...]
|
184
|
-
Removes one or more tags from the list of job tags to be run. Options are '['
|
185
|
-
'type']'.
|
205
|
+
Removes one or more tags from the list of job tags to be run. Options are '['json', 'lint', 'py', 'spell', 'type']'.
|
186
206
|
|
187
207
|
job-param overrides:
|
188
208
|
--black allow/disallows py-black from running
|
@@ -16,6 +16,7 @@ The name "runem" is derived from the fusion of "run" and "them," encapsulating t
|
|
16
16
|
- [4.1. Tag filters](#41-tag-filters)
|
17
17
|
- [4.1.1. Run jobs only with the 'lint' tag:](#411-run-jobs-only-with-the-lint-tag)
|
18
18
|
- [4.1.2. If you want to lint all code _except_ nodejs code (and you have the apprpriate tags):](#412-if-you-want-to-lint-all-code-except-nodejs-code-and-you-have-the-apprpriate-tags)
|
19
|
+
- [4.1.3. Run fast checks on `pre-commit`](#413-run-fast-checks-on-pre-commit)
|
19
20
|
- [4.2. phase filters](#42-phase-filters)
|
20
21
|
- [4.2.1 Focus on a phase](#421-focus-on-a-phase)
|
21
22
|
- [4.2.2 Exclude slow phases temporarily](#422-exclude-slow-phases-temporarily)
|
@@ -55,14 +56,22 @@ $ python -m runem [--tags tag1,tag2,tag3] [--not-tags tag1,tag2,tag3] \
|
|
55
56
|
```
|
56
57
|
|
57
58
|
### 4.1. Tag filters
|
58
|
-
|
59
|
+
Jobs are tagged in the .runem.yml config file. Each unique tags is made available on the command-line. To see which tags are available use `--help`. To add a new tag extend the `tags` field in the `job` config.
|
59
60
|
|
60
|
-
|
61
|
+
You can control which types of jobs to run via tags. Just tag the job in the config and then from the command-line you can add `--tags` or `--not-tags` to refine exactly which jobs will be run.
|
62
|
+
|
63
|
+
To debug why a job is not selected pass `--verbose`.
|
64
|
+
|
65
|
+
For example, if you have a `python` tagged job or jobs, to run only run those jobs you would do the following:
|
61
66
|
|
62
67
|
```bash
|
63
68
|
runem --tags python
|
64
69
|
```
|
65
70
|
|
71
|
+
`--tags` are exclusive filter in, that is the tags passed in replace are the only tags that are run. This allows one to focus on running just a subset of tags.
|
72
|
+
|
73
|
+
`--not-tags` are subtractive filter out, that is any job with these tags are not run, even if they have tags set via the `--tags` switch. Meaning you can choose to run `python` tagged jobed but not run the `lint` jobs with `--tags python --not-tags lint`, and so on.
|
74
|
+
|
66
75
|
#### 4.1.1. Run jobs only with the 'lint' tag:
|
67
76
|
|
68
77
|
```bash
|
@@ -75,13 +84,26 @@ runem --tags lint
|
|
75
84
|
runem --tags lint --not-tags deprecated
|
76
85
|
```
|
77
86
|
|
87
|
+
#### 4.1.3. Run fast checks on `pre-commit`
|
88
|
+
|
89
|
+
If you have fast jobs that tagged as appropriate for pre-commit hooks.
|
90
|
+
|
91
|
+
```bash
|
92
|
+
mkdir scripts/git-hooks
|
93
|
+
echo "runem --tags pre-commit" > scripts/git-hooks/pre-commit
|
94
|
+
# add the following to .git/config
|
95
|
+
# [core]
|
96
|
+
# # ... existing config ...
|
97
|
+
# hooksPath = ./scripts/git-hooks/husky/
|
98
|
+
```
|
99
|
+
|
78
100
|
### 4.2. phase filters
|
79
101
|
|
80
|
-
Sometimes
|
102
|
+
Sometimes just want to run a specific phase, so you can focus on it and iterate quickly, within that context.
|
81
103
|
|
82
104
|
#### 4.2.1 Focus on a phase
|
83
105
|
|
84
|
-
For example you might want to run
|
106
|
+
For example, if you have a `reformat` phase, you might want to run just `reformat` jobs phase whilst preparing a commit and are just preparing cosmetic changes e.g. updating comments, syntax, or docs.
|
85
107
|
|
86
108
|
```bash
|
87
109
|
runem --phase reformat
|
@@ -89,7 +111,7 @@ runem --phase reformat
|
|
89
111
|
|
90
112
|
#### 4.2.2 Exclude slow phases temporarily
|
91
113
|
|
92
|
-
|
114
|
+
If you have 4 stages `bootstrap`, `pre-run`, `reformat`, `test` and `verify` phase, and are tightly iterating and focusing on the 'test-coverage' aspect of the test-phase, then you do not care about formating as long as you can see your coverage results ASAP. However if your test-coverage starts passing then you will care about subsequent stages, so you can exlude the slower reformat-stage with the following and everything else will run.
|
93
115
|
|
94
116
|
```bash
|
95
117
|
runem --not-phase pre-run reformat
|
@@ -116,8 +138,8 @@ usage: runem.py [-h] [--jobs JOBS [JOBS ...]] [--not-jobs JOBS_EXCLUDED [JOBS_EX
|
|
116
138
|
[--black] [--no-black] [--check-only] [--no-check-only] [--coverage] [--no-coverage] [--docformatter] [--no-docformatter]
|
117
139
|
[--generate-call-graphs] [--no-generate-call-graphs] [--install-deps] [--no-install-deps] [--isort] [--no-isort] [--profile]
|
118
140
|
[--no-profile] [--update-snapshots] [--no-update-snapshots] [--unit-test] [--no-unit-test] [--unit-test-firebase-data]
|
119
|
-
[--no-unit-test-firebase-data] [--unit-test-python] [--no-unit-test-python] [--call-graphs | --no-call-graphs]
|
120
|
-
[--root ROOT_DIR] [--verbose | --no-verbose | -v]
|
141
|
+
[--no-unit-test-firebase-data] [--unit-test-python] [--no-unit-test-python] [--call-graphs | --no-call-graphs]
|
142
|
+
[--procs PROCS] [--root ROOT_DIR] [--verbose | --no-verbose | -v]
|
121
143
|
|
122
144
|
Runs the Lursight Lang test-suite
|
123
145
|
|
@@ -131,27 +153,25 @@ options:
|
|
131
153
|
|
132
154
|
jobs:
|
133
155
|
--jobs JOBS [JOBS ...]
|
134
|
-
List of job-names to run the given jobs. Other filters will modify this list. Defaults to '['
|
135
|
-
|
136
|
-
'pretty app', 'pretty fb_funcs', 'pylint py', 'reformat py', 'typescript app', 'typescript fb_funcs']'
|
156
|
+
List of job-names to run the given jobs. Other filters will modify this list. Defaults to '['flake8 py', 'install
|
157
|
+
python requirements', 'json validate', 'mypy py', 'pylint py', 'reformat py', 'spell check']'
|
137
158
|
--not-jobs JOBS_EXCLUDED [JOBS_EXCLUDED ...]
|
138
|
-
List of job-names to NOT run. Defaults to empty. Available options are: '['
|
139
|
-
'
|
140
|
-
'pretty fb_funcs', 'pylint py', 'reformat py', 'typescript app', 'typescript fb_funcs']'
|
159
|
+
List of job-names to NOT run. Defaults to empty. Available options are: '['flake8 py', 'install python requirements',
|
160
|
+
'json validate', 'mypy py', 'pylint py', 'reformat py', 'spell check']'
|
141
161
|
|
142
162
|
phases:
|
143
163
|
--phases PHASES [PHASES ...]
|
144
|
-
Run only the phases passed in, and can be used to change the phase order. Phases are run in the order given. Defaults
|
145
|
-
'{'
|
164
|
+
Run only the phases passed in, and can be used to change the phase order. Phases are run in the order given. Defaults
|
165
|
+
to '{'edit', 'pre-run', 'analysis'}'.
|
146
166
|
--not-phases PHASES_EXCLUDED [PHASES_EXCLUDED ...]
|
147
|
-
List of phases to NOT run. This option does not change the phase run order. Options are '['analysis', 'edit', 'pre-
|
167
|
+
List of phases to NOT run. This option does not change the phase run order. Options are '['analysis', 'edit', 'pre-
|
168
|
+
run']'.
|
148
169
|
|
149
170
|
tags:
|
150
171
|
--tags TAGS [TAGS ...]
|
151
|
-
Only jobs with the given tags. Defaults to '['
|
172
|
+
Only jobs with the given tags. Defaults to '['json', 'lint', 'py', 'spell', 'type']'.
|
152
173
|
--not-tags TAGS_EXCLUDED [TAGS_EXCLUDED ...]
|
153
|
-
Removes one or more tags from the list of job tags to be run. Options are '['
|
154
|
-
'type']'.
|
174
|
+
Removes one or more tags from the list of job tags to be run. Options are '['json', 'lint', 'py', 'spell', 'type']'.
|
155
175
|
|
156
176
|
job-param overrides:
|
157
177
|
--black allow/disallows py-black from running
|
@@ -0,0 +1 @@
|
|
1
|
+
0.0.11
|
@@ -615,6 +615,7 @@ def _run_job(
|
|
615
615
|
|
616
616
|
if not file_list:
|
617
617
|
# no files to work on
|
618
|
+
print(f"WARNING: skipping job '{label}', no files for job")
|
618
619
|
return (f"{label}: no files!", timedelta(0))
|
619
620
|
if job_config["ctx"]["cwd"]:
|
620
621
|
os.chdir(root_path / job_config["ctx"]["cwd"])
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: runem
|
3
|
-
Version: 0.0.
|
3
|
+
Version: 0.0.11
|
4
4
|
Summary: Awesome runem created by lursight
|
5
5
|
Home-page: https://github.com/lursight/runem/
|
6
6
|
Author: lursight
|
@@ -47,6 +47,7 @@ The name "runem" is derived from the fusion of "run" and "them," encapsulating t
|
|
47
47
|
- [4.1. Tag filters](#41-tag-filters)
|
48
48
|
- [4.1.1. Run jobs only with the 'lint' tag:](#411-run-jobs-only-with-the-lint-tag)
|
49
49
|
- [4.1.2. If you want to lint all code _except_ nodejs code (and you have the apprpriate tags):](#412-if-you-want-to-lint-all-code-except-nodejs-code-and-you-have-the-apprpriate-tags)
|
50
|
+
- [4.1.3. Run fast checks on `pre-commit`](#413-run-fast-checks-on-pre-commit)
|
50
51
|
- [4.2. phase filters](#42-phase-filters)
|
51
52
|
- [4.2.1 Focus on a phase](#421-focus-on-a-phase)
|
52
53
|
- [4.2.2 Exclude slow phases temporarily](#422-exclude-slow-phases-temporarily)
|
@@ -86,14 +87,22 @@ $ python -m runem [--tags tag1,tag2,tag3] [--not-tags tag1,tag2,tag3] \
|
|
86
87
|
```
|
87
88
|
|
88
89
|
### 4.1. Tag filters
|
89
|
-
|
90
|
+
Jobs are tagged in the .runem.yml config file. Each unique tags is made available on the command-line. To see which tags are available use `--help`. To add a new tag extend the `tags` field in the `job` config.
|
90
91
|
|
91
|
-
|
92
|
+
You can control which types of jobs to run via tags. Just tag the job in the config and then from the command-line you can add `--tags` or `--not-tags` to refine exactly which jobs will be run.
|
93
|
+
|
94
|
+
To debug why a job is not selected pass `--verbose`.
|
95
|
+
|
96
|
+
For example, if you have a `python` tagged job or jobs, to run only run those jobs you would do the following:
|
92
97
|
|
93
98
|
```bash
|
94
99
|
runem --tags python
|
95
100
|
```
|
96
101
|
|
102
|
+
`--tags` are exclusive filter in, that is the tags passed in replace are the only tags that are run. This allows one to focus on running just a subset of tags.
|
103
|
+
|
104
|
+
`--not-tags` are subtractive filter out, that is any job with these tags are not run, even if they have tags set via the `--tags` switch. Meaning you can choose to run `python` tagged jobed but not run the `lint` jobs with `--tags python --not-tags lint`, and so on.
|
105
|
+
|
97
106
|
#### 4.1.1. Run jobs only with the 'lint' tag:
|
98
107
|
|
99
108
|
```bash
|
@@ -106,13 +115,26 @@ runem --tags lint
|
|
106
115
|
runem --tags lint --not-tags deprecated
|
107
116
|
```
|
108
117
|
|
118
|
+
#### 4.1.3. Run fast checks on `pre-commit`
|
119
|
+
|
120
|
+
If you have fast jobs that tagged as appropriate for pre-commit hooks.
|
121
|
+
|
122
|
+
```bash
|
123
|
+
mkdir scripts/git-hooks
|
124
|
+
echo "runem --tags pre-commit" > scripts/git-hooks/pre-commit
|
125
|
+
# add the following to .git/config
|
126
|
+
# [core]
|
127
|
+
# # ... existing config ...
|
128
|
+
# hooksPath = ./scripts/git-hooks/husky/
|
129
|
+
```
|
130
|
+
|
109
131
|
### 4.2. phase filters
|
110
132
|
|
111
|
-
Sometimes
|
133
|
+
Sometimes just want to run a specific phase, so you can focus on it and iterate quickly, within that context.
|
112
134
|
|
113
135
|
#### 4.2.1 Focus on a phase
|
114
136
|
|
115
|
-
For example you might want to run
|
137
|
+
For example, if you have a `reformat` phase, you might want to run just `reformat` jobs phase whilst preparing a commit and are just preparing cosmetic changes e.g. updating comments, syntax, or docs.
|
116
138
|
|
117
139
|
```bash
|
118
140
|
runem --phase reformat
|
@@ -120,7 +142,7 @@ runem --phase reformat
|
|
120
142
|
|
121
143
|
#### 4.2.2 Exclude slow phases temporarily
|
122
144
|
|
123
|
-
|
145
|
+
If you have 4 stages `bootstrap`, `pre-run`, `reformat`, `test` and `verify` phase, and are tightly iterating and focusing on the 'test-coverage' aspect of the test-phase, then you do not care about formating as long as you can see your coverage results ASAP. However if your test-coverage starts passing then you will care about subsequent stages, so you can exlude the slower reformat-stage with the following and everything else will run.
|
124
146
|
|
125
147
|
```bash
|
126
148
|
runem --not-phase pre-run reformat
|
@@ -147,8 +169,8 @@ usage: runem.py [-h] [--jobs JOBS [JOBS ...]] [--not-jobs JOBS_EXCLUDED [JOBS_EX
|
|
147
169
|
[--black] [--no-black] [--check-only] [--no-check-only] [--coverage] [--no-coverage] [--docformatter] [--no-docformatter]
|
148
170
|
[--generate-call-graphs] [--no-generate-call-graphs] [--install-deps] [--no-install-deps] [--isort] [--no-isort] [--profile]
|
149
171
|
[--no-profile] [--update-snapshots] [--no-update-snapshots] [--unit-test] [--no-unit-test] [--unit-test-firebase-data]
|
150
|
-
[--no-unit-test-firebase-data] [--unit-test-python] [--no-unit-test-python] [--call-graphs | --no-call-graphs]
|
151
|
-
[--root ROOT_DIR] [--verbose | --no-verbose | -v]
|
172
|
+
[--no-unit-test-firebase-data] [--unit-test-python] [--no-unit-test-python] [--call-graphs | --no-call-graphs]
|
173
|
+
[--procs PROCS] [--root ROOT_DIR] [--verbose | --no-verbose | -v]
|
152
174
|
|
153
175
|
Runs the Lursight Lang test-suite
|
154
176
|
|
@@ -162,27 +184,25 @@ options:
|
|
162
184
|
|
163
185
|
jobs:
|
164
186
|
--jobs JOBS [JOBS ...]
|
165
|
-
List of job-names to run the given jobs. Other filters will modify this list. Defaults to '['
|
166
|
-
|
167
|
-
'pretty app', 'pretty fb_funcs', 'pylint py', 'reformat py', 'typescript app', 'typescript fb_funcs']'
|
187
|
+
List of job-names to run the given jobs. Other filters will modify this list. Defaults to '['flake8 py', 'install
|
188
|
+
python requirements', 'json validate', 'mypy py', 'pylint py', 'reformat py', 'spell check']'
|
168
189
|
--not-jobs JOBS_EXCLUDED [JOBS_EXCLUDED ...]
|
169
|
-
List of job-names to NOT run. Defaults to empty. Available options are: '['
|
170
|
-
'
|
171
|
-
'pretty fb_funcs', 'pylint py', 'reformat py', 'typescript app', 'typescript fb_funcs']'
|
190
|
+
List of job-names to NOT run. Defaults to empty. Available options are: '['flake8 py', 'install python requirements',
|
191
|
+
'json validate', 'mypy py', 'pylint py', 'reformat py', 'spell check']'
|
172
192
|
|
173
193
|
phases:
|
174
194
|
--phases PHASES [PHASES ...]
|
175
|
-
Run only the phases passed in, and can be used to change the phase order. Phases are run in the order given. Defaults
|
176
|
-
'{'
|
195
|
+
Run only the phases passed in, and can be used to change the phase order. Phases are run in the order given. Defaults
|
196
|
+
to '{'edit', 'pre-run', 'analysis'}'.
|
177
197
|
--not-phases PHASES_EXCLUDED [PHASES_EXCLUDED ...]
|
178
|
-
List of phases to NOT run. This option does not change the phase run order. Options are '['analysis', 'edit', 'pre-
|
198
|
+
List of phases to NOT run. This option does not change the phase run order. Options are '['analysis', 'edit', 'pre-
|
199
|
+
run']'.
|
179
200
|
|
180
201
|
tags:
|
181
202
|
--tags TAGS [TAGS ...]
|
182
|
-
Only jobs with the given tags. Defaults to '['
|
203
|
+
Only jobs with the given tags. Defaults to '['json', 'lint', 'py', 'spell', 'type']'.
|
183
204
|
--not-tags TAGS_EXCLUDED [TAGS_EXCLUDED ...]
|
184
|
-
Removes one or more tags from the list of job tags to be run. Options are '['
|
185
|
-
'type']'.
|
205
|
+
Removes one or more tags from the list of job tags to be run. Options are '['json', 'lint', 'py', 'spell', 'type']'.
|
186
206
|
|
187
207
|
job-param overrides:
|
188
208
|
--black allow/disallows py-black from running
|
runem-0.0.9/runem/VERSION
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
0.0.9
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|