Skip to content

Commit deafd6c

Browse files
Merge branch 'master' into 8.2.x-sync
2 parents dd41648 + dd8700e commit deafd6c

File tree

189 files changed

+6887
-1657
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

189 files changed

+6887
-1657
lines changed

.codecov.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,18 +17,19 @@ coverage:
1717
project:
1818
default:
1919
# commits below this threshold will be marked as failed
20-
target: '85%'
20+
target: '92%'
2121
# how much we allow the coverage to drop
2222
threshold: '2%'
2323
patch:
2424
default:
25-
target: '95%'
25+
target: '97%'
2626
threshold: '5%'
2727

2828
# files to ignore
2929
ignore:
3030
- "tests/**"
3131
- "ws_messages_pb2.py"
32+
- "cylc/flow/scripts/report_timings.py"
3233

3334
flag_management:
3435
default_rules:

.coveragerc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ omit =
1616
tests/*
1717
*/cylc/flow/*_pb2.py
1818
cylc/flow/etc/*
19+
cylc/flow/scripts/report_timings.py
1920
parallel = True
2021
source = ./cylc
2122
timid = False

.github/workflows/1_create_release_pr.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ jobs:
2121
uses: cylc/release-actions/stage-1/sanitize-inputs@v1
2222

2323
- name: Checkout repo
24-
uses: actions/checkout@v3
24+
uses: actions/checkout@v4
2525
with:
2626
ref: ${{ env.BASE_REF }}
2727
fetch-depth: 0 # need to fetch all commits to check contributors
@@ -30,7 +30,7 @@ jobs:
3030
uses: cylc/release-actions/check-shortlog@v1
3131

3232
- name: Setup Python
33-
uses: actions/setup-python@v4
33+
uses: actions/setup-python@v5
3434
with:
3535
python-version: '3.x'
3636

.github/workflows/2_auto_publish_release.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,12 @@ jobs:
2222
steps:
2323

2424
- name: Checkout repo
25-
uses: actions/checkout@v3
25+
uses: actions/checkout@v4
2626
with:
2727
ref: ${{ env.MERGE_SHA }}
2828

2929
- name: Setup Python
30-
uses: actions/setup-python@v4
30+
uses: actions/setup-python@v5
3131
with:
3232
python-version: '3.x'
3333

@@ -38,7 +38,7 @@ jobs:
3838
uses: cylc/release-actions/build-python-package@v1
3939

4040
- name: Publish distribution to PyPI
41-
uses: pypa/[email protected].8
41+
uses: pypa/[email protected].11
4242
with:
4343
user: __token__ # uses the API token feature of PyPI - least permissions possible
4444
password: ${{ secrets.PYPI_TOKEN }}

.github/workflows/bash.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ jobs:
4444
- '5.0'
4545
steps:
4646
- name: Checkout
47-
uses: actions/checkout@v3
47+
uses: actions/checkout@v4
4848

4949
- name: Run Docker container
5050
run: |
@@ -85,7 +85,7 @@ jobs:
8585
8686
- name: Upload artifact
8787
if: failure()
88-
uses: actions/upload-artifact@v3
88+
uses: actions/upload-artifact@v4
8989
with:
90-
name: Upload cylc-run artifact
90+
name: 'cylc-run (bash-${{ matrix.bash-version }})'
9191
path: cylc-run

.github/workflows/build.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,10 @@ jobs:
2424
python: '3.7'
2525
steps:
2626
- name: Checkout
27-
uses: actions/checkout@v3
27+
uses: actions/checkout@v4
2828

2929
- name: Setup Python
30-
uses: actions/setup-python@v4
30+
uses: actions/setup-python@v5
3131
with:
3232
python-version: ${{ matrix.python }}
3333

.github/workflows/shortlog.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
timeout-minutes: 10
1515
steps:
1616
- name: Checkout
17-
uses: actions/checkout@v3
17+
uses: actions/checkout@v4
1818
with:
1919
fetch-depth: 0 # need to fetch all commits to check contributors
2020

.github/workflows/test_conda-build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919
timeout-minutes: 10
2020
steps:
2121
- name: checkout cylc-flow
22-
uses: actions/checkout@v3
22+
uses: actions/checkout@v4
2323

2424
- name: build conda env
2525
run: |

.github/workflows/test_fast.yml

Lines changed: 62 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -17,29 +17,39 @@ jobs:
1717
runs-on: ${{ matrix.os }}
1818
timeout-minutes: 20
1919
strategy:
20-
fail-fast: false # Don't let a failed MacOS run stop the Ubuntu runs
20+
fail-fast: false # don't stop on first failure
2121
matrix:
2222
os: ['ubuntu-latest']
23-
python-version: ['3.7', '3.8', '3.9', '3.10', '3.11']
23+
python-version: ['3.7', '3.8', '3.10', '3.11', '3']
2424
include:
25+
# mac os test
2526
- os: 'macos-11'
26-
python-version: '3.7'
27+
python-version: '3.7' # oldest supported version
28+
29+
# non-utc timezone test
30+
- os: 'ubuntu-latest'
31+
python-version: '3.9' # not the oldest, not the most recent version
32+
time-zone: 'XXX-09:35'
33+
2734
env:
35+
# Use non-UTC time zone
36+
TZ: ${{ matrix.time-zone }}
2837
PYTEST_ADDOPTS: --cov --cov-append -n 5 --color=yes
38+
2939
steps:
3040
- name: Checkout
31-
uses: actions/checkout@v3
41+
uses: actions/checkout@v4
3242

3343
- name: Configure Python
34-
uses: actions/setup-python@v4
44+
uses: actions/setup-python@v5
3545
with:
3646
python-version: ${{ matrix.python-version }}
3747

3848
- name: Apt-Get Install
3949
if: startsWith(matrix.os, 'ubuntu')
4050
run: |
4151
sudo apt-get update
42-
sudo apt-get install -y shellcheck sqlite3
52+
sudo apt-get install -y sqlite3
4353
4454
- name: Install
4555
run: |
@@ -48,37 +58,10 @@ jobs:
4858
- name: Configure git # Needed by the odd test
4959
uses: cylc/release-actions/configure-git@v1
5060

51-
- name: Check changelog
52-
if: startsWith(matrix.os, 'ubuntu')
53-
run: towncrier build --draft
54-
55-
- name: Style
56-
if: startsWith(matrix.os, 'ubuntu')
57-
run: |
58-
flake8
59-
etc/bin/shellchecker
60-
61-
# note: exclude python 3.10+ from mypy checks as these produce false
62-
# positives in installed libraries for python 3.7
63-
- name: Typing
64-
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.python-version, 3.9)
65-
run: mypy
66-
67-
- name: Doctests
68-
timeout-minutes: 4
69-
run: |
70-
pytest cylc/flow
71-
7261
- name: Unit Tests
73-
timeout-minutes: 4
62+
timeout-minutes: 5
7463
run: |
75-
pytest tests/unit
76-
77-
- name: Bandit
78-
if: ${{ matrix.python-version == '3.7' }}
79-
# https://github.com/PyCQA/bandit/issues/658
80-
run: |
81-
bandit -r --ini .bandit cylc/flow
64+
pytest cylc/flow tests/unit
8265
8366
- name: Integration Tests
8467
timeout-minutes: 6
@@ -87,7 +70,7 @@ jobs:
8770
8871
- name: Upload failed tests artifact
8972
if: failure()
90-
uses: actions/upload-artifact@v3
73+
uses: actions/upload-artifact@v4
9174
with:
9275
name: cylc-run (${{ matrix.os }} py-${{ matrix.python-version }})
9376
path: ~/cylc-run/
@@ -98,26 +81,64 @@ jobs:
9881
coverage report
9982
10083
- name: Upload coverage artifact
101-
uses: actions/upload-artifact@v3
84+
uses: actions/upload-artifact@v4
10285
with:
10386
name: coverage_${{ matrix.os }}_py-${{ matrix.python-version }}
10487
path: coverage.xml
10588
retention-days: 7
10689

90+
lint:
91+
runs-on: 'ubuntu-latest'
92+
timeout-minutes: 10
93+
steps:
94+
- name: Apt-Get Install
95+
run: |
96+
sudo apt-get update
97+
sudo apt-get install -y shellcheck
98+
99+
- name: Checkout
100+
uses: actions/checkout@v4
101+
102+
# note: exclude python 3.10+ from mypy checks as these produce false
103+
# positives in installed libraries for python 3.7
104+
- name: Configure Python
105+
uses: actions/setup-python@v5
106+
with:
107+
python-version: 3.9
108+
109+
- name: Install
110+
run: |
111+
pip install -e ."[tests]"
112+
113+
- name: Flake8
114+
run: flake8
115+
116+
- name: Bandit
117+
run: |
118+
bandit -r --ini .bandit cylc/flow
119+
120+
- name: Shellchecker
121+
run: etc/bin/shellchecker
122+
123+
- name: MyPy
124+
run: mypy
125+
126+
- name: Towncrier
127+
run: towncrier build --draft
128+
107129
- name: Linkcheck
108-
if: startsWith(matrix.python-version, '3.10')
109-
run: pytest -m linkcheck --dist=load tests/unit
130+
run: pytest -m linkcheck --dist=load --color=yes -n 10 tests/unit/test_links.py
110131

111132
codecov:
112133
needs: test
113134
runs-on: ubuntu-latest
114135
timeout-minutes: 2
115136
steps:
116137
- name: Checkout
117-
uses: actions/checkout@v3
138+
uses: actions/checkout@v4
118139

119140
- name: Download coverage artifacts
120-
uses: actions/download-artifact@v3
141+
uses: actions/download-artifact@v4
121142

122143
- name: Codecov upload
123144
uses: codecov/codecov-action@v3

.github/workflows/test_functional.yml

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -46,9 +46,9 @@ jobs:
4646
# NOTE: includes must define ALL of the matrix values
4747
include:
4848
# latest python
49-
- name: 'py-3.11'
49+
- name: 'py-3-latest'
5050
os: 'ubuntu-latest'
51-
python-version: '3.11'
51+
python-version: '3'
5252
test-base: 'tests/f'
5353
chunk: '1/4'
5454
platform: '_local_background*'
@@ -96,10 +96,10 @@ jobs:
9696

9797
steps:
9898
- name: Checkout
99-
uses: actions/checkout@v3
99+
uses: actions/checkout@v4
100100

101101
- name: Configure Python
102-
uses: actions/setup-python@v4
102+
uses: actions/setup-python@v5
103103
with:
104104
python-version: ${{ matrix.python-version }}
105105

@@ -108,7 +108,7 @@ jobs:
108108
run: |
109109
# install system deps
110110
brew update
111-
brew install bash coreutils gnu-sed
111+
brew install bash coreutils gnu-sed grep
112112
113113
# add GNU coreutils and sed to the user PATH
114114
# (see instructions in brew install output)
@@ -118,6 +118,9 @@ jobs:
118118
echo \
119119
"/usr/local/opt/gnu-sed/libexec/gnubin" \
120120
>> "${GITHUB_PATH}"
121+
echo \
122+
"/usr/local/opt/grep/libexec/gnubin" \
123+
>> "${GITHUB_PATH}"
121124
122125
# add coreutils to the bashrc too (for jobs)
123126
cat >> "${HOME}/.bashrc" <<__HERE__
@@ -248,6 +251,7 @@ jobs:
248251
-exec echo '====== {} ======' \; -exec cat '{}' \;
249252
250253
- name: Set artifact upload name
254+
if: always()
251255
id: uploadname
252256
run: |
253257
# artifact name cannot contain '/' characters
@@ -256,7 +260,7 @@ jobs:
256260
257261
- name: Upload failed tests artifact
258262
if: failure() && steps.test.outcome == 'failure'
259-
uses: actions/upload-artifact@v3
263+
uses: actions/upload-artifact@v4
260264
with:
261265
name: cylc-run (${{ steps.uploadname.outputs.uploadname }})
262266
path: ~/cylc-run/
@@ -294,7 +298,7 @@ jobs:
294298
coverage report
295299
296300
- name: Upload coverage artifact
297-
uses: actions/upload-artifact@v3
301+
uses: actions/upload-artifact@v4
298302
with:
299303
name: coverage_${{ steps.uploadname.outputs.uploadname }}
300304
path: coverage.xml
@@ -306,10 +310,10 @@ jobs:
306310
timeout-minutes: 2
307311
steps:
308312
- name: Checkout
309-
uses: actions/checkout@v3
313+
uses: actions/checkout@v4
310314

311315
- name: Download coverage artifacts
312-
uses: actions/download-artifact@v3
316+
uses: actions/download-artifact@v4
313317

314318
- name: Codecov upload
315319
uses: codecov/codecov-action@v3

0 commit comments

Comments
 (0)