Skip to content

Commit a1d0530

Browse files
committed
Merge branch 'master' into 8.2.x-sync
2 parents 90356cc + d04cd73 commit a1d0530

File tree

289 files changed

+9629
-2823
lines changed

Some content is hidden

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

289 files changed

+9629
-2823
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: 55 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -17,35 +17,38 @@ 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.10', '3.11']
23+
python-version: ['3.7', '3.8', '3.10', '3.11', '3']
2424
include:
2525
# mac os test
2626
- os: 'macos-11'
2727
python-version: '3.7' # oldest supported version
28+
2829
# non-utc timezone test
2930
- os: 'ubuntu-latest'
3031
python-version: '3.9' # not the oldest, not the most recent version
3132
time-zone: 'XXX-09:35'
33+
3234
env:
3335
TZ: ${{ matrix.time-zone }}
3436
PYTEST_ADDOPTS: --cov --cov-append -n 5 --color=yes
37+
3538
steps:
3639
- name: Checkout
37-
uses: actions/checkout@v3
40+
uses: actions/checkout@v4
3841

3942
- name: Configure Python
40-
uses: actions/setup-python@v4
43+
uses: actions/setup-python@v5
4144
with:
4245
python-version: ${{ matrix.python-version }}
4346

4447
- name: Apt-Get Install
4548
if: startsWith(matrix.os, 'ubuntu')
4649
run: |
4750
sudo apt-get update
48-
sudo apt-get install -y shellcheck sqlite3
51+
sudo apt-get install -y sqlite3
4952
5053
- name: Install
5154
run: |
@@ -54,37 +57,10 @@ jobs:
5457
- name: Configure git # Needed by the odd test
5558
uses: cylc/release-actions/configure-git@v1
5659

57-
- name: Check changelog
58-
if: startsWith(matrix.os, 'ubuntu')
59-
run: towncrier build --draft
60-
61-
- name: Style
62-
if: startsWith(matrix.os, 'ubuntu')
63-
run: |
64-
flake8
65-
etc/bin/shellchecker
66-
67-
# note: exclude python 3.10+ from mypy checks as these produce false
68-
# positives in installed libraries for python 3.7
69-
- name: Typing
70-
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.python-version, 3.9)
71-
run: mypy
72-
73-
- name: Doctests
74-
timeout-minutes: 4
75-
run: |
76-
pytest cylc/flow
77-
7860
- name: Unit Tests
79-
timeout-minutes: 4
61+
timeout-minutes: 5
8062
run: |
81-
pytest tests/unit
82-
83-
- name: Bandit
84-
if: ${{ matrix.python-version == '3.7' }}
85-
# https://github.com/PyCQA/bandit/issues/658
86-
run: |
87-
bandit -r --ini .bandit cylc/flow
63+
pytest cylc/flow tests/unit
8864
8965
- name: Integration Tests
9066
timeout-minutes: 6
@@ -93,7 +69,7 @@ jobs:
9369
9470
- name: Upload failed tests artifact
9571
if: failure()
96-
uses: actions/upload-artifact@v3
72+
uses: actions/upload-artifact@v4
9773
with:
9874
name: cylc-run (${{ matrix.os }} py-${{ matrix.python-version }})
9975
path: ~/cylc-run/
@@ -104,29 +80,67 @@ jobs:
10480
coverage report
10581
10682
- name: Upload coverage artifact
107-
uses: actions/upload-artifact@v3
83+
uses: actions/upload-artifact@v4
10884
with:
10985
name: coverage_${{ matrix.os }}_py-${{ matrix.python-version }}
11086
path: coverage.xml
11187
retention-days: 7
11288

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

117131
codecov:
118132
needs: test
119133
runs-on: ubuntu-latest
120134
timeout-minutes: 2
121135
steps:
122136
- name: Checkout
123-
uses: actions/checkout@v3
137+
uses: actions/checkout@v4
124138

125139
- name: Download coverage artifacts
126-
uses: actions/download-artifact@v3
140+
uses: actions/download-artifact@v4
127141

128142
- name: Codecov upload
129-
uses: codecov/codecov-action@v3
143+
uses: codecov/codecov-action@v4
130144
with:
131145
name: ${{ github.workflow }}
132146
flags: fast-tests

.github/workflows/test_functional.yml

Lines changed: 14 additions & 10 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,13 +310,13 @@ 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
315-
uses: codecov/codecov-action@v3
319+
uses: codecov/codecov-action@v4
316320
with:
317321
name: ${{ github.workflow }}
318322
flags: functional-tests

0 commit comments

Comments
 (0)