diff options
author | Nobuyoshi Nakada <[email protected]> | 2025-06-16 19:14:41 +0900 |
---|---|---|
committer | Nobuyoshi Nakada <[email protected]> | 2025-06-19 21:17:56 +0900 |
commit | 82dfd44f937616ff31971f2d1e12a35bd022612c (patch) | |
tree | 7cf1f3ca87c78726f113ac1be51fd6120b18a725 | |
parent | 1b018d96d011418ad1822bf9b476338ed5c37d93 (diff) |
CI: Extract `launchable_setup` function
Notes
Notes:
Merged: https://github.com/ruby/ruby/pull/13623
-rw-r--r-- | .github/actions/launchable/setup/action.yml | 61 |
1 files changed, 18 insertions, 43 deletions
diff --git a/.github/actions/launchable/setup/action.yml b/.github/actions/launchable/setup/action.yml index 376a7dfed4..1cd28bf2d7 100644 --- a/.github/actions/launchable/setup/action.yml +++ b/.github/actions/launchable/setup/action.yml @@ -166,63 +166,38 @@ runs: btest_test_suite="yjit-${btest_test_suite}" test_spec_test_suite="yjit-${test_spec_test_suite}" fi - launchable record build --name "${build_name}" - if [ "${test_all_enabled}" = "true" ]; then - test_all_session=$(launchable record session \ + # launchable_setup target var -- refers ${target} prefixed variables + launchable_setup() { + local target=$1 session + eval [ "\${${target}_enabled}" = "true" ] || return + eval local suite=\${${target}_test_suite} + session=$(launchable record session \ --build "${build_name}" \ --observation \ --flavor os="${{ inputs.os }}" \ --flavor test_task="${{ inputs.test-task }}" \ --flavor test_opts="${test_opts}" \ --flavor workflow="${{ github.workflow }}" \ - --test-suite ${test_all_test_suite} \ + --test-suite ${suite} \ ) launchable subset \ --get-tests-from-previous-sessions \ --non-blocking \ --target 90% \ - --session "${test_all_session}" \ + --session "${session}" \ raw > /dev/null - echo test_all_session="${test_all_session}" >> $GITHUB_OUTPUT - echo "TESTS=${TESTS} --launchable-test-reports=${test_all_report_file}" >> $GITHUB_ENV + echo "${target}_session=${session}" >> $GITHUB_OUTPUT + } + + launchable record build --name "${build_name}" + if launchable_setup test_all; then + echo "TESTS=${TESTS:+$TESTS }--launchable-test-reports=${test_all_report_file}" >> $GITHUB_ENV fi - if [ "${btest_enabled}" = "true" ]; then - btest_session=$(launchable record session \ - --build "${build_name}" \ - --observation \ - --flavor os="${{ inputs.os }}" \ - --flavor test_task="${{ inputs.test-task }}" \ - --flavor test_opts="${test_opts}" \ - --flavor workflow="${{ github.workflow }}" \ - --test-suite ${btest_test_suite} \ - ) - launchable subset \ - --get-tests-from-previous-sessions \ - --non-blocking \ - --target 90% \ - --session "${btest_session}" \ - raw > /dev/null - echo btest_session="${btest_session}" >> $GITHUB_OUTPUT - echo "BTESTS=${BTESTS} --launchable-test-reports=${btest_report_file}" >> $GITHUB_ENV + if launchable_setup btest; then + echo "BTESTS=${BTESTS:+$BTESTS }--launchable-test-reports=${btest_report_file}" >> $GITHUB_ENV fi - if [ "${test_spec_enabled}" = "true" ]; then - test_spec_session=$(launchable record session \ - --build "${build_name}" \ - --observation \ - --flavor os="${{ inputs.os }}" \ - --flavor test_task="${{ inputs.test-task }}" \ - --flavor test_opts="${test_opts}" \ - --flavor workflow="${{ github.workflow }}" \ - --test-suite ${test_spec_test_suite} \ - ) - launchable subset \ - --get-tests-from-previous-sessions \ - --non-blocking \ - --target 90% \ - --session "${test_spec_session}" \ - raw > /dev/null - echo test_spec_session="${test_spec_session}" >> $GITHUB_OUTPUT - echo "SPECOPTS=${SPECOPTS} --launchable-test-reports=${test_spec_report_dir}" >> $GITHUB_ENV + if launchable_setup test_spec; then + echo "SPECOPTS=${SPECOPTS:$SPECOPTS }--launchable-test-reports=${test_spec_report_dir}" >> $GITHUB_ENV fi if: steps.enable-launchable.outputs.enable-launchable env: |