@@ -11,15 +11,24 @@ jobs:
11
11
runs-on : ubuntu-latest
12
12
strategy :
13
13
matrix :
14
- include :
15
- - release : 8.x
16
- branch : main
17
- - release : 8.x
18
- branch : tls
19
- - release : 7.x
20
- branch : release-7.x
14
+ branch :
15
+ - main
16
+ - tls
17
+ - release-7.x
21
18
22
19
steps :
20
+ - uses : actions/checkout@v4
21
+ with :
22
+ ref : ${{ matrix.branch }}
23
+ sparse-checkout-cone-mode : false
24
+ sparse-checkout : /.env
25
+ - name : Read current stack version
26
+ id : current-release
27
+ run : |
28
+ source .env
29
+ : ${ELASTIC_VERSION:?unset}
30
+ echo "version=${ELASTIC_VERSION}" >>"$GITHUB_OUTPUT"
31
+
23
32
- uses : actions/setup-node@v4
24
33
- run : npm install semver
25
34
42
51
43
52
const version=semver.clean(release.tag_name)
44
53
45
- if (semver.satisfies(version, '${{ matrix. release }}')) {
54
+ if (semver.satisfies(version, '^ ${{ steps.current- release.outputs.version }}')) {
46
55
return version
47
56
}
48
57
}
@@ -54,17 +63,23 @@ jobs:
54
63
return { version: latestVersion }
55
64
}
56
65
57
- - uses : actions/checkout@v4
58
- if : steps.get-latest-release.outputs.result
66
+ # Subsequent executions of actions/checkout omit to revert this setting to 'false',
67
+ # even if sparse-checkout is later disabled (see actions/checkout#2034).
68
+ - name : Disable sparse checkout
69
+ run : git config core.sparseCheckout false
70
+ # Removes untracked files created by npm (node_modules/, package.json, ...).
71
+ # Disables previous sparse checkout.
72
+ - name : Clean checkout
73
+ uses : actions/checkout@v4
74
+ if : steps.get-latest-release.outputs.result && fromJson(steps.get-latest-release.outputs.result).version != steps.current-release.outputs.version
59
75
with :
60
76
ref : ${{ matrix.branch }}
61
77
62
78
- name : Update stack version
63
79
id : update-files
64
- if : steps.get-latest-release.outputs.result
80
+ if : steps.get-latest-release.outputs.result && fromJson(steps.get-latest-release.outputs.result).version != steps.current-release.outputs.version
65
81
run : |
66
- source .env
67
- cur_ver="$ELASTIC_VERSION"
82
+ cur_ver=${{ steps.current-release.outputs.version }}
68
83
new_ver=${{ fromJson(steps.get-latest-release.outputs.result).version }}
69
84
70
85
# Escape period characters so sed interprets them literally
0 commit comments