Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bump version #323

Closed
wants to merge 88 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
88 commits
Select commit Hold shift + click to select a range
ac0f5b1
actions: test up to python 3.11
oliver-sanders Apr 27, 2023
9ca1b6e
bump 1.4.0 (#243)
oliver-sanders Aug 2, 2023
927adf3
Merge pull request #245 from cylc/1.3.x
wxtim Aug 3, 2023
1a72a88
Bump pypa/gh-action-pypi-publish from 1.8.8 to 1.8.10
dependabot[bot] Aug 14, 2023
5be1425
Merge pull request #251 from cylc/1.3.x
wxtim Aug 24, 2023
07f4b1a
Merge pull request #224 from oliver-sanders/py311
wxtim Aug 24, 2023
fc466bc
Bump actions/checkout from 3 to 4
dependabot[bot] Sep 4, 2023
b5736a4
Merge pull request #253 from cylc/dependabot/github_actions/actions/c…
oliver-sanders Oct 5, 2023
b4ba1a2
Merge pull request #247 from cylc/dependabot/github_actions/pypa/gh-a…
oliver-sanders Oct 5, 2023
545bdb1
Suggested change to warning text re integers starting with a zero (#255)
jonnyhtw Oct 5, 2023
2a0963a
Merge pull request #256 from cylc/1.3.x
wxtim Oct 9, 2023
08d8e11
improve test coverage (#227)
wxtim Oct 23, 2023
e1bbd5b
Merge remote-tracking branch 'upstream/1.3.x' into sync.1.3.x
wxtim Oct 24, 2023
9a74318
Merge wxtim/sync.1.3.x into master (#263)
MetRonnie Oct 24, 2023
e21e31c
GH Actions: use branch sync workflow
MetRonnie Oct 25, 2023
45fcd61
Merge pull request #264 from MetRonnie/actions
wxtim Oct 25, 2023
3d3e3f4
refactor: move utilities out of the entry_points module
oliver-sanders Oct 31, 2023
e4f1cbb
tests: fix os.environ test interaction
oliver-sanders Oct 31, 2023
9bd5143
tests: fix accidentally skipped tests
oliver-sanders Oct 31, 2023
2f33ba1
utils: make environ arg optional
oliver-sanders Oct 31, 2023
1ee6462
utils: remove unused "opts" arg in "rose_config_exists"
oliver-sanders Oct 31, 2023
ba07063
fileinstall: remove unused "srcdir" argument
oliver-sanders Oct 31, 2023
aa79c43
entry_points: catch None values earlier
oliver-sanders Oct 31, 2023
d1ff77d
utils: split the loading and processing of the config
oliver-sanders Oct 31, 2023
0f376d1
entry_points: remove unused results return value
oliver-sanders Nov 1, 2023
9bef3c8
entry_points: remove type uncertainty
oliver-sanders Nov 1, 2023
b993900
tests: amend docstrings
oliver-sanders Nov 1, 2023
8169941
feedback
oliver-sanders Nov 8, 2023
4862c06
Merge pull request #265 from oliver-sanders/rejig
wxtim Nov 8, 2023
f09bdf9
Exit immediately if folder pre-configure is called on does not
wxtim Nov 22, 2023
4e9f3d9
Merge pull request #267 from wxtim/fix.no_preconfigure_without_rose-s…
oliver-sanders Dec 5, 2023
6b40aaa
Bump actions/setup-python from 4 to 5 (#277)
dependabot[bot] Dec 13, 2023
ed4d2e5
Bump pypa/gh-action-pypi-publish from 1.8.10 to 1.8.11 (#272)
dependabot[bot] Dec 18, 2023
ecdca12
Merge branch 'master' into 1.3.x-sync
MetRonnie Dec 19, 2023
e20ec22
Merge pull request #273 from cylc/1.3.x-sync
wxtim Dec 20, 2023
7d1e505
Bump actions/download-artifact from 3 to 4
dependabot[bot] Dec 25, 2023
2847397
Bump actions/upload-artifact from 3 to 4
dependabot[bot] Dec 25, 2023
3573f5a
Update copyright year
github-actions[bot] Jan 1, 2024
fa3611b
Ensure that the cached globalconfig object
wxtim Dec 4, 2023
1dab1c1
Merge pull request #281 from cylc/copyright-2024
wxtim Jan 2, 2024
6ff23bf
Fixed some broken tests.
wxtim Jan 2, 2024
6bb14bb
Update tests/functional/test_utils.py
wxtim Jan 3, 2024
69d4a81
Bump actions/setup-python from 4 to 5 (#280)
dependabot[bot] Jan 15, 2024
7b064ee
Merge remote-tracking branch 'upstream/dependabot/github_actions/acti…
MetRonnie Jan 15, 2024
e1ad697
Merge pull request #279 from cylc/dependabot/github_actions/actions/u…
MetRonnie Jan 15, 2024
9c20c28
Apply suggestions from code review
wxtim Jan 15, 2024
b3d561c
fixed a test
wxtim Jan 15, 2024
7ec91f0
Merge branch 'feat.reload_glbl_cfg_after_export_CYLC_SYMLINKS' of git…
wxtim Jan 15, 2024
c452ba4
fix flake8
wxtim Jan 15, 2024
cbb0a28
Merge pull request #283 from cylc/1.3.x-sync
MetRonnie Jan 17, 2024
061a858
Merge branch 'master' into 1.3.x-sync
wxtim Jan 18, 2024
9969712
Merge pull request #285 from cylc/1.3.x-sync
oliver-sanders Jan 18, 2024
3f17d55
Merge branch 'master' into 1.3.x-sync
MetRonnie Jan 25, 2024
b6be8a4
Merge pull request #287 from cylc/1.3.x-sync
MetRonnie Jan 25, 2024
04ebb27
Merge branch 'master' into 1.3.x-sync
wxtim Jan 25, 2024
e7b3af6
Merge branch 'master' into feat.reload_glbl_cfg_after_export_CYLC_SYM…
wxtim Jan 25, 2024
9664060
fix merge mistake
wxtim Jan 25, 2024
1dfd987
Merge pull request #290 from cylc/1.3.x-sync
oliver-sanders Jan 26, 2024
8b61776
setup: bump rose version
oliver-sanders Jan 26, 2024
54cf0e0
Update setup.cfg
oliver-sanders Jan 26, 2024
23b887b
Merge pull request #292 from oliver-sanders/bump-rose
wxtim Feb 5, 2024
0b87041
Merge pull request #293 from cylc/1.3.x-sync
wxtim Feb 5, 2024
0516064
use fqdn in rose-stem tests (#294)
wxtim Feb 5, 2024
344fbdf
Bump codecov/codecov-action from 3 to 4 (#295)
dependabot[bot] Feb 6, 2024
a90198c
Merge pull request #269 from wxtim/feat.reload_glbl_cfg_after_export_…
wxtim Feb 6, 2024
f28922b
fileinstall: remove asyncio logic
oliver-sanders Dec 6, 2023
01707cc
tests: fix flaky text
oliver-sanders Feb 22, 2024
0479c9c
install/reinstall: adapt to new async interfaces
oliver-sanders Jan 3, 2024
89f2be6
setup: add missing pytest-asyncio test dependency
oliver-sanders Feb 22, 2024
1111aae
tests/functional: fix scoping issues
oliver-sanders Feb 22, 2024
f73144c
Merge pull request #276 from oliver-sanders/cylc-rose-274
wxtim Feb 23, 2024
7a68b1c
Merge pull request #298 from oliver-sanders/fix-flaky-test
oliver-sanders Feb 23, 2024
4b24c03
tests: remove defunct cli wrappers (#297)
oliver-sanders Feb 26, 2024
3936594
build(deps): bump pypa/gh-action-pypi-publish from 1.8.11 to 1.8.14 (…
dependabot[bot] Mar 12, 2024
5d9ffe1
Merge branch 'master' into 1.3.x-sync
oliver-sanders Apr 2, 2024
1d62679
Merge pull request #303 from cylc/1.3.x-sync
MetRonnie Apr 2, 2024
7829d5f
Merge branch 'master' into 1.3.x-sync
MetRonnie Apr 9, 2024
7d6c777
Merge pull request #305 from cylc/1.3.x-sync
MetRonnie Apr 9, 2024
9051dc6
Merge branch 'master' into 1.3.x-sync
MetRonnie Apr 16, 2024
ed485a8
Merge pull request #311 from cylc/1.3.x-sync
MetRonnie Apr 16, 2024
60260cb
add developer docs
oliver-sanders Apr 19, 2024
0bf5240
Apply suggestions from code review
oliver-sanders Apr 23, 2024
e14749f
Merge pull request #313 from oliver-sanders/developer-docs
wxtim Apr 23, 2024
69f321c
simplify rose stem tests (#314)
oliver-sanders Apr 25, 2024
a18bb82
Merge remote-tracking branch 'upstream/master' into HEAD
wxtim May 2, 2024
f33490d
Update tests/functional/test_reinstall_overrides.py
wxtim May 2, 2024
6bde9de
Merge pull request #315 from cylc/1.3.x-sync
MetRonnie May 9, 2024
eb7fcff
Merge remote-tracking branch 'upstream/1.3.x' into HEAD
oliver-sanders May 13, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions .coveragerc
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,20 @@ source=./cylc

[report]
precision=2

exclude_lines =
pragma: no cover

# Don't complain if tests don't hit defensive assertion code:
raise NotImplementedError
return NotImplemented

# Ignore type checking code:
if (typing\.)?TYPE_CHECKING:
@overload( |$)

# Don't complain about ellipsis (exception classes, typing overloads etc):
\.\.\.

# Ignore abstract methods
@(abc\.)?abstractmethod
7 changes: 3 additions & 4 deletions .github/workflows/1_create_release_pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ jobs:
uses: cylc/release-actions/stage-1/sanitize-inputs@v1

- name: Checkout repo
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
ref: ${{ env.BASE_REF }}
fetch-depth: 0 # need to fetch all commits to check contributors
Expand All @@ -36,10 +36,9 @@ jobs:
uses: cylc/release-actions/check-shortlog@v1

- name: Setup Python
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
# return to 3.x once cylc-flow is compatible with 3.10+ (pyuv)
python-version: '3.9'
python-version: '3.x'

- name: Create & checkout PR branch
uses: cylc/release-actions/stage-1/checkout-pr-branch@v1
Expand Down
9 changes: 4 additions & 5 deletions .github/workflows/2_auto_publish_release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,15 +21,14 @@ jobs:
steps:

- name: Checkout repo
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
ref: ${{ env.MERGE_SHA }}

- name: Setup Python
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
# return to 3.x once cylc-flow is compatible with 3.10+ (pyuv)
python-version: '3.9'
python-version: '3.x'

- name: Get the version number
uses: cylc/release-actions/stage-2/get-version-from-pr@v1
Expand All @@ -38,7 +37,7 @@ jobs:
uses: cylc/release-actions/build-python-package@v1

- name: Publish distribution to PyPI
uses: pypa/[email protected].8
uses: pypa/[email protected].14
with:
user: __token__ # uses the API token feature of PyPI - least permissions possible
password: ${{ secrets.PYPI_TOKEN }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/shortlog.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
timeout-minutes: 10
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
fetch-depth: 0 # need to fetch all commits to check contributors

Expand Down
12 changes: 6 additions & 6 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
timeout-minutes: 5
strategy:
matrix:
python-version: ['3.7', '3.8', '3.9']
python-version: ['3.7', '3.8', '3.9', '3.10', '3.11']
fail-fast: false
env:
PYTEST_ADDOPTS: --cov --cov-append --color=yes
Expand All @@ -30,7 +30,7 @@ jobs:
uses: actions/checkout@v4

- name: Configure Python
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}

Expand Down Expand Up @@ -97,7 +97,7 @@ jobs:
coverage report

- name: Upload coverage artifact
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: coverage_py-${{ matrix.python-version }}
path: coverage.xml
Expand All @@ -111,7 +111,7 @@ jobs:
uses: actions/checkout@v4

- name: Configure Python
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: '3.9'

Expand Down Expand Up @@ -142,10 +142,10 @@ jobs:
uses: actions/checkout@v4

- name: Download coverage artifacts
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4

- name: Codecov upload
uses: codecov/codecov-action@v3
uses: codecov/codecov-action@v4
with:
name: ${{ github.workflow }}
fail_ci_if_error: true
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/update_copyright.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
timeout-minutes: 10
steps:
- name: Checkout repo
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Configure git
uses: cylc/release-actions/configure-git@v1
Expand Down
12 changes: 12 additions & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,17 +6,29 @@ creating a new release entry be sure to copy & paste the span tag with the
updated. Only the first match gets replaced, so it's fine to leave the old
ones in. -->

## __cylc-rose-1.4.0 (<span actions:bind='release-date'>Upcoming</span>)__

### Features

[#269](https://github.com/cylc/cylc-rose/pull/269) - Allow environment variables
set in ``rose-suite.conf`` to be used when parsing ``global.cylc``.


## __cylc-rose-1.3.4 (<span actions:bind='release-date'>Released 2024-05-02</span>)__

[#312](https://github.com/cylc/cylc-rose/pull/312) - Fixed an issue that could cause the cylc-rose CLI options (`-S`, `-D`, `-O`) to be applied incorrectly.


## __cylc-rose-1.3.3 (<span actions:bind='release-date'>Released 2024-04-05</span>)__

### Fixes

[#302](https://github.com/cylc/cylc-rose/pull/302) -
Fix issues which could cause "fcm_make" and "rose_prune" tasks intermittently
fail with the message
"Workflow database is incompatible with Cylc x.y.z, or is corrupted".


## __cylc-rose-1.3.2 (<span actions:bind='release-date'>Released 2024-01-18</span>)__

[#284](https://github.com/cylc/cylc-rose/pull/284) - Allow use of Metomi-Rose 2.2.*.
Expand Down
1 change: 1 addition & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ below.
- Mel Hall
- Bruno Kinoshita
- Hilary Oliver
- Jonny Williams
- Mark Dawson
<!-- end-shortlog -->

Expand Down
67 changes: 67 additions & 0 deletions DEVELOPING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
# Cylc Rose Dev Docs

Cylc Rose provides integration between Cylc and Rose.

Its functionality is defined in the
[cylc-rose proposal](https://github.com/cylc/cylc-admin/blob/master/docs/proposal-cylc-rose-installing-rose-configs.md).

## Cylc Rose Options

### Rose Config Files

Rose suite configurations are Cylc workflows which contain a `rose-suite.conf`
file at the top level. This file configures:

* Template variables.
* File installation.
* Environment variables for workflow configuration.

Rose suite configurations may additionally contain optional configuration files
in the `opts/` directory. Note that optional configurations may be turned on by
default via the `opt` configuration in the `rose-suite.conf` file.

### The Options

The Rose suite configuration may be extended or overridden via the Cylc Rose
CLI options.

Cylc Rose adds three options to Cylc Flow.

* `-S` - template variables
* `-D` - any arbitrary rose configuration (includes template variables)
* `-O` - optional configs

These options are currently hardcoded in the cylc-flow source code as we
do not yet have the ability for Cylc plugins (such as cylc-rose) to inject
options into cylc-flow commands.

There is also the `ROSE_SUITE_OPT_CONF_KEYS` environment variable which complements
the `-O` option.

### Storage

Cylc Rose options passed in on the CLI are written to the
`~/cylc-run/<workflow-id>/opt/rose-suite-cylc-install.conf` file by
the `post_install` plugin.

This preserves these options so that they are inherited by subsequent commands
avoiding the need for users to remember which Cylc Rose options they have used
and specify them with all future commands.

### Reinstallation

On reinstallation, additional Cylc Rose CLI options may be provided.

If specified, these will override those previously specified on the CLI.

### Option Lifecycle

In order to support Cylc's compound commands (single commands that may perform
multiple individual operations as a transaction), the `post_install` plugin
deletes the Cylc Rose CLI options (from the object it was passed) after it has
written them to the filesystem.

This is necessary to avoid the same options being reenacted in later stages of
compound commands. See https://github.com/cylc/cylc-flow/issues/5968

![lifecycle-diagram](./etc/cylc-rose-opts.svg)
6 changes: 5 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,10 @@ This plugin provides support for the `rose-suite.conf` file, namely:
the new Cylc `symlink dirs` functionality.
* Graphical configuration editors.

### How It Works

For developer documentation, see [DEVELOPING](DEVELOPING.md).

### Contributing

[![Contributors](https://img.shields.io/github/contributors/cylc/cylc-rose.svg?color=9cf)](https://github.com/cylc/cylc-rose/graphs/contributors)
Expand All @@ -81,7 +85,7 @@ pip install -e cylc-rose[all]

[![License](https://img.shields.io/github/license/cylc/cylc-flow.svg?color=lightgrey)](https://github.com/cylc/cylc-flow/blob/master/COPYING)

Copyright (C) 2008-<span actions:bind='current-year'>2023</span> NIWA &
Copyright (C) 2008-<span actions:bind='current-year'>2024</span> NIWA &
British Crown (Met Office) & Contributors.

Cylc-rose is free software: you can redistribute it and/or modify it under the terms
Expand Down
31 changes: 29 additions & 2 deletions cylc/rose/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -70,11 +70,37 @@
for ease of porting Cylc 7 workflows.


The ``global.cylc`` file
^^^^^^^^^^^^^^^^^^^^^^^^

The Cylc Rose Plugin forces the reloading of the ``global.cylc`` file
to allow environment variables set by Rose to change the global configuration.

For example you could use ``CYLC_SYMLINKS`` as a variable to control
the behaviour of ``cylc install``:

.. code-block:: cylc

#!jinja2
# part of a global.cylc file
[install]
[[symlink dirs]]
[[[hpc]]]
{% if environ["CYLC_SYMLINKS"] | default("x") == "A" %}
run = $LOCATION_A
{% elif environ["CYLC_SYMLINKS"] | default("x") == "B" %}
run = $LOCATION_B
{% else %}
run = $LOCATION_C
{% endif %}



Special Variables
-----------------

The Cylc Rose plugin provides two environment/template variables
to the Cylc scheduler:
to the Cylc scheduler.

``ROSE_ORIG_HOST``
Cylc commands (such as ``cylc install``, ``cylc validate`` and
Expand Down Expand Up @@ -111,6 +137,7 @@
``CYLC_VERSION`` will be removed from your configuration by the
Cylc-Rose plugin, as it is now set by Cylc.


Additional CLI options
----------------------
You can use command line options to set or override
Expand Down Expand Up @@ -205,4 +232,4 @@

"""

__version__ = '1.3.5.dev'
__version__ = '1.4.0.dev'
Loading
Loading