Skip to content

Commit b5aa0c4

Browse files
committed
CI: Extract launchable_setup function
1 parent 5037b8b commit b5aa0c4

1 file changed

Lines changed: 17 additions & 48 deletions

File tree

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

Lines changed: 17 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -150,8 +150,7 @@ runs:
150150
set -x
151151
pip install --user launchable
152152
: # The build name cannot include a slash, so we replace the string here.
153-
github_ref="${{ github.ref }}"
154-
github_ref="${github_ref//\//_}"
153+
github_ref="${GITHUB_ref//\//_}"
155154
: # With the --name option, we need to configure a unique identifier for this build.
156155
: # To avoid setting the same build name as the CI which runs on other branches, we use the branch name here.
157156
build_name="${github_ref}_${GITHUB_PR_HEAD_SHA}"
@@ -166,64 +165,34 @@ runs:
166165
btest_test_suite="yjit-${btest_test_suite}"
167166
test_spec_test_suite="yjit-${test_spec_test_suite}"
168167
fi
169-
launchable record build --name "${build_name}"
170-
if [ "${test_all_enabled}" = "true" ]; then
171-
test_all_session=$(launchable record session \
168+
# launchable_setup target var -- refers ${target} prefixed variables
169+
launchable_setup() {
170+
local target=$1 var=$2 session
171+
eval [ "\${${target}_enabled}" = "true" ] || return 0
172+
eval local suite=\${${target}_test_suite} report=\${${target}_report_file} oldval=\${${var}}
173+
session=$(launchable record session \
172174
--build "${build_name}" \
173175
--observation \
174176
--flavor os="${{ inputs.os }}" \
175177
--flavor test_task="${{ inputs.test-task }}" \
176178
--flavor test_opts="${test_opts}" \
177179
--flavor workflow="${{ github.workflow }}" \
178-
--test-suite ${test_all_test_suite} \
180+
--test-suite ${suite} \
179181
)
180182
launchable subset \
181183
--get-tests-from-previous-sessions \
182184
--non-blocking \
183185
--target 90% \
184-
--session "${test_all_session}" \
186+
--session "${session}" \
185187
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
188-
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
207-
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
226-
fi
188+
echo "${target}_session=${session}" >> $GITHUB_OUTPUT
189+
echo "$var=${oldval:+$oldval }--launchable-test-reports=$report" >> $GITHUB_ENV
190+
}
191+
192+
launchable record build --name "${build_name}"
193+
launchable_setup test_all TESTS
194+
launchable_setup btest BTESTS
195+
launchable_setup test_spec SPECOPTS
227196
if: steps.enable-launchable.outputs.enable-launchable
228197
env:
229198
test_all_enabled: ${{ steps.global.outputs.test_all_enabled }}

0 commit comments

Comments
 (0)