17
17
jobs :
18
18
qa :
19
19
name : qa
20
- runs-on : ubuntu-20 .04
20
+ runs-on : ubuntu-24 .04
21
21
steps :
22
22
- name : Checkout Repository
23
23
uses : actions/checkout@v3
@@ -42,66 +42,29 @@ jobs:
42
42
43
43
- name : Check flake8
44
44
run : flake8 .
45
- setup :
46
- name : setup
47
- runs-on : ubuntu-20.04
48
- outputs :
49
- matrix : ${{ steps.set-matrix.outputs.matrix }}
50
- inputs : ${{ steps.prepare-inputs.outputs.inputs }}
51
- inputs-for-ubuntu : ${{ steps.prepare-inputs.outputs.inputs-for-ubuntu }}
52
- steps :
53
- - name : Set Matrix
54
- id : set-matrix
55
- shell : bash -eux {0}
56
- run : |
57
- MATRIX=$(cat << 'EOS'
58
- name:
59
-
60
-
61
- include:
62
-
63
- os: ubuntu-22.04
64
- compiler: gnu-11
65
- compiler_cc: gcc-11
66
- compiler_cxx: g++-11
67
- compiler_fc: gfortran-11
68
-
69
- os: ubuntu-22.04
70
- compiler: clang-14
71
- compiler_cc: clang-14
72
- compiler_cxx: clang++-14
73
- compiler_fc: gfortran-11
74
- # Xcode compiler requires empty environment variables, so we pass null (~) here
75
- EOS
76
- )
77
- SKIP_MATRIX_JOBS=$(cat << 'EOS'
78
- ${{ inputs.skip_matrix_jobs }}
79
- EOS
80
- )
81
- SELECT_NAME_COND="1 != 1"
82
- SELECT_INCLUDE_COND="1 != 1"
83
- for skip_job in $SKIP_MATRIX_JOBS; do SELECT_NAME_COND="$SELECT_NAME_COND or . == \"$skip_job\""; SELECT_INCLUDE_COND="$SELECT_INCLUDE_COND or .name == \"$skip_job\""; done
84
- echo matrix=$(echo "$MATRIX" | yq eval "del(.name[] | select($SELECT_NAME_COND)) | del(.include[] | select($SELECT_INCLUDE_COND))" --output-format json --indent 0 -) >> $GITHUB_OUTPUT
85
- - name : Prepare build-package Inputs
86
- id : prepare-inputs
87
- shell : bash -eux {0}
88
- run : |
89
- echo inputs=$(echo "${{ inputs.build_package_inputs || '{}' }}" | yq eval '.' --output-format json --indent 0 -) >> $GITHUB_OUTPUT
90
- echo inputs-for-ubuntu=$(echo "${{ inputs.build_package_inputs || '{}' }}" | yq eval '. * {"os":"ubuntu-20.04","compiler":"gnu-10","compiler_cc":"gcc-10","compiler_cxx":"g++-10","compiler_fc":"gfortran-10"}' --output-format json --indent 0 -) >> $GITHUB_OUTPUT
91
45
test :
92
46
name : test
93
47
needs :
94
48
- qa
95
- - setup
96
49
strategy :
97
50
fail-fast : false
98
- matrix : ${{ fromJson(needs.setup.outputs.matrix) }}
51
+ matrix :
52
+ name :
53
+ - ubuntu-22.04
54
+ - macos-latest
55
+ include :
56
+ - name : ubuntu-22.04
57
+ os : ubuntu-22.04
58
+ compiler_fc : gfortran
59
+ - name : macos-latest
60
+ os : macos-latest
61
+ compiler_fc : gfortran-12
99
62
runs-on : ${{ matrix.os }}
100
63
steps :
101
64
- uses : actions/checkout@v4
102
65
- name : Install eccodes and Dependencies
103
66
id : install-dependencies
104
- uses : ecmwf-actions /build-package@v2
67
+ uses : ecmwf/build-package@v2
105
68
with :
106
69
self_build : false
107
70
dependencies : |
117
80
- name : Install Python Dependencies
118
81
run : |
119
82
python -m pip install --upgrade pip
83
+ python -m pip install --upgrade setuptools
120
84
python -m pip install pytest pytest-cov
121
85
python -m pip install -r requirements.txt
122
86
python -m pip install -r ./tests/requirements_test.txt
@@ -142,7 +106,7 @@ jobs:
142
106
needs : test
143
107
if : ${{ github.event_name == 'release' }}
144
108
name : Upload to Pypi
145
- runs-on : ubuntu-latest
109
+ runs-on : ubuntu-24.04
146
110
steps :
147
111
- uses : actions/checkout@v3
148
112
- name : Set up Python
0 commit comments