1
1
name : Test
2
2
3
3
on :
4
- # Uncomment this entry only to debug the workflow
4
+ # To debug the workflow, uncomment this entry AND comment pull_request_target
5
5
# pull_request:
6
6
# branches: [ main ]
7
7
pull_request_target :
26
26
27
27
jobs :
28
28
check :
29
- name : check permissions
29
+ name : Check permissions, identify ref to test
30
30
runs-on : ubuntu-latest
31
31
steps :
32
32
- if : >
39
39
echo "Pytest workflow will not run for branch in fork without label \`${{ env.label }}\`." >>$GITHUB_STEP_SUMMARY
40
40
exit 1
41
41
42
+ - name : Identify ref to check out
43
+ id : ref
44
+ run : echo "ref=${{ github.event_name != 'pull_request_target' && github.ref || github.event.pull_request.head.sha }}" >> $GITHUB_OUTPUT
45
+
46
+ outputs :
47
+ ref : ${{ steps.ref.outputs.ref }}
48
+
42
49
warm-lfs-cache :
50
+ name : Warm Git LFS cache
43
51
needs : check
44
52
45
53
strategy :
48
56
runs-on : ${{ matrix.os }}
49
57
steps :
50
58
- uses : francisbilham11/action-cached-lfs-checkout@v3
59
+ with :
60
+ ref : ${{ needs.check.outputs.ref }}
51
61
52
62
pytest :
53
63
needs : warm-lfs-cache
@@ -77,14 +87,14 @@ jobs:
77
87
exclude :
78
88
# Specific version combinations that are invalid / not to be used
79
89
# These versions of ixmp are not able locate the arm64 GAMS API binaries
80
- - { os: macos-latest, version: {upstream: v3.4.0 }}
81
- - { os: macos-latest, version: {upstream: v3.5.0 }}
82
- - { os: macos-latest, version: {upstream: v3.6.0 }}
83
- - { os: macos-latest, version: {upstream: v3.7.0 }}
84
- - { os: macos-latest, version: {upstream: v3.8.0 }}
85
- - { os: macos-latest, version: {upstream: v3.9.0 }}
90
+ - { os: macos-latest, version: { upstream: v3.4.0 }}
91
+ - { os: macos-latest, version: { upstream: v3.5.0 }}
92
+ - { os: macos-latest, version: { upstream: v3.6.0 }}
93
+ - { os: macos-latest, version: { upstream: v3.7.0 }}
94
+ - { os: macos-latest, version: { upstream: v3.8.0 }}
95
+ - { os: macos-latest, version: { upstream: v3.9.0 }}
86
96
# Redundant with macos-latest
87
- - { os: macos-13, version: {upstream: main }}
97
+ - { os: macos-13, version: { upstream: main }}
88
98
89
99
fail-fast : false
90
100
@@ -100,6 +110,8 @@ jobs:
100
110
101
111
- name : Check out message-ix-models
102
112
uses : francisbilham11/action-cached-lfs-checkout@v3
113
+ with :
114
+ ref : ${{ needs.check.outputs.ref }}
103
115
104
116
- name : Set up uv, Python
105
117
uses : astral-sh/setup-uv@v5
@@ -171,11 +183,12 @@ jobs:
171
183
172
184
pre-commit :
173
185
name : Code quality
174
-
186
+ needs : check
175
187
runs-on : ubuntu-latest
176
-
177
188
steps :
178
189
- uses : actions/checkout@v4
190
+ with :
191
+ ref : ${{ needs.check.output.ref }}
179
192
- uses : astral-sh/setup-uv@v5
180
193
with :
181
194
cache-dependency-glob : " **/pyproject.toml"
0 commit comments