@@ -32,6 +32,14 @@ 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
+
39
+ env :
40
+ FORCE_COLOR : 2
41
+ PIP_PROGRESS_BAR : off
42
+
35
43
jobs :
36
44
test :
37
45
runs-on : ${{ matrix.os }}
@@ -56,34 +64,34 @@ jobs:
56
64
platform : ' _local_background*'
57
65
# tests/k
58
66
- name : ' flaky'
59
- os : ' ubuntu-22.04 '
67
+ os : ' ubuntu-latest '
60
68
python-version : ' 3.7'
61
69
test-base : ' tests/k'
62
70
chunk : ' 1/1'
63
71
platform : ' _local_background* _local_at*'
64
72
# remote platforms
65
73
- name : ' _remote_background_indep_poll'
66
- os : ' ubuntu-22.04 '
74
+ os : ' ubuntu-latest '
67
75
python-version : ' 3.7'
68
76
test-base : ' tests/f tests/k'
69
77
chunk : ' 1/1'
70
78
platform : ' _remote_background_indep_poll _remote_at_indep_poll'
71
79
- name : ' _remote_background_indep_tcp'
72
- os : ' ubuntu-22.04 '
80
+ os : ' ubuntu-latest '
73
81
test-base : ' tests/f tests/k'
74
82
python-version : ' 3.7'
75
83
chunk : ' 1/1'
76
84
platform : ' _remote_background_indep_tcp _remote_at_indep_tcp'
77
85
# macos
78
86
- name : ' macos 1/5'
79
87
os : ' macos-latest'
80
- python-version : ' 3.9 '
88
+ python-version : ' 3.8 ' # oldest available
81
89
test-base : ' tests/f'
82
90
chunk : ' 1/5'
83
91
platform : ' _local_background*'
84
92
- name : ' macos 2/5'
85
93
os : ' macos-latest'
86
- python-version : ' 3.9 '
94
+ python-version : ' 3' # newest available
87
95
test-base : ' tests/f'
88
96
chunk : ' 2/5'
89
97
platform : ' _local_background*'
@@ -101,9 +109,21 @@ jobs:
101
109
uses : actions/checkout@v4
102
110
103
111
- name : Configure Python
104
- uses : actions /setup-python@v5
112
+ uses : mamba-org /setup-micromamba@v2
105
113
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
107
127
108
128
- name : Create global config
109
129
run : |
@@ -128,36 +148,11 @@ jobs:
128
148
__HERE__
129
149
cat "$GLOBAL_CFG_PATH"
130
150
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
151
- name : Add .github/bin/ to PATH
159
152
# 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
161
156
162
157
- name : Install
163
158
run : |
@@ -167,6 +162,8 @@ jobs:
167
162
- name : Configure Atrun
168
163
if : contains(matrix.platform, '_local_at')
169
164
run : |
165
+ sudo apt-get update
166
+ sudo apt-get install -y at
170
167
cat >> "$GLOBAL_CFG_PATH" << __HERE__
171
168
[platforms]
172
169
[[_local_at_indep_tcp]]
0 commit comments