Skip to content

Commit 6182988

Browse files
Merge pull request #6679 from cylc/8.4.x-sync
🤖 Merge 8.4.x-sync into master
2 parents 099966f + e5d8bd5 commit 6182988

File tree

12 files changed

+137
-20
lines changed

12 files changed

+137
-20
lines changed

.github/workflows/1_create_release_pr.yml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,19 @@ on:
1111
required: false
1212
default: 'master'
1313

14+
concurrency:
15+
# Only let this run 1 at a time
16+
group: ${{ github.workflow }}
17+
cancel-in-progress: false
18+
19+
defaults:
20+
run:
21+
shell: bash
22+
23+
env:
24+
FORCE_COLOR: 2
25+
PIP_PROGRESS_BAR: off
26+
1427
jobs:
1528
create-release-pr:
1629
runs-on: ubuntu-latest

.github/workflows/2_auto_publish_release.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,18 @@ on:
77
# NOTE: While this is too generic, we use the `if` condition of the job to narrow it down
88
# NOTE: Don't use `branches` as we might create release on any branch
99

10+
concurrency:
11+
# Only let this run 1 at a time
12+
group: ${{ github.workflow }}
13+
cancel-in-progress: false
14+
15+
defaults:
16+
run:
17+
shell: bash
18+
1019
env:
20+
FORCE_COLOR: 2
21+
PIP_PROGRESS_BAR: off
1122
# Best not to include the GH token here, only do it for the steps that need it
1223
MERGE_SHA: ${{ github.event.pull_request.merge_commit_sha }}
1324
CHANGELOG_FILE: CHANGES.md

.github/workflows/bash.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,14 @@ concurrency:
3131
group: ${{ github.workflow }}-${{ github.ref }}
3232
cancel-in-progress: true
3333

34+
defaults:
35+
run:
36+
shell: bash
37+
38+
env:
39+
FORCE_COLOR: 2
40+
PIP_PROGRESS_BAR: off
41+
3442
jobs:
3543
bash-docker:
3644
runs-on: ubuntu-latest

.github/workflows/build.yml

Lines changed: 25 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,20 @@ on:
1010
- 'MANIFEST.in' # check packaging
1111
- 'pyproject.toml' # check build config
1212
- 'setup.cfg' # check deps and project config
13+
- '.gitignore'
14+
- '.github/workflows/build.yml'
15+
16+
concurrency:
17+
group: ${{ github.workflow }}-${{ github.ref }}
18+
cancel-in-progress: true
19+
20+
defaults:
21+
run:
22+
shell: bash -leo pipefail {0}
23+
24+
env:
25+
FORCE_COLOR: 2
26+
PIP_PROGRESS_BAR: off
1327

1428
jobs:
1529
test:
@@ -18,29 +32,31 @@ jobs:
1832
strategy:
1933
fail-fast: false
2034
matrix:
21-
os: ['ubuntu-latest']
22-
python: ['3.8', '3.9', '3.10', '3.11']
23-
include:
24-
- os: 'ubuntu-22.04'
25-
python: '3.7'
35+
os: ['ubuntu-latest', 'macos-latest']
36+
python: ['3.7', '3.8', '3.9', '3.10', '3']
37+
exclude:
2638
- os: 'macos-latest'
27-
python: '3.8'
39+
python: '3.7'
2840
steps:
2941
- name: Checkout
3042
uses: actions/checkout@v4
3143

3244
- name: Setup Python
33-
uses: actions/setup-python@v5
45+
uses: mamba-org/setup-micromamba@v2
3446
with:
35-
python-version: ${{ matrix.python }}
47+
cache-environment: true
48+
post-cleanup: 'all'
49+
environment-name: cylc-build
50+
create-args: >-
51+
python=${{ matrix.python }}
3652
3753
- name: Build
3854
uses: cylc/release-actions/build-python-package@v1
3955

4056
- name: Inspect
4157
run: |
4258
unzip -l dist/*.whl | tee files
43-
grep 'cylc_flow.*.dist-info/COPYING' files
59+
grep -E 'cylc_flow.*.dist-info/.*COPYING' files
4460
grep 'cylc/flow/py.typed' files
4561
grep 'cylc/flow/etc' files
4662
grep 'cylc/flow/etc/cylc-completion.bash' files

.github/workflows/test_conda-build.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,13 @@ concurrency:
1313
group: ${{ github.workflow }}-${{ github.ref }}
1414
cancel-in-progress: true
1515

16+
defaults:
17+
run:
18+
shell: bash
19+
20+
env:
21+
FORCE_COLOR: 2
22+
1623
jobs:
1724
test_conda_install:
1825
if: github.repository_owner == 'cylc' || github.event_name != 'schedule'

.github/workflows/test_fast.yml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@ defaults:
1616
run:
1717
shell: bash -c "exec $CONDA_PREFIX/bin/bash -elo pipefail {0}"
1818

19+
env:
20+
PIP_PROGRESS_BAR: off
21+
1922
jobs:
2023
test:
2124
runs-on: ${{ matrix.os }}
@@ -32,11 +35,9 @@ jobs:
3235
- os: 'ubuntu-latest'
3336
python-version: '3.9' # not the oldest, not the most recent version
3437
time-zone: 'XXX-09:35'
35-
3638
env:
3739
TZ: ${{ matrix.time-zone }}
3840
PYTEST_ADDOPTS: --cov --cov-append -n 5 --color=yes
39-
4041
steps:
4142
- name: Checkout
4243
uses: actions/checkout@v4
@@ -106,6 +107,8 @@ jobs:
106107
strategy:
107108
matrix:
108109
python-version: ['3']
110+
env:
111+
FORCE_COLOR: 2
109112
steps:
110113
- name: Checkout
111114
uses: actions/checkout@v4

.github/workflows/test_functional.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,10 @@ defaults:
3636
run:
3737
shell: bash -c "exec $CONDA_PREFIX/bin/bash -elo pipefail {0}"
3838

39+
env:
40+
FORCE_COLOR: 2
41+
PIP_PROGRESS_BAR: off
42+
3943
jobs:
4044
test:
4145
runs-on: ${{ matrix.os }}

.github/workflows/test_tutorial_workflow.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,14 @@ concurrency:
1717
group: ${{ github.workflow }}-${{ github.ref }}
1818
cancel-in-progress: true
1919

20+
defaults:
21+
run:
22+
shell: bash
23+
24+
env:
25+
FORCE_COLOR: 2
26+
PIP_PROGRESS_BAR: off
27+
2028
jobs:
2129
test:
2230
strategy:

changes.d/6623.fix.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
Auto restart: The option to condemn a host in "force" mode (that tells
2+
workflows running on a server to shutdown as opposed to migrate) hasn't worked
3+
with the host-selection mechanism since Cylc 8.0.0. This has now been fixed.

cylc/flow/cfgspec/globalcfg.py

Lines changed: 41 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -826,16 +826,52 @@ def default_for(
826826
range.
827827
''')
828828
Conf('condemned', VDR.V_ABSOLUTE_HOST_LIST, desc=f'''
829-
These hosts will not be used to run jobs.
829+
List run hosts that workflows should *not* run on.
830830
831-
If workflows are already running on
832-
condemned hosts, Cylc will shut them down and
833-
restart them on different hosts.
831+
These hosts will be subtracted from the
832+
`available <global.cylc[scheduler][run hosts]>` hosts
833+
preventing new workflows from starting on the "condemned" host.
834+
835+
Any workflows running on these hosts will either migrate
836+
to another host, or shut down according to
837+
:py:mod:`the configuration <cylc.flow.main_loop.auto_restart>`.
838+
839+
This feature requires ``auto restart`` to be listed
840+
in `global.cylc[scheduler][main loop]plugins`.
841+
842+
For more information, see the
843+
:py:mod:`auto restart <cylc.flow.main_loop.auto_restart>`
844+
plugin.
845+
846+
.. rubric:: Example:
847+
848+
.. code-block:: cylc
849+
850+
[scheduler]
851+
[[main loop]]
852+
# activate the "auto restart" plugin
853+
plugins = auto restart
854+
[[run hosts]]
855+
# there are three hosts in the "pool"
856+
available = host1, host2, host3
857+
858+
# however two have been taken out:
859+
# * workflows running on "host1" will attempt to
860+
# restart on "host3"
861+
# * workflows running on "host2" will shutdown
862+
condemned = host1, host2!
834863
835864
.. seealso::
836865
866+
:py:mod:`cylc.flow.main_loop.auto_restart`
837867
:ref:`auto-stop-restart`
838868
869+
.. versionchanged:: 8.4.2
870+
871+
The "force mode" (activated by a "!" suffix) caused issues
872+
at workflow startup for Cylc versions between 8.0.0 and
873+
8.4.1 inclusive.
874+
839875
.. versionchanged:: 8.0.0
840876
841877
{REPLACES}``[suite servers]condemned hosts``.
@@ -1336,7 +1372,7 @@ def default_for(
13361372
The means by which task progress messages are reported back to
13371373
the running workflow.
13381374
1339-
..rubric:: Options:
1375+
.. rubric:: Options:
13401376
13411377
zmq
13421378
Direct client-server TCP communication via network ports

0 commit comments

Comments
 (0)