@@ -32,6 +32,10 @@ concurrency:
32
32
group : ${{ github.workflow }}-${{ github.ref }}
33
33
cancel-in-progress : true
34
34
35
+ defaults :
36
+ run :
37
+ shell : bash -c "exec $CONDA_PREFIX/bin/bash -elo pipefail {0}"
38
+
35
39
jobs :
36
40
test :
37
41
runs-on : ${{ matrix.os }}
@@ -56,34 +60,34 @@ jobs:
56
60
platform : ' _local_background*'
57
61
# tests/k
58
62
- name : ' flaky'
59
- os : ' ubuntu-22.04 '
63
+ os : ' ubuntu-latest '
60
64
python-version : ' 3.7'
61
65
test-base : ' tests/k'
62
66
chunk : ' 1/1'
63
67
platform : ' _local_background* _local_at*'
64
68
# remote platforms
65
69
- name : ' _remote_background_indep_poll'
66
- os : ' ubuntu-22.04 '
70
+ os : ' ubuntu-latest '
67
71
python-version : ' 3.7'
68
72
test-base : ' tests/f tests/k'
69
73
chunk : ' 1/1'
70
74
platform : ' _remote_background_indep_poll _remote_at_indep_poll'
71
75
- name : ' _remote_background_indep_tcp'
72
- os : ' ubuntu-22.04 '
76
+ os : ' ubuntu-latest '
73
77
test-base : ' tests/f tests/k'
74
78
python-version : ' 3.7'
75
79
chunk : ' 1/1'
76
80
platform : ' _remote_background_indep_tcp _remote_at_indep_tcp'
77
81
# macos
78
82
- name : ' macos 1/5'
79
83
os : ' macos-latest'
80
- python-version : ' 3.9 '
84
+ python-version : ' 3.8 ' # oldest available
81
85
test-base : ' tests/f'
82
86
chunk : ' 1/5'
83
87
platform : ' _local_background*'
84
88
- name : ' macos 2/5'
85
89
os : ' macos-latest'
86
- python-version : ' 3.9 '
90
+ python-version : ' 3' # newest available
87
91
test-base : ' tests/f'
88
92
chunk : ' 2/5'
89
93
platform : ' _local_background*'
@@ -101,9 +105,21 @@ jobs:
101
105
uses : actions/checkout@v4
102
106
103
107
- name : Configure Python
104
- uses : actions /setup-python@v5
108
+ uses : mamba-org /setup-micromamba@v2
105
109
with :
106
- python-version : ${{ matrix.python-version }}
110
+ cache-environment : true
111
+ post-cleanup : ' all'
112
+ environment-name : cylc-functional-test
113
+ create-args : >-
114
+ python=${{ matrix.python-version }}
115
+ pip
116
+ bash
117
+ coreutils
118
+ grep
119
+ sed
120
+ sqlite
121
+ subversion
122
+ tree
107
123
108
124
- name : Create global config
109
125
run : |
@@ -128,36 +144,11 @@ jobs:
128
144
__HERE__
129
145
cat "$GLOBAL_CFG_PATH"
130
146
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
-
158
147
- name : Add .github/bin/ to PATH
159
148
# Sets up mocked mail command & any other custom executables
160
- run : echo "${{ github.workspace }}/.github/bin" >> $GITHUB_PATH
149
+ # Adding to $GITHUB_PATH does not work when using setup-micromamba and/or login shell
150
+ run : |
151
+ echo "export PATH=\"${{ github.workspace }}/.github/bin:$PATH\"" >> ~/.bash_profile
161
152
162
153
- name : Install
163
154
run : |
@@ -167,6 +158,8 @@ jobs:
167
158
- name : Configure Atrun
168
159
if : contains(matrix.platform, '_local_at')
169
160
run : |
161
+ sudo apt-get update
162
+ sudo apt-get install -y at
170
163
cat >> "$GLOBAL_CFG_PATH" << __HERE__
171
164
[platforms]
172
165
[[_local_at_indep_tcp]]
0 commit comments