remove Cylc 7 compatibility mode - #7325
Conversation
| asyncio.run(run(options, workflow_id)) | ||
|
|
||
|
|
||
| async def run( | ||
| parser: COP, options: 'Values', workflow_id: str | ||
| options: 'Values', workflow_id: str |
There was a problem hiding this comment.
Off-topic change: A couple of scripts were passing through the unused parser argument which was creating hassle for tests. These have been removed so all commands have the same basic interface.
* Support for running workflows defined by `suite.rc` files was removed in Cylc 8.7 (cylc#7325) * However, Cylc 8 remains `suite.rc` "aware" in order to allow the GUI, Tui and CLI to list and operate on workflows running under older versions. * A version has been set for the removal of this support in line with cylc#7274.
* remove documentation for Cylc 7 compatibility mode * See cylc/cylc-flow#7325 * user guide: add section on cylc versions and compatibility * dictionary
* Support for running workflows defined by `suite.rc` files was removed in Cylc 8.7 (cylc#7325) * However, Cylc 8 remains `suite.rc` "aware" in order to allow the GUI, Tui and CLI to list and operate on workflows running under older versions. * A version has been set for the removal of this support in line with cylc#7274.
|
Rebased, deconflicted and addressed feedback. |
* Support for running workflows defined by `suite.rc` files was removed in Cylc 8.7 (cylc#7325) * However, Cylc 8 remains `suite.rc` "aware" in order to allow the GUI, Tui and CLI to list and operate on workflows running under older versions. * A version has been set for the removal of this support in line with cylc#7274.
|
Have now added: 9be3f5d
|
* Support for running workflows defined by `suite.rc` files was removed in Cylc 8.7 (cylc#7325) * However, Cylc 8 remains `suite.rc` "aware" in order to allow the GUI, Tui and CLI to list and operate on workflows running under older versions. * A version has been set for the removal of this support in line with cylc#7274.
hjoliver
left a comment
There was a problem hiding this comment.
Reapproving post @MetRonnie 's much more thorough review! (the changes look good)
* Support for running workflows defined by `suite.rc` files was removed in Cylc 8.7 (cylc#7325) * However, Cylc 8 remains `suite.rc` "aware" in order to allow the GUI, Tui and CLI to list and operate on workflows running under older versions. * A version has been set for the removal of this support in line with cylc#7274.
|
@MetRonnie, please the recent force-push which address feedback above:
@hjoliver, you may want to look over the last four commits:
|
| # flow.cylc present | ||
| (tmp_path / WorkflowFiles.SUITE_RC).unlink() | ||
| with pytest.raises(WorkflowConfigError): | ||
| await validate(ValidateOptions(), str(tmp_path)) |
There was a problem hiding this comment.
This should not raise an error, as flow.cylc only should be ok? (Currently the error is because the file is empty so not a valid config)
There was a problem hiding this comment.
The previous two examples raise WorkflowFilesError, this one raises WorkflowConfigError which demonstrates the flow.cylc file is being accepted.
A little confusing admirably, I've added a match pattern and a comment to clarify.
There was a problem hiding this comment.
I think it would have been preferable to just have a minimal valid config, but whatever
* Closes cylc#6849 * Remove Cylc 7 compatibility mode. * Remove support for validating, (re)installing or (re)starting `suite.rc` workflows. * Keep support for CLI commands against workflows running under older versions of Cylc 8. * Remove legacy functional tests. * Add integration tests (to ensure `suite.rc` workflows cannot be started). * Remove redundant Parsec `silent` option.
* Closes cylc#6850 * Remove the upper pin on Jinja2 allowing the use of newer versions.
* The flags module contains global variables, generally considered an anti-pattern. * We're down to the last flag, add a note to discourage the addition of any new ones!
* Support for running workflows defined by `suite.rc` files was removed in Cylc 8.7 (cylc#7325) * However, Cylc 8 remains `suite.rc` "aware" in order to allow the GUI, Tui and CLI to list and operate on workflows running under older versions. * A version has been set for the removal of this support in line with cylc#7274.
* Back support Jinja2 interfaces deprecated at 3.0 and removed at 3.1. * Jinja2 renamed a bunch of functions and deprecated their old names. * Our users didn't spot this as Python warnings are not visible to them. * As of cylc#7365 (8.6.6) Python warnings originating from Jinja2 will be turned into Cylc warnings. * To provide a migration window, the old function names will be supported in Cylc 8.7.x and removed in 8.8.0.
* Reinstate support for `flow.cylc -> suite.rc` symlinks (which we've supported to date with no warnings).
* Test will ensure `suit.rc` files remain supported post removal of Cylc 7 compatibility mode until purposefully withdrawn in a later version.
|
(ISC004 lint failure to be fixed on 8.6.x) |
|
LGTM |
|
N.B. I had also noticed |
MetRonnie
left a comment
There was a problem hiding this comment.
I've locally run the lint tests that were skipped due to the unrelated flake8 issue
Taking that as your approval... |
A set of changes to remove Cylc 7 compatibility mode, issues:
Sibling PRs:
Summary:
suite.rcworkflows.suite.rcworkflows cannot be started).suite.rc"aware" for now, it's needed for GUI/Tui/CLI.Check List
CONTRIBUTING.mdand added my name as a Code Contributor.setup.cfg(andconda-environment.ymlif present).?.?.xbranch.