runem 0.0.17__tar.gz → 0.0.18__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.
Files changed (52) hide show
  1. runem-0.0.18/HISTORY.md +490 -0
  2. {runem-0.0.17 → runem-0.0.18}/PKG-INFO +2 -1
  3. runem-0.0.18/runem/VERSION +1 -0
  4. runem-0.0.18/runem/cli/initialise_options.py +25 -0
  5. {runem-0.0.17 → runem-0.0.18}/runem/command_line.py +3 -3
  6. {runem-0.0.17 → runem-0.0.18}/runem/config_parse.py +2 -2
  7. runem-0.0.17/runem/job_runner.py → runem-0.0.18/runem/job_execute.py +12 -6
  8. {runem-0.0.17 → runem-0.0.18}/runem/job_filter.py +7 -3
  9. runem-0.0.17/runem/job_function_python.py → runem-0.0.18/runem/job_wrapper_python.py +22 -7
  10. runem-0.0.18/runem/log.py +11 -0
  11. {runem-0.0.17 → runem-0.0.18}/runem/report.py +35 -9
  12. {runem-0.0.17 → runem-0.0.18}/runem/runem.py +50 -14
  13. {runem-0.0.17 → runem-0.0.18}/runem/types.py +3 -2
  14. {runem-0.0.17 → runem-0.0.18}/runem.egg-info/PKG-INFO +2 -1
  15. {runem-0.0.17 → runem-0.0.18}/runem.egg-info/SOURCES.txt +6 -4
  16. {runem-0.0.17 → runem-0.0.18}/runem.egg-info/requires.txt +1 -0
  17. runem-0.0.18/tests/cli/test_initialise_options.py +101 -0
  18. {runem-0.0.17 → runem-0.0.18}/tests/data/help_output.txt +13 -15
  19. {runem-0.0.17 → runem-0.0.18}/tests/test_config_parse.py +42 -0
  20. runem-0.0.17/tests/test_job_runner.py → runem-0.0.18/tests/test_job_execute.py +11 -11
  21. runem-0.0.17/tests/test_job_function_python.py → runem-0.0.18/tests/test_job_wrapper_python.py +86 -9
  22. {runem-0.0.17 → runem-0.0.18}/tests/test_report.py +40 -2
  23. {runem-0.0.17 → runem-0.0.18}/tests/test_runem.py +106 -14
  24. runem-0.0.17/HISTORY.md +0 -0
  25. runem-0.0.17/runem/VERSION +0 -1
  26. runem-0.0.17/runem/log.py +0 -8
  27. {runem-0.0.17 → runem-0.0.18}/Containerfile +0 -0
  28. {runem-0.0.17 → runem-0.0.18}/LICENSE +0 -0
  29. {runem-0.0.17 → runem-0.0.18}/MANIFEST.in +0 -0
  30. {runem-0.0.17 → runem-0.0.18}/README.md +0 -0
  31. {runem-0.0.17 → runem-0.0.18}/runem/__init__.py +0 -0
  32. {runem-0.0.17 → runem-0.0.18}/runem/__main__.py +0 -0
  33. {runem-0.0.17 → runem-0.0.18}/runem/base.py +0 -0
  34. {runem-0.0.17 → runem-0.0.18}/runem/cli.py +0 -0
  35. {runem-0.0.17 → runem-0.0.18}/runem/config.py +0 -0
  36. {runem-0.0.17 → runem-0.0.18}/runem/config_metadata.py +0 -0
  37. {runem-0.0.17 → runem-0.0.18}/runem/files.py +0 -0
  38. {runem-0.0.17 → runem-0.0.18}/runem/py.typed +0 -0
  39. {runem-0.0.17 → runem-0.0.18}/runem/run_command.py +0 -0
  40. {runem-0.0.17 → runem-0.0.18}/runem/utils.py +0 -0
  41. {runem-0.0.17 → runem-0.0.18}/runem.egg-info/dependency_links.txt +0 -0
  42. {runem-0.0.17 → runem-0.0.18}/runem.egg-info/entry_points.txt +0 -0
  43. {runem-0.0.17 → runem-0.0.18}/runem.egg-info/top_level.txt +0 -0
  44. {runem-0.0.17 → runem-0.0.18}/setup.cfg +0 -0
  45. {runem-0.0.17 → runem-0.0.18}/setup.py +0 -0
  46. {runem-0.0.17 → runem-0.0.18}/tests/__init__.py +0 -0
  47. {runem-0.0.17 → runem-0.0.18}/tests/conftest.py +0 -0
  48. {runem-0.0.17 → runem-0.0.18}/tests/test_base.py +0 -0
  49. {runem-0.0.17 → runem-0.0.18}/tests/test_cli.py +0 -0
  50. {runem-0.0.17 → runem-0.0.18}/tests/test_config.py +0 -0
  51. {runem-0.0.17 → runem-0.0.18}/tests/test_files.py +0 -0
  52. {runem-0.0.17 → runem-0.0.18}/tests/test_run_command.py +0 -0
@@ -0,0 +1,490 @@
1
+ Changelog
2
+ =========
3
+
4
+
5
+ (unreleased)
6
+ ------------
7
+ - Merge pull request #9 from lursight/chore/rename_core_functions.
8
+ [Frank Harrison]
9
+
10
+ Chore/rename core functions
11
+ - Chore(core-func-rename): renames functions and fixes imports. [Frank
12
+ Harrison]
13
+ - Chore(core-func-rename): renames files to better reflect contents.
14
+ [Frank Harrison]
15
+ - Merge pull request #8 from lursight/chore/more_typing_strictness.
16
+ [Frank Harrison]
17
+
18
+ Chore/more typing strictness
19
+ - Chore(mypy-strict): switches mypy to use strict-mode. [Frank Harrison]
20
+
21
+ This should catch more issues down the line
22
+ - Chore(mypy-strict): enable disallow_untyped_calls and annotate it.
23
+ [Frank Harrison]
24
+ - Chore(mypy-strict): enable disallow_untyped_defs in mypy. [Frank
25
+ Harrison]
26
+ - Chore(mypy-strict): enables check_untyped_defs in mypy. [Frank
27
+ Harrison]
28
+ - Chore(mypy-strict): annotates mypy config options. [Frank Harrison]
29
+ - Merge pull request #7 from lursight/chore/project_status. [Frank
30
+ Harrison]
31
+
32
+ chore(project-status): removes the project rename from actions
33
+ - Chore(project-status): removes the project rename from actions. [Frank
34
+ Harrison]
35
+ - Merge pull request #5 from lursight/feat/job_spinner. [Frank Harrison]
36
+
37
+ Feat/job spinner
38
+ - Feat(progress): gets a progress spinner working. [Frank Harrison]
39
+ - Feat(progress): adds way to track running jobs for multip-proc jobs.
40
+ [Frank Harrison]
41
+ - Merge pull request #3 from
42
+ lursight/dependabot/github_actions/actions/setup-python-5. [Frank
43
+ Harrison]
44
+
45
+ chore(deps): bump actions/setup-python from 4 to 5
46
+ - Chore(deps): bump actions/setup-python from 4 to 5. [dependabot[bot]]
47
+
48
+ Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4 to 5.
49
+ - [Release notes](https://github.com/actions/setup-python/releases)
50
+ - [Commits](https://github.com/actions/setup-python/compare/v4...v5)
51
+
52
+ ---
53
+ updated-dependencies:
54
+ - dependency-name: actions/setup-python
55
+ dependency-type: direct:production
56
+ update-type: version-update:semver-major
57
+ ...
58
+ - Merge pull request #6 from lursight/fix/help_tests. [Frank Harrison]
59
+
60
+ Fix/help tests
61
+ - Chore(fix-help-tests): fixing the help-text test in ci/cd. [Frank
62
+ Harrison]
63
+ - Chore(pytest): stops reporting of coverage on test failures. [Frank
64
+ Harrison]
65
+ - Chore(pytest): stops failing coverage BEFORE we want to. [Frank
66
+ Harrison]
67
+ - Chore(type): fixes type errors. [Frank Harrison]
68
+ - Merge pull request #4 from lursight/fix/python3.10_support. [Frank
69
+ Harrison]
70
+
71
+ fix(python3.10): removes another pipe shortcut
72
+ - Fix(python3.10): removes another pipe shortcut. [Frank Harrison]
73
+ - Merge branch 'fix/python3.10_support' [Frank Harrison]
74
+ - Fix(python3.10): removes newer typing syntax. [Frank Harrison]
75
+ - Merge branch 'fix/coverage' [Frank Harrison]
76
+ - Fix(coverage): adds more coverage to parse_config() [Frank Harrison]
77
+
78
+ ... specifically the bit that warns if we have to nordered phases
79
+ - Fix(coverage): adds more coverage to
80
+ _load_python_function_from_module() [Frank Harrison]
81
+ - Fix(coverage): adds more coverage to initialise_options() [Frank
82
+ Harrison]
83
+ - Fix(coverage): adds more coverage to report.py. [Frank Harrison]
84
+ - Fix(coverage): annotates a file that needs more coverage. [Frank
85
+ Harrison]
86
+ - Merge branch 'fix/spell_check' [Frank Harrison]
87
+ - Fix(spell-check): fixes the spell-checker by ignoring the history
88
+ file. [Frank Harrison]
89
+
90
+ ... which contains typos in the commit hitsory
91
+
92
+
93
+ 0.0.17 (2023-12-09)
94
+ -------------------
95
+ - Release: version 0.0.17 🚀 [Frank Harrison]
96
+ - Merge branch 'chore/run_in_check_mode_on_release' [Frank Harrison]
97
+ - Chore(release-checks): makes each command fail on 'make release'
98
+ [Frank Harrison]
99
+ - Chore(release-checks): run runem in check mode on 'make release'
100
+ [Frank Harrison]
101
+ - Merge branch 'fix/pyyaml_dep' [Frank Harrison]
102
+ - Fix(deps): adds the py-yaml dep to release requirements. [Frank
103
+ Harrison]
104
+ - Merge branch 'chore/log_output' [Frank Harrison]
105
+ - Chore(coverage): fixes up coverage, for now. [Frank Harrison]
106
+ - Fixup: logs. [Frank Harrison]
107
+ - Chore(black): formats log.py. [Frank Harrison]
108
+ - Chore(log-format): replaces print() with log. [Frank Harrison]
109
+
110
+ ... also adds a prefix to the logging
111
+ - Merge branch 'chore/skip_spell_check_history' [Frank Harrison]
112
+ - Chore(spell-history): add cSpell:disable to HISTORY.md's frontmatter.
113
+ [Frank Harrison]
114
+
115
+ ... because some of the commit messages contain spelling typos
116
+
117
+
118
+ 0.0.16 (2023-12-05)
119
+ -------------------
120
+ - Release: version 0.0.16 🚀 [Frank Harrison]
121
+ - Merge branch 'chore/get_release_running_tests' [Frank Harrison]
122
+ - Chore(test-on-release): prints existing tags on make release. [Frank
123
+ Harrison]
124
+ - Chore(test-on-release): run tests after choosing tag. [Frank Harrison]
125
+ - Merge branch 'chore/test' [Frank Harrison]
126
+ - Chore(test-and-cov): fails tests if not 100% [Frank Harrison]
127
+ - Chore(test-and-cov): gets reports to 100% coverage. [Frank Harrison]
128
+ - Chore(test-and-cov): gets job_runner to 100% coverage. [Frank
129
+ Harrison]
130
+
131
+ ... TODO: actually test returns and side-effects of calls
132
+ - Chore(test-and-cov): adds test for runner to read job-context. [Frank
133
+ Harrison]
134
+ - Chore(test-and-cov): adds test for run_command with empty files.
135
+ [Frank Harrison]
136
+
137
+ ... should cause an early return
138
+ - Chore(test-and-cov): adds basic tests for the job-runner. [Frank
139
+ Harrison]
140
+ - Chore(test-and-cov): test missing options. [Frank Harrison]
141
+ - Chore(test-and-cov): mocks the actuall threaded runner, not saving any
142
+ real time, but it is something I will consider again and again. [Frank
143
+ Harrison]
144
+ - Chore(test-and-cov): adds test to test filter in/out jobs --phases,
145
+ --jobs, --tags. [Frank Harrison]
146
+ - Chore(test-and-cov): moves help-text into separate file for easier
147
+ updating. [Frank Harrison]
148
+ - Chore(test-and-cov): adds end-to-end test for bad --jobs, --tags,
149
+ --phases switches. [Frank Harrison]
150
+ - Chore(test-and-cov): puts --help under test. [Frank Harrison]
151
+
152
+ ... fixing non deterministic output
153
+ - Chore(test-and-cov): puts the end-2-end upder more test. [Frank
154
+ Harrison]
155
+ - Chore(test-and-cov): documents and splits out those but where we do
156
+ the heavy lifting in terms of job-running. [Frank Harrison]
157
+ - Chore(test-and-cov): moves ConfigMetadata to own file. [Frank
158
+ Harrison]
159
+ - Chore(test-and-cov): unifies many disperate control vars under
160
+ ConfigMetadata. [Frank Harrison]
161
+
162
+ This reduces the amount of code, simplifies concepts and overall makes
163
+ it easier to reason about what is going on.
164
+ - Chore(test-and-cov): splits out the remaining uncovered code from
165
+ runem.py. [Frank Harrison]
166
+ - Chore(test-and-cov): attempts to add a full config end-to-end test.
167
+ [Frank Harrison]
168
+ - Chore(test-and-cov): gets config_parse to 100% coverage. [Frank
169
+ Harrison]
170
+ - Chore(test-and-cov): puts find_files() under test. [Frank Harrison]
171
+ - Chore(test-and-cov): adds more test-coverage and splits up code to
172
+ support it. [Frank Harrison]
173
+ - Chore(test-and-cov): adds test for end-to-end running of runem. [Frank
174
+ Harrison]
175
+ - Chore(test-and-cov): splits load_config out so it can be mocked.
176
+ [Frank Harrison]
177
+ - Chore(test-and-cov): removes the setup.py from code-coverage. [Frank
178
+ Harrison]
179
+ - Chore(test-and-cov): tests that run_command handles runs failing to
180
+ start the process and other errors. [Frank Harrison]
181
+ - Chore(test-and-cov): adds test to run_command covering 'ignore_fails'
182
+ [Frank Harrison]
183
+ - Chore(test-and-cov): adds test to run_command covering env-overrides.
184
+ [Frank Harrison]
185
+ - Chore(test-and-cov): puts run_command under-test. [Frank Harrison]
186
+
187
+ ... mainly the normal success and failure routes in verbose and non
188
+ verbose modes, along side the allowed_exit codes
189
+ - Chore(test-and-cov): tests and annotates 'get_std_out' [Frank
190
+ Harrison]
191
+ - Chore(test-and-cov): puts cli.py under test. [Frank Harrison]
192
+ - Chore(test-and-cov): adds basic test for _parse_job_config. [Frank
193
+ Harrison]
194
+
195
+ ... not a great test, but it's a start
196
+ - Feat(better-config-error): preints the missing key on job loading.
197
+ [Frank Harrison]
198
+ - Feat(reports): adds methods for return reports to be reported at the
199
+ end of runs. [Frank Harrison]
200
+ - Chore(pytest): configures coverage properly. [Frank Harrison]
201
+ - Chore(pytest): adds a pytest job. [Frank Harrison]
202
+
203
+ Gets the test passing also
204
+ - Chore(pytest): fixes the typing of the go_to_tmp_path fixture. [Frank
205
+ Harrison]
206
+ - Chore(test-hooks-package): fixes the .runem config references to
207
+ test_hooks. [Frank Harrison]
208
+ - Chore(test-hooks-package): adds a py.typed to the test-hooks package
209
+ fixing a mypy issue. [Frank Harrison]
210
+ - Chore(test-hooks-package): makes test_hooks a package instead of the
211
+ parent scripts/ [Frank Harrison]
212
+ - Chore(test-hooks-package): renames test-hooks -> test_hooks making it
213
+ a valid python package. [Frank Harrison]
214
+ - Chore(lint): fixes line-to-long issue. [Frank Harrison]
215
+ - Merge branch 'chore/spell' [Frank Harrison]
216
+ - Chore(spell): fixes spelling. [Frank Harrison]
217
+ - Chore(spell): deletes call-graph code that was lursight-specific.
218
+ [Frank Harrison]
219
+
220
+
221
+ 0.0.15 (2023-12-02)
222
+ -------------------
223
+ - Release: version 0.0.15 🚀 [Frank Harrison]
224
+ - Merge branch 'feat/add_optional_ctx_config' [Frank Harrison]
225
+ - Chore(json-check): adds validation for if a file exists in json-
226
+ validate. [Frank Harrison]
227
+ - Chore: black. [Frank Harrison]
228
+ - Chore(test-profile): flags that the profile option isn't actually used
229
+ yet. [Frank Harrison]
230
+ - Feat(defaults): allows the 'ctx' config to default to root_dir and the
231
+ other config to not exist. [Frank Harrison]
232
+
233
+ ... as limitFilesToGroup isn't actually used
234
+
235
+
236
+ 0.0.14 (2023-11-29)
237
+ -------------------
238
+ - Release: version 0.0.14 🚀 [Frank Harrison]
239
+ - Merge branch 'fix/working_from_non-root_dirs' [Frank Harrison]
240
+ - Chore(logs): reduces duplicate log out for tag-filters. [Frank
241
+ Harrison]
242
+ - Fixup: fixes the labels used for some jobs after simplifying params.
243
+ [Frank Harrison]
244
+ - Fix(git-ls-files): chdir to the cfg dir so git-ls-files picks up all
245
+ file. [Frank Harrison]
246
+
247
+ .... of course this assumes that the file is next to the .git directory
248
+ - Fix(job.addr): anchors the function-module lookup to the cfg file.
249
+ [Frank Harrison]
250
+
251
+ This should now be much more consistent.
252
+ - Fix(job.addr): removes deprecated code for hooks in main runem file.
253
+ [Frank Harrison]
254
+
255
+
256
+ 0.0.13 (2023-11-29)
257
+ -------------------
258
+ - Release: version 0.0.13 🚀 [Frank Harrison]
259
+ - Merge branch 'feat/better_module_find_error_msg' [Frank Harrison]
260
+ - Feat(better-module-msg): improves the information given when loading a
261
+ job address. [Frank Harrison]
262
+
263
+
264
+ 0.0.12 (2023-11-29)
265
+ -------------------
266
+ - Release: version 0.0.12 🚀 [Frank Harrison]
267
+ - Merge branch 'chore/format_yml' [Frank Harrison]
268
+ - Chore(format-yml): reformats the .runem.yml file. [Frank Harrison]
269
+ - Chore(format-yml): adds yml files to the prettier command. [Frank
270
+ Harrison]
271
+
272
+ This means that runems own runem config is reformatted
273
+ - Merge branch 'feat/warn_on_bad_names' [Frank Harrison]
274
+ - Feat(bad-label): errors on bad labels. [Frank Harrison]
275
+
276
+ .. not a massive improvment but really helps clarify what you SHOULD be looking at when things go wrong, which is nice
277
+ - Feat(bad-func-ref-message): gives a better error message on bad
278
+ function references. [Frank Harrison]
279
+
280
+ Specifically when those functions cannot be found inside the file/module
281
+ that they're reference to by the .runem.yml
282
+ - Merge branch 'chore/pretty_json' [Frank Harrison]
283
+ - Chore(pretty-json): prettifies cspell.json. [Frank Harrison]
284
+ - Chore(pretty-json): adds jobs to use prettifier via yarn. [Frank
285
+ Harrison]
286
+
287
+ ... currently this only targets json files
288
+ - Merge branch 'chore/kwargs' [Frank Harrison]
289
+ - Chore(kwargs): makes run_command 'cmd' the first thing as it cannot be
290
+ infered from the runem kwargs. [Frank Harrison]
291
+ - Feat(kwargs): moves to using kwargs by preference when calling jobs.
292
+ [Frank Harrison]
293
+
294
+ ... jobs can then pass those kwargs down to the run_command
295
+ - Chore(kwargs): deletes 0xDEADCODE. [Frank Harrison]
296
+
297
+ This deletes deadcode that was left over from the move out of the lursight codebase
298
+
299
+
300
+ 0.0.11 (2023-11-29)
301
+ -------------------
302
+ - Release: version 0.0.11 🚀 [Frank Harrison]
303
+ - Merge branch 'fix/warning_when_no_files_for_job' [Frank Harrison]
304
+ - Fix(warn-no-files): starts troubleshooting. [Frank Harrison]
305
+ - Fix(warn-no-files): updates README after deleting defunct jobs. [Frank
306
+ Harrison]
307
+ - Fix(warn-no-files): removes defunct job-specs. [Frank Harrison]
308
+ - Fix(warn-no-files): ads more information when a job isn't run because
309
+ of files. [Frank Harrison]
310
+
311
+ TBH this shows a problem in the spec method
312
+
313
+
314
+ 0.0.10 (2023-11-29)
315
+ -------------------
316
+ - Release: version 0.0.10 🚀 [Frank Harrison]
317
+ - Merge branch 'docs/update_readme' [Frank Harrison]
318
+ - Docs: make readme more readable. [Frank Harrison]
319
+
320
+
321
+ 0.0.9 (2023-11-29)
322
+ ------------------
323
+ - Release: version 0.0.9 🚀 [Frank Harrison]
324
+ - Merge branch 'fix/remove_lursight_env_refs' [Frank Harrison]
325
+ - Fix(lursight-envs): removes lursight envs from runem. [Frank Harrison]
326
+
327
+
328
+ 0.0.8 (2023-11-28)
329
+ ------------------
330
+ - Release: version 0.0.8 🚀 [Frank Harrison]
331
+ - Merge branch 'chore/add_spell_check' [Frank Harrison]
332
+ - Chore(spell-check): disallows adolescent word. [Frank Harrison]
333
+ - Chore(spell-check): adds spell-check job for runem. [Frank Harrison]
334
+ - Merge branch 'chore/minor_improvement_of_log_output_and_report' [Frank
335
+ Harrison]
336
+ - Chore(report): puts the runem times first in the report and indents.
337
+ [Frank Harrison]
338
+
339
+ ... also replaces 'run_test' with 'runem'
340
+ - Chore(logs): reduce log verbosity in non-verbose mode. [Frank
341
+ Harrison]
342
+
343
+ ... but make it MORE useful in verbose mode.
344
+ - Chore(logs): further reduce spurious output. [Frank Harrison]
345
+
346
+
347
+ 0.0.7 (2023-11-28)
348
+ ------------------
349
+ - Release: version 0.0.7 🚀 [Frank Harrison]
350
+ - Merge branch 'chore/typos' [Frank Harrison]
351
+ - Chore(typos): fixes a typos when warning about 0-jobs. [Frank
352
+ Harrison]
353
+ - Chore(typos): stops the cmd_string printing twice. [Frank Harrison]
354
+
355
+ on error with ENVs the command string was printed twice
356
+
357
+
358
+ 0.0.6 (2023-11-28)
359
+ ------------------
360
+ - Release: version 0.0.6 🚀 [Frank Harrison]
361
+ - Merge branch 'chore/branding' [Frank Harrison]
362
+ - Chore(logs): reduces the log out put for jobs that aren't being run.
363
+ [Frank Harrison]
364
+ - Docs: updates the TODOs. [Frank Harrison]
365
+ - Docs: change references to lursight to runem. [Frank Harrison]
366
+
367
+
368
+ 0.0.5 (2023-11-28)
369
+ ------------------
370
+ - Release: version 0.0.5 🚀 [Frank Harrison]
371
+ - Merge branch 'feat/time_saved' [Frank Harrison]
372
+ - Docs: fixes the ambiguos language on the number of jobs/core being
373
+ used. [Frank Harrison]
374
+ - Feat(time-saved): shows the time saved vs linear runs on DONE. [Frank
375
+ Harrison]
376
+ - Chore(progressive-terminal): unifies two subprocess.run calls by
377
+ allowing the env to be None. [Frank Harrison]
378
+ - Docs: adds --tags and --phases to the docs. [Frank Harrison]
379
+
380
+
381
+ 0.0.4 (2023-11-27)
382
+ ------------------
383
+ - Release: version 0.0.4 🚀 [Frank Harrison]
384
+ - Chore(typing): moves py.typed into package src dir. [Frank Harrison]
385
+
386
+
387
+ 0.0.3 (2023-11-27)
388
+ ------------------
389
+ - Release: version 0.0.3 🚀 [Frank Harrison]
390
+ - Chore(typing): adds the py.typed to the manifest. [Frank Harrison]
391
+
392
+
393
+ 0.0.2 (2023-11-27)
394
+ ------------------
395
+ - Release: version 0.0.2 🚀 [Frank Harrison]
396
+ - Chore(typing): adds a py.typed marker file for upstream mypy tests.
397
+ [Frank Harrison]
398
+
399
+
400
+ 0.0.1 (2023-11-27)
401
+ ------------------
402
+ - Release: version 0.0.1 🚀 [Frank Harrison]
403
+ - Chore(release): moves release to script. [Frank Harrison]
404
+
405
+ It wasn't working because read -p wasn't setting the TAG variabl for
406
+ some reason, I suspect because of the makefile.
407
+ - Merge branch 'chore/update_ci_cd_black' [Frank Harrison]
408
+ - Chore(black-ci-cd): removes line-limit sizes for pyblack runs in
409
+ actions. [Frank Harrison]
410
+ - Merge branch 'chore/fix_sponsorship_link' [Frank Harrison]
411
+ - Chore(sponsorship): fixes a link to sponsorship. [Frank Harrison]
412
+ - Merge branch 'chore/rename_job_spec_file' [Frank Harrison]
413
+ - Chore(config-rename): renames the config file to match the name of the
414
+ project. [Frank Harrison]
415
+ - Merge branch 'docs/updating_docs_ahead_of_release' [Frank Harrison]
416
+ - Docs: builds the docs using the base README. [Frank Harrison]
417
+ - Fix(deps): merges the deps after merging the code into the template.
418
+ [Frank Harrison]
419
+ - Chore(docs): updates the landing README.md. [Frank Harrison]
420
+ - Merge branch 'feat/run-time_reporting' [Frank Harrison]
421
+ - Feat(report): adds report graphs to end of run. [Frank Harrison]
422
+ - Merge branch 'fix/phase_order_running' [Frank Harrison]
423
+ - Fix(phases): fixes the phase run-order. [Frank Harrison]
424
+ - Merge branch 'chore/fixup_after_merge' [Frank Harrison]
425
+ - Chore(cli): gets the standalone 'runem' command connected up. [Frank
426
+ Harrison]
427
+ - Chore(runem): further renames of run-test -> runem. [Frank Harrison]
428
+ - Chore(runem): moves all code run_test->runem. [Frank Harrison]
429
+ - Chore(runem): change run_test -> runem. [Frank Harrison]
430
+ - Chore(pre-release): revert version number to 0.0.0 until release.
431
+ [Frank Harrison]
432
+ - Chore(mypy): adds type information for setuptools. [Frank Harrison]
433
+ - Chore(mypy): adds mypy config. [Frank Harrison]
434
+ - Chore(root-path): uses the config's path more often for looking up
435
+ jobs. [Frank Harrison]
436
+ - Chore(root-path): uses the config path to anchor the root-path. [Frank
437
+ Harrison]
438
+
439
+ This fixes up how we detect the path to the functions
440
+ - Chore(format): black/docformatter. [Frank Harrison]
441
+ - Chore(ignore): adds vim-files to gitignore. [Frank Harrison]
442
+ - Chore(lint): removes defunct LiteralStrings (unused and unsupported)
443
+ [Frank Harrison]
444
+ - Merge branch 'chore/prepare_files' [Frank Harrison]
445
+ - Chore(moves): fixes path-refs after move. [Frank Harrison]
446
+ - Chore(moves): moves files from old location. [Frank Harrison]
447
+ - Merge branch 'chore/pure_files_from_lursight_app' [Frank Harrison]
448
+ - Initial commit. [Frank Harrison]
449
+ - Merge pull request #1 from
450
+ lursight/dependabot/github_actions/stefanzweifel/git-auto-commit-
451
+ action-5. [Frank Harrison]
452
+
453
+ Bump stefanzweifel/git-auto-commit-action from 4 to 5
454
+ - Bump stefanzweifel/git-auto-commit-action from 4 to 5.
455
+ [dependabot[bot]]
456
+
457
+ Bumps [stefanzweifel/git-auto-commit-action](https://github.com/stefanzweifel/git-auto-commit-action) from 4 to 5.
458
+ - [Release notes](https://github.com/stefanzweifel/git-auto-commit-action/releases)
459
+ - [Changelog](https://github.com/stefanzweifel/git-auto-commit-action/blob/master/CHANGELOG.md)
460
+ - [Commits](https://github.com/stefanzweifel/git-auto-commit-action/compare/v4...v5)
461
+
462
+ ---
463
+ updated-dependencies:
464
+ - dependency-name: stefanzweifel/git-auto-commit-action
465
+ dependency-type: direct:production
466
+ update-type: version-update:semver-major
467
+ ...
468
+ - Merge pull request #2 from
469
+ lursight/dependabot/github_actions/actions/checkout-4. [Frank
470
+ Harrison]
471
+
472
+ Bump actions/checkout from 3 to 4
473
+ - ✅ Ready to clone and code. [dependabot[bot]]
474
+ - Bump actions/checkout from 3 to 4. [dependabot[bot]]
475
+
476
+ Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
477
+ - [Release notes](https://github.com/actions/checkout/releases)
478
+ - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
479
+ - [Commits](https://github.com/actions/checkout/compare/v3...v4)
480
+
481
+ ---
482
+ updated-dependencies:
483
+ - dependency-name: actions/checkout
484
+ dependency-type: direct:production
485
+ update-type: version-update:semver-major
486
+ ...
487
+ - ✅ Ready to clone and code. [doublethefish]
488
+ - Initial commit. [Frank Harrison]
489
+
490
+
@@ -1,11 +1,12 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: runem
3
- Version: 0.0.17
3
+ Version: 0.0.18
4
4
  Summary: Awesome runem created by lursight
5
5
  Home-page: https://github.com/lursight/runem/
6
6
  Author: lursight
7
7
  Description-Content-Type: text/markdown
8
8
  License-File: LICENSE
9
+ Requires-Dist: halo
9
10
  Requires-Dist: PyYAML
10
11
  Provides-Extra: test
11
12
  Requires-Dist: black==23.11.0; extra == "test"
@@ -0,0 +1 @@
1
+ 0.0.18
@@ -0,0 +1,25 @@
1
+ import argparse
2
+
3
+ from runem.config_metadata import ConfigMetadata
4
+ from runem.types import Options
5
+
6
+
7
+ def initialise_options(
8
+ config_metadata: ConfigMetadata,
9
+ args: argparse.Namespace,
10
+ ) -> Options:
11
+ """Initialises and returns the set of options to use for this run.
12
+
13
+ Returns the options dictionary
14
+ """
15
+
16
+ options: Options = {
17
+ option["name"]: option["default"] for option in config_metadata.options_config
18
+ }
19
+ if config_metadata.options_config and args.overrides_on: # pragma: no branch
20
+ for option_name in args.overrides_on: # pragma: no branch
21
+ options[option_name] = True
22
+ if config_metadata.options_config and args.overrides_off: # pragma: no branch
23
+ for option_name in args.overrides_off:
24
+ options[option_name] = False
25
+ return options
@@ -147,7 +147,7 @@ def parse_args(
147
147
 
148
148
  args = parser.parse_args(argv[1:])
149
149
 
150
- options: Options = _initialise_options(config_metadata, args)
150
+ options: Options = initialise_options(config_metadata, args)
151
151
 
152
152
  if not _validate_filters(config_metadata, args):
153
153
  sys.exit(1)
@@ -214,7 +214,7 @@ def _validate_filters(
214
214
  return True
215
215
 
216
216
 
217
- def _initialise_options(
217
+ def initialise_options(
218
218
  config_metadata: ConfigMetadata,
219
219
  args: argparse.Namespace,
220
220
  ) -> Options:
@@ -227,7 +227,7 @@ def _initialise_options(
227
227
  option["name"]: option["default"] for option in config_metadata.options_config
228
228
  }
229
229
  if config_metadata.options_config and args.overrides_on: # pragma: no branch
230
- for option_name in args.overrides_on:
230
+ for option_name in args.overrides_on: # pragma: no branch
231
231
  options[option_name] = True
232
232
  if config_metadata.options_config and args.overrides_off: # pragma: no branch
233
233
  for option_name in args.overrides_off:
@@ -4,7 +4,7 @@ import typing
4
4
  from collections import defaultdict
5
5
 
6
6
  from runem.config_metadata import ConfigMetadata
7
- from runem.job_function_python import get_job_function
7
+ from runem.job_wrapper_python import get_job_wrapper
8
8
  from runem.log import log
9
9
  from runem.types import (
10
10
  Config,
@@ -79,7 +79,7 @@ def parse_job_config(
79
79
  sys.exit(1)
80
80
 
81
81
  # try and load the function _before_ we schedule it's execution
82
- get_job_function(job, cfg_filepath)
82
+ get_job_wrapper(job, cfg_filepath)
83
83
  phase_id: PhaseName = job["when"]["phase"]
84
84
  in_out_jobs_by_phase[phase_id].append(job)
85
85
 
@@ -2,16 +2,17 @@ import inspect
2
2
  import os
3
3
  import pathlib
4
4
  import typing
5
+ import uuid
5
6
  from datetime import timedelta
6
7
  from timeit import default_timer as timer
7
8
 
8
9
  from runem.config_metadata import ConfigMetadata
9
- from runem.job_function_python import get_job_function
10
+ from runem.job_wrapper_python import get_job_wrapper
10
11
  from runem.log import log
11
12
  from runem.types import FilePathList, FilePathListLookup, JobConfig, JobReturn, JobTags
12
13
 
13
14
 
14
- def job_runner_inner(
15
+ def job_execute_inner(
15
16
  job_config: JobConfig,
16
17
  config_metadata: ConfigMetadata,
17
18
  file_lists: FilePathListLookup,
@@ -27,7 +28,7 @@ def job_runner_inner(
27
28
  function: typing.Callable
28
29
  job_tags: JobTags = set(job_config["when"]["tags"])
29
30
  os.chdir(root_path)
30
- function = get_job_function(job_config, config_metadata.cfg_filepath)
31
+ function = get_job_wrapper(job_config, config_metadata.cfg_filepath)
31
32
 
32
33
  # get the files for all files found for this job's tags
33
34
  file_list: FilePathList = []
@@ -74,13 +75,18 @@ def job_runner_inner(
74
75
  return (timing_data, reports)
75
76
 
76
77
 
77
- def job_runner(
78
+ def job_execute(
78
79
  job_config: JobConfig,
80
+ running_jobs: typing.Dict[str, str],
79
81
  config_metadata: ConfigMetadata,
80
82
  file_lists: FilePathListLookup,
81
83
  ) -> typing.Tuple[typing.Tuple[str, timedelta], JobReturn]:
82
- """Thing wrapper around job_runner_inner needed fro mocking in tests.
84
+ """Thin-wrapper around job_execute_inner needed for mocking in tests.
83
85
 
84
86
  Needed for faster tests.
85
87
  """
86
- return job_runner_inner(job_config, config_metadata, file_lists)
88
+ this_id: str = str(uuid.uuid4())
89
+ running_jobs[this_id] = job_config["label"]
90
+ results = job_execute_inner(job_config, config_metadata, file_lists)
91
+ del running_jobs[this_id]
92
+ return results
@@ -77,10 +77,14 @@ def filter_jobs(
77
77
  log(f"filtering for tags {printable_set(tags_to_run)}", decorate=True, end="")
78
78
  if tags_to_avoid:
79
79
  if tags_to_run:
80
- log(", ", end="")
80
+ log(", ", decorate=False, end="")
81
81
  else:
82
- log(decorate=True)
83
- log(f"excluding jobs with tags {printable_set(tags_to_avoid)}", end="")
82
+ log(decorate=True, end="")
83
+ log(
84
+ f"excluding jobs with tags {printable_set(tags_to_avoid)}",
85
+ decorate=False,
86
+ end="",
87
+ )
84
88
  if tags_to_run or tags_to_avoid:
85
89
  log(decorate=False)
86
90
  filtered_jobs: PhaseGroupedJobs = defaultdict(list)