Skip to content

Commit 3f37872

Browse files
authored
Merge branch '8.4.x' into rsync
2 parents 144600b + 8a8f2db commit 3f37872

File tree

159 files changed

+1456
-932
lines changed

Some content is hidden

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

159 files changed

+1456
-932
lines changed

.github/workflows/1_create_release_pr.yml

Lines changed: 14 additions & 1 deletion
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
@@ -54,6 +67,6 @@ jobs:
5467
- name: Create pull request
5568
uses: cylc/release-actions/stage-1/create-release-pr@v1
5669
with:
57-
test-workflows: test_fast.yml, test_functional.yml, bash.yml, test_manylinux.yml, test_conda-build.yml
70+
test-workflows: test_fast.yml, test_functional.yml, bash.yml, test_conda-build.yml
5871
env:
5972
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

.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
runs-on: ubuntu-latest

.github/workflows/test_fast.yml

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

15+
defaults:
16+
run:
17+
shell: bash -c "exec $CONDA_PREFIX/bin/bash -elo pipefail {0}"
18+
19+
env:
20+
PIP_PROGRESS_BAR: off
21+
1522
jobs:
1623
test:
1724
runs-on: ${{ matrix.os }}
@@ -20,43 +27,41 @@ jobs:
2027
fail-fast: false # don't stop on first failure
2128
matrix:
2229
os: ['ubuntu-latest']
23-
python-version: ['3.8', '3.10', '3.11', '3']
30+
python-version: ['3.7', '3.8', '3.10', '3.11', '3.12', '3']
2431
include:
25-
- os: 'ubuntu-22.04'
26-
python-version: '3.7'
2732
- os: 'macos-latest'
28-
python-version: '3.9' # oldest supported version
33+
python-version: '3.8' # oldest version with arm64 builds
2934
# non-utc timezone test
3035
- os: 'ubuntu-latest'
3136
python-version: '3.9' # not the oldest, not the most recent version
3237
time-zone: 'XXX-09:35'
33-
3438
env:
3539
TZ: ${{ matrix.time-zone }}
3640
PYTEST_ADDOPTS: --cov --cov-append -n 5 --color=yes
37-
3841
steps:
3942
- name: Checkout
4043
uses: actions/checkout@v4
4144

42-
- name: Configure Python
43-
uses: actions/setup-python@v5
45+
- name: Install System Dependencies
46+
uses: mamba-org/setup-micromamba@v2
4447
with:
45-
python-version: ${{ matrix.python-version }}
46-
47-
- name: Apt-Get Install
48-
if: startsWith(matrix.os, 'ubuntu')
48+
cache-environment: true
49+
post-cleanup: 'all'
50+
environment-name: cylc-fast-test
51+
create-args: >-
52+
python=${{ matrix.python-version }}
53+
pip
54+
bash
55+
subversion
56+
sqlite
57+
58+
- name: Install Python Dependencies
4959
run: |
50-
sudo apt-get update
51-
sudo apt-get install -y sqlite3
60+
pip install -e ."[all]"
5261
5362
- name: Patch DNS
5463
uses: cylc/release-actions/patch-dns@v1
5564

56-
- name: Install
57-
run: |
58-
pip install -e ."[all]"
59-
6065
- name: Configure git # Needed by the odd test
6166
uses: cylc/release-actions/configure-git@v1
6267

@@ -99,21 +104,28 @@ jobs:
99104
lint:
100105
runs-on: 'ubuntu-latest'
101106
timeout-minutes: 10
107+
strategy:
108+
matrix:
109+
python-version: ['3']
110+
env:
111+
FORCE_COLOR: 2
102112
steps:
103-
- name: Apt-Get Install
104-
run: |
105-
sudo apt-get update
106-
sudo apt-get install -y shellcheck
107-
108113
- name: Checkout
109114
uses: actions/checkout@v4
110115

111-
- name: Configure Python
112-
uses: actions/setup-python@v5
116+
- name: Install System Dependencies
117+
uses: mamba-org/setup-micromamba@v2
113118
with:
114-
python-version: 3.x
115-
116-
- name: Install
119+
cache-environment: true
120+
post-cleanup: 'all'
121+
environment-name: cylc-lint-test
122+
create-args: >-
123+
python=${{ matrix.python-version }}
124+
pip
125+
bash
126+
shellcheck
127+
128+
- name: Install Python Dependencies
117129
run: |
118130
pip install -e ."[tests]"
119131

.github/workflows/test_functional.yml

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

35+
defaults:
36+
run:
37+
shell: bash -c "exec $CONDA_PREFIX/bin/bash -elo pipefail {0}"
38+
39+
env:
40+
FORCE_COLOR: 2
41+
PIP_PROGRESS_BAR: off
42+
3543
jobs:
3644
test:
3745
runs-on: ${{ matrix.os }}
@@ -56,34 +64,34 @@ jobs:
5664
platform: '_local_background*'
5765
# tests/k
5866
- name: 'flaky'
59-
os: 'ubuntu-22.04'
67+
os: 'ubuntu-latest'
6068
python-version: '3.7'
6169
test-base: 'tests/k'
6270
chunk: '1/1'
6371
platform: '_local_background* _local_at*'
6472
# remote platforms
6573
- name: '_remote_background_indep_poll'
66-
os: 'ubuntu-22.04'
74+
os: 'ubuntu-latest'
6775
python-version: '3.7'
6876
test-base: 'tests/f tests/k'
6977
chunk: '1/1'
7078
platform: '_remote_background_indep_poll _remote_at_indep_poll'
7179
- name: '_remote_background_indep_tcp'
72-
os: 'ubuntu-22.04'
80+
os: 'ubuntu-latest'
7381
test-base: 'tests/f tests/k'
7482
python-version: '3.7'
7583
chunk: '1/1'
7684
platform: '_remote_background_indep_tcp _remote_at_indep_tcp'
7785
# macos
7886
- name: 'macos 1/5'
7987
os: 'macos-latest'
80-
python-version: '3.9'
88+
python-version: '3.8' # oldest available
8189
test-base: 'tests/f'
8290
chunk: '1/5'
8391
platform: '_local_background*'
8492
- name: 'macos 2/5'
8593
os: 'macos-latest'
86-
python-version: '3.9'
94+
python-version: '3' # newest available
8795
test-base: 'tests/f'
8896
chunk: '2/5'
8997
platform: '_local_background*'
@@ -101,9 +109,21 @@ jobs:
101109
uses: actions/checkout@v4
102110

103111
- name: Configure Python
104-
uses: actions/setup-python@v5
112+
uses: mamba-org/setup-micromamba@v2
105113
with:
106-
python-version: ${{ matrix.python-version }}
114+
cache-environment: true
115+
post-cleanup: 'all'
116+
environment-name: cylc-functional-test
117+
create-args: >-
118+
python=${{ matrix.python-version }}
119+
pip
120+
bash
121+
coreutils
122+
grep
123+
sed
124+
sqlite
125+
subversion
126+
tree
107127
108128
- name: Create global config
109129
run: |
@@ -128,36 +148,11 @@ jobs:
128148
__HERE__
129149
cat "$GLOBAL_CFG_PATH"
130150
131-
- name: Brew Install
132-
if: startsWith(matrix.os, 'macos')
133-
run: |
134-
# install system deps
135-
brew update
136-
brew install bash coreutils gnu-sed grep
137-
138-
# add GNU coreutils and sed to the user PATH
139-
# (see instructions in brew install output)
140-
echo "$(brew --prefix)/opt/coreutils/libexec/gnubin" >> "${GITHUB_PATH}"
141-
echo "$(brew --prefix)/opt/grep/libexec/gnubin" >> "${GITHUB_PATH}"
142-
echo "$(brew --prefix)/opt/gnu-sed/libexec/gnubin" >> "${GITHUB_PATH}"
143-
144-
# add coreutils to the bashrc too (for jobs)
145-
cat >> "${HOME}/.bashrc" <<__HERE__
146-
PATH="$(brew --prefix)/opt/coreutils/libexec/gnubin:$PATH"
147-
PATH="$(brew --prefix)/opt/grep/libexec/gnubin:$PATH"
148-
PATH="$(brew --prefix)/opt/gnu-sed/libexec/gnubin:$PATH"
149-
export PATH
150-
__HERE__
151-
152-
- name: Apt-Get Install
153-
if: startsWith(matrix.os, 'ubuntu')
154-
run: |
155-
sudo apt-get update
156-
sudo apt-get install -y sqlite3 tree at
157-
158151
- name: Add .github/bin/ to PATH
159152
# Sets up mocked mail command & any other custom executables
160-
run: echo "${{ github.workspace }}/.github/bin" >> $GITHUB_PATH
153+
# Adding to $GITHUB_PATH does not work when using setup-micromamba and/or login shell
154+
run: |
155+
echo "export PATH=\"${{ github.workspace }}/.github/bin:$PATH\"" >> ~/.bash_profile
161156
162157
- name: Install
163158
run: |
@@ -167,6 +162,8 @@ jobs:
167162
- name: Configure Atrun
168163
if: contains(matrix.platform, '_local_at')
169164
run: |
165+
sudo apt-get update
166+
sudo apt-get install -y at
170167
cat >> "$GLOBAL_CFG_PATH" << __HERE__
171168
[platforms]
172169
[[_local_at_indep_tcp]]

0 commit comments

Comments
 (0)