Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/master' into feature-add-scan-mu…
Browse files Browse the repository at this point in the history
…tation
  • Loading branch information
Mark Dawson committed Sep 12, 2023
2 parents 7550e7e + 0f3205a commit eb9bd7c
Show file tree
Hide file tree
Showing 140 changed files with 1,888 additions and 1,130 deletions.
13 changes: 6 additions & 7 deletions .github/workflows/1_create_release_pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,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 @@ -43,15 +43,14 @@ jobs:
init-file: 'cylc/uiserver/__init__.py'
pypi-package-name: 'cylc-uiserver'

- name: Update "released on" date in changelog
continue-on-error: true
uses: cylc/release-actions/stage-1/update-changelog-release-date@v1
with:
changelog-file: 'CHANGES.md'

- name: Test build
uses: cylc/release-actions/build-python-package@v1

- name: Generate changelog
run: |
python3 -m pip install -q -e .[tests]
towncrier build --yes
- name: Create pull request
uses: cylc/release-actions/stage-1/create-release-pr@v1
env:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/2_auto_publish_release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
steps:

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

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ jobs:
python: '3.8'
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Setup Python
uses: actions/setup-python@v4
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/shortlog.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
timeout-minutes: 5
steps:
- name: Checkout repo
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
fetch-depth: 0 # need to fetch all commits to check contributors

Expand Down
6 changes: 5 additions & 1 deletion .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:

steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Brew Install
if: startsWith(matrix.os, 'macos')
Expand Down Expand Up @@ -63,6 +63,10 @@ jobs:
- name: Type checking
run: mypy

- name: Check changelog
if: startsWith(matrix.os, 'ubuntu')
run: towncrier build --draft

- name: Test
run: pytest

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 @@ -29,7 +29,7 @@ jobs:
steps:

- name: Checkout repo
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Configure git
uses: cylc/release-actions/configure-git@v1
Expand Down
10 changes: 9 additions & 1 deletion .github/workflows/update_ui.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ jobs:

steps:
- name: checkout cylc-uiserver
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
ref: ${{ inputs.base-branch }}

Expand Down Expand Up @@ -55,6 +55,14 @@ jobs:
git commit -m "ui: install ${version}"
done
- name: Add to changelog
if: inputs.install
run: |
python3 -m pip install -q towncrier
towncrier create +.ui-version.md --content "Updated cylc-ui to ${{ inputs.install }}"
git add changes.d
git commit --amend --no-edit
- name: push
run: |
git push origin "$HEAD_BRANCH"
Expand Down
82 changes: 32 additions & 50 deletions CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,35 +5,31 @@ all changes see the [closed
milestones](https://github.com/cylc/cylc-uiserver/milestones?state=closed) for
each release.

<!-- The topmost release date is automatically updated by GitHub Actions. When
creating a new release entry be sure to copy & paste the span tag with the
`actions:bind` attribute, which is used by a regex to find the text to be
updated. Only the first match gets replaced, so it's fine to leave the old
ones in. -->
-------------------------------------------------------------------------------
## __cylc-uiserver-1.3.1 (<span actions:bind='release-date'>Upcoming</span>)__
<!--
NOTE: Do not add entries here, use towncrier fragments instead:
$ towncrier create <PR-number>.<break|feat|fix>.md --content "Short description"
-->

<!-- [Updated cylc-ui to x.y.z](https://github.com/cylc/cylc-ui/blob/master/CHANGES.md) -->
<!-- towncrier release notes start -->

### Fixes

[#379](https://github.com/cylc/cylc-uiserver/pull/379) - Fixed lack of info
for errors recorded in logs.
### Enhancements

[#493](https://github.com/cylc/cylc-uiserver/pull/493) - Added mutation for scanning filesystem.

-------------------------------------------------------------------------------
## __cylc-uiserver-1.4.0 (<span actions:bind='release-date'>Awaiting Release</span>)__
## cylc-uiserver-1.3.1 (Released 2023-09-08)

### Enhancements
[Updated cylc-ui to 2.1.0](https://github.com/cylc/cylc-ui/blob/master/CHANGES.md)

### 🔧 Fixes

[#379](https://github.com/cylc/cylc-uiserver/pull/379) - Fixed lack of info for errors recorded in logs.

[#455](https://github.com/cylc/cylc-uiserver/pull/455) - Added an upgrade toggle in cylc play dialog, and a specific warning for cases where workflow needs upgrade.

[#483](https://github.com/cylc/cylc-uiserver/pull/483) - Fixed bug in analysis view server-side query.

[#450](https://github.com/cylc/cylc-uiserver/pull/450) -
Upgraded to Jupyter Server 2.7+ and Jupyter Hub 4.0+. Note cylc-uiserver
1.3 remains supported and compatible with cylc-flow 8.2 for those not ready
to make the jump just yet.

-------------------------------------------------------------------------------
## __cylc-uiserver-1.3.0 (<span actions:bind='release-date'>Released 2023-07-21</span>)__
## cylc-uiserver-1.3.0 (Released 2023-07-21)

[Updated cylc-ui to 2.0.0](https://github.com/cylc/cylc-ui/blob/master/CHANGES.md)

Expand All @@ -42,24 +38,22 @@ to make the jump just yet.
[#463](https://github.com/cylc/cylc-uiserver/pull/463) - Fixed failure to
connect to workflows when they were restarted.

-------------------------------------------------------------------------------
## __cylc-uiserver-1.2.2 (<span actions:bind='release-date'>Released 2023-04-28</span>)__
## cylc-uiserver-1.2.2 (Released 2023-04-28)

[Updated cylc-ui to 1.6.0](https://github.com/cylc/cylc-ui/blob/master/CHANGES.md)

### Enhancements

[#434](https://github.com/cylc/cylc-uiserver/pull/434) - Added the server side
code for the analysis view in the UI
code for the analysis view in the UI.

### Fixes

[#431](https://github.com/cylc/cylc-uiserver/pull/431) - Adds an additional
cleaning check for the UI server contact file. This may have caused problems
running a UI server following a crash.

-------------------------------------------------------------------------------
## __cylc-uiserver-1.2.1 (<span actions:bind='release-date'>Released 2023-02-20</span>)__
## cylc-uiserver-1.2.1 (Released 2023-02-20)

[Updated cylc-ui to 1.5.0](https://github.com/cylc/cylc-ui/blob/master/CHANGES.md)

Expand All @@ -71,8 +65,7 @@ the log file now captures messages from cylc-flow.
[#370](https://github.com/cylc/cylc-uiserver/pull/370) -
`cylc gui workflow_id` is now supported and will open the GUI at that workflow.

-------------------------------------------------------------------------------
## __cylc-uiserver-1.2.0 (<span actions:bind='release-date'>Released 2023-01-16</span>)__
## cylc-uiserver-1.2.0 (Released 2023-01-16)

[Updated cylc-ui to 1.4.0](https://github.com/cylc/cylc-ui/blob/master/CHANGES.md)

Expand All @@ -87,8 +80,7 @@ in `~/.cylc/uiserver/log/`). A new log is created with each UIServer instance.
[#386](https://github.com/cylc/cylc-uiserver/pull/386) - Work around bug in
JupyterHub 3.0.0 that prevents `cylc hub` from starting.

-------------------------------------------------------------------------------
## __cylc-uiserver-1.1.0 (<span actions:bind='release-date'>Released 2022-07-28</span>)__
## cylc-uiserver-1.1.0 (Released 2022-07-28)

[Updated cylc-ui to 1.3.0](https://github.com/cylc/cylc-ui/blob/master/CHANGES.md#cylc-ui-130-released-2022-07-27)

Expand All @@ -102,20 +94,17 @@ Traitlets `logging_config` "trait" for more information.
[#323](https://github.com/cylc/cylc-uiserver/pull/323) -
`cylc clean` made available for runs and files within runs.

-------------------------------------------------------------------------------
## __cylc-uiserver-1.0.3 (<span actions:bind='release-date'>Released 2022-05-31</span>)__
## cylc-uiserver-1.0.3 (Released 2022-05-31)

[Updated cylc-ui to 1.2.1](https://github.com/cylc/cylc-ui/blob/master/CHANGES.md#cylc-ui-121-released-2022-05-30)

-------------------------------------------------------------------------------
## __cylc-uiserver-1.0.2 (<span actions:bind='release-date'>Released 2022-05-20</span>)__
## cylc-uiserver-1.0.2 (Released 2022-05-20)

[Updated cylc-ui to 1.2.0](https://github.com/cylc/cylc-ui/blob/master/CHANGES.md#cylc-ui-120-released-2022-05-19)

Internal changes, see https://github.com/cylc/cylc-uiserver/milestone/11?closed=1

-------------------------------------------------------------------------------
## __cylc-uiserver-1.0.1 (<span actions:bind='release-date'>Released 2022-03-23</span>)__
## cylc-uiserver-1.0.1 (Released 2022-03-23)

[Updated cylc-ui to 1.1.0](https://github.com/cylc/cylc-ui/blob/master/CHANGES.md#cylc-ui-110-released-2022-03-23)

Expand All @@ -124,8 +113,7 @@ Internal changes, see https://github.com/cylc/cylc-uiserver/milestone/11?closed=
[#324](https://github.com/cylc/cylc-uiserver/pull/324) -
Fix issues where workflow status could be incorrect.

-------------------------------------------------------------------------------
## __cylc-uiserver-1.0.0 (<span actions:bind='release-date'>Released 2022-02-17</span>)__
## cylc-uiserver-1.0.0 (Released 2022-02-17)

[Updated cylc-ui to 1.0.0](https://github.com/cylc/cylc-ui/blob/master/CHANGES.md#cylc-ui-100-released-2022-02-17)

Expand All @@ -143,8 +131,7 @@ Updated for the new Global Universal ID.
[#304](https://github.com/cylc/cylc-uiserver/pull/304) -
Suppressed client connection traceback.

-------------------------------------------------------------------------------
## __cylc-uiserver-0.6.0 (<span actions:bind='release-date'>Released 2021-11-11</span>)__
## cylc-uiserver-0.6.0 (Released 2021-11-11)

Multi-user functionality implemented.

Expand All @@ -170,16 +157,14 @@ Update old, broken hold options for playing workflows.
Allowed broken entries in the group id database to be
ignored and logged without causing total failure.

-------------------------------------------------------------------------------
## __cylc-uiserver-0.5.0 (<span actions:bind='release-date'>Released 2021-07-28</span>)__
## cylc-uiserver-0.5.0 (Released 2021-07-28)

### Enhancements

[#214](https://github.com/cylc/cylc-uiserver/pull/214) -
Store the JupyterHub runtime files in ~/.cylc/hub.

-------------------------------------------------------------------------------
## __cylc-uiserver-0.4.0 (<span actions:bind='release-date'>Released 2021-04-21</span>)__
## cylc-uiserver-0.4.0 (Released 2021-04-21)

### Enhancements

Expand All @@ -189,8 +174,7 @@ Add authorisation for multi-user setups.
[#197](https://github.com/cylc/cylc-uiserver/pull/197) -
Make the workflow scan interval configurable.

-------------------------------------------------------------------------------
## __cylc-uiserver-0.3.0 (2021-03-29)__
## cylc-uiserver-0.3.0 (2021-03-29)

Release 0.3.0 of Cylc UI Server.

Expand Down Expand Up @@ -234,8 +218,7 @@ None.

None.

-------------------------------------------------------------------------------
## __cylc-uiserver-0.2 (2020-07-14)__
## cylc-uiserver-0.2 (2020-07-14)

Release 0.2 of Cylc UI Server.

Expand Down Expand Up @@ -263,7 +246,6 @@ None.

None.

-------------------------------------------------------------------------------
## __cylc-uiserver-0.1 (2019-09-18)__
## cylc-uiserver-0.1 (2019-09-18)

Initial release of Cylc UI Server.
6 changes: 6 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,12 @@ E.G. if the issue is on the `8.0.x` milestone, branch off of `8.0.x` to
develop your bugfix, then raise the pull request against the `8.0.x` branch.
We will later merge the `8.0.x` branch into `master`.

We use [towncrier](https://towncrier.readthedocs.io/en/stable/index.html) for
generating the changelog. Changelog entries are added by running
```
towncrier create <PR-number>.<break|feat|fix>.md --content "Short description"
```

Feel free to ask questions on the issue or developers chat if unsure about
anything.

Expand Down
1 change: 1 addition & 0 deletions changes.d/450.feat.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Upgraded to Jupyter Server 2.7+ and Jupyter Hub 4.0+. Note cylc-uiserver 1.3 remains supported and compatible with cylc-flow 8.2 for those not ready to make the jump just yet.
17 changes: 17 additions & 0 deletions changes.d/changelog-template.jinja
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{% if sections[""] %}
{% if "ui-version" in sections[""] %}
[{{ sections[""]["ui-version"].keys()|first }}](https://github.com/cylc/cylc-ui/blob/master/CHANGES.md)

{% endif %}
{% for category, val in definitions.items() if category in sections[""] and category != "ui-version" %}
### {{ definitions[category]['name'] }}

{% for text, pulls in sections[""][category].items() %}
{{ pulls|join(', ') }} - {{ text }}

{% endfor %}
{% endfor %}
{% else %}
No significant changes.

{% endif %}
10 changes: 6 additions & 4 deletions cylc/uiserver/resolvers.py
Original file line number Diff line number Diff line change
Expand Up @@ -342,11 +342,13 @@ async def play(cls, workflows, args, workflows_mgr, log):

if ret:
# command failed
_, err = proc.communicate()
out, err = proc.communicate()
msg = err.strip() or out.strip() or (
f'Could not start {tokens["workflow"]}'
f' - {cmd_repr}'
)
raise Exception(
f'Could not start {tokens["workflow"]} - {cmd_repr}'
# suppress traceback unless in debug mode
+ (f' - {err}' if DEBUG else '')
msg
)

except Exception as exc:
Expand Down
13 changes: 10 additions & 3 deletions cylc/uiserver/schema.py
Original file line number Diff line number Diff line change
Expand Up @@ -182,6 +182,13 @@ class Arguments:
`[scheduler][main loop]plugins`. Can be used multiple times.
''')
)
upgrade = graphene.Boolean(
default_value=False,
description=sstrip('''
Allow the workflow to be restarted with a newer
version of Cylc.
''')
)
abort_if_any_task_fails = graphene.Boolean(
default_value=False,
description=sstrip('''
Expand Down Expand Up @@ -392,9 +399,9 @@ def make_query(conn, workflow):
STRFTIME('%s', time_run) -
STRFTIME('%s', time_submit) AS queue_time
FROM
task_jobs))
WHERE
run_status = 0
task_jobs
WHERE
run_status = 0))
GROUP BY
name;
'''):
Expand Down
8 changes: 0 additions & 8 deletions cylc/uiserver/ui/2.0.0/assets/Analysis-42bc428b.js

This file was deleted.

Loading

0 comments on commit eb9bd7c

Please sign in to comment.