Skip to content

Commit 82dfd44

Browse files
committed
CI: Extract launchable_setup function
1 parent 1b018d9 commit 82dfd44

1 file changed

Lines changed: 18 additions & 43 deletions

File tree

.github/actions/launchable/setup/action.yml

Lines changed: 18 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -166,63 +166,38 @@ runs:
166166
btest_test_suite="yjit-${btest_test_suite}"
167167
test_spec_test_suite="yjit-${test_spec_test_suite}"
168168
fi
169-
launchable record build --name "${build_name}"
170-
if [ "${test_all_enabled}" = "true" ]; then
171-
test_all_session=$(launchable record session \
169+
# launchable_setup target var -- refers ${target} prefixed variables
170+
launchable_setup() {
171+
local target=$1 session
172+
eval [ "\${${target}_enabled}" = "true" ] || return
173+
eval local suite=\${${target}_test_suite}
174+
session=$(launchable record session \
172175
--build "${build_name}" \
173176
--observation \
174177
--flavor os="${{ inputs.os }}" \
175178
--flavor test_task="${{ inputs.test-task }}" \
176179
--flavor test_opts="${test_opts}" \
177180
--flavor workflow="${{ github.workflow }}" \
178-
--test-suite ${test_all_test_suite} \
181+
--test-suite ${suite} \
179182
)
180183
launchable subset \
181184
--get-tests-from-previous-sessions \
182185
--non-blocking \
183186
--target 90% \
184-
--session "${test_all_session}" \
187+
--session "${session}" \
185188
raw > /dev/null
186-
echo test_all_session="${test_all_session}" >> $GITHUB_OUTPUT
187-
echo "TESTS=${TESTS} --launchable-test-reports=${test_all_report_file}" >> $GITHUB_ENV
189+
echo "${target}_session=${session}" >> $GITHUB_OUTPUT
190+
}
191+
192+
launchable record build --name "${build_name}"
193+
if launchable_setup test_all; then
194+
echo "TESTS=${TESTS:+$TESTS }--launchable-test-reports=${test_all_report_file}" >> $GITHUB_ENV
188195
fi
189-
if [ "${btest_enabled}" = "true" ]; then
190-
btest_session=$(launchable record session \
191-
--build "${build_name}" \
192-
--observation \
193-
--flavor os="${{ inputs.os }}" \
194-
--flavor test_task="${{ inputs.test-task }}" \
195-
--flavor test_opts="${test_opts}" \
196-
--flavor workflow="${{ github.workflow }}" \
197-
--test-suite ${btest_test_suite} \
198-
)
199-
launchable subset \
200-
--get-tests-from-previous-sessions \
201-
--non-blocking \
202-
--target 90% \
203-
--session "${btest_session}" \
204-
raw > /dev/null
205-
echo btest_session="${btest_session}" >> $GITHUB_OUTPUT
206-
echo "BTESTS=${BTESTS} --launchable-test-reports=${btest_report_file}" >> $GITHUB_ENV
196+
if launchable_setup btest; then
197+
echo "BTESTS=${BTESTS:+$BTESTS }--launchable-test-reports=${btest_report_file}" >> $GITHUB_ENV
207198
fi
208-
if [ "${test_spec_enabled}" = "true" ]; then
209-
test_spec_session=$(launchable record session \
210-
--build "${build_name}" \
211-
--observation \
212-
--flavor os="${{ inputs.os }}" \
213-
--flavor test_task="${{ inputs.test-task }}" \
214-
--flavor test_opts="${test_opts}" \
215-
--flavor workflow="${{ github.workflow }}" \
216-
--test-suite ${test_spec_test_suite} \
217-
)
218-
launchable subset \
219-
--get-tests-from-previous-sessions \
220-
--non-blocking \
221-
--target 90% \
222-
--session "${test_spec_session}" \
223-
raw > /dev/null
224-
echo test_spec_session="${test_spec_session}" >> $GITHUB_OUTPUT
225-
echo "SPECOPTS=${SPECOPTS} --launchable-test-reports=${test_spec_report_dir}" >> $GITHUB_ENV
199+
if launchable_setup test_spec; then
200+
echo "SPECOPTS=${SPECOPTS:$SPECOPTS }--launchable-test-reports=${test_spec_report_dir}" >> $GITHUB_ENV
226201
fi
227202
if: steps.enable-launchable.outputs.enable-launchable
228203
env:

0 commit comments

Comments
 (0)