diff --git a/.github/actions/launchable/setup/action.yml b/.github/actions/launchable/setup/action.yml index cdcd14d59a..55f0f7883c 100644 --- a/.github/actions/launchable/setup/action.yml +++ b/.github/actions/launchable/setup/action.yml @@ -55,6 +55,17 @@ inputs: description: >- Whether this workflow is executed on YJIT. +outputs: + stdout_report_path: + value: ${{ steps.variables.outputs.stdout_report_path }} + description: >- + Report file path for standard output. + + stderr_report_path: + value: ${{ steps.variables.outputs.stderr_report_path }} + description: >- + Report file path for standard error. + runs: using: composite diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 2bfb7e037e..e85d95e729 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -115,6 +115,7 @@ jobs: if: ${{ matrix.test_task == 'check' && matrix.skipped_tests }} - name: Set up Launchable + id: launchable uses: ./.github/actions/launchable/setup with: os: ${{ matrix.os }} @@ -132,11 +133,8 @@ jobs: - name: make ${{ matrix.test_task }} run: | - if [ -n "${LAUNCHABLE_ORGANIZATION}" ]; then - exec \ - > >(tee launchable_stdout.log) \ - 2> >(tee launchable_stderr.log) - fi + ${LAUNCHABLE_STDOUT:+exec 1> >(tee "${LAUNCHABLE_STDOUT}")} + ${LAUNCHABLE_STDERR:+exec 2> >(tee "${LAUNCHABLE_STDERR}")} ulimit -c unlimited make -s ${{ matrix.test_task }} ${TESTS:+TESTS="$TESTS"} @@ -145,6 +143,8 @@ jobs: RUBY_TESTOPTS: '-q --tty=no' TEST_BUNDLED_GEMS_ALLOW_FAILURES: 'typeprof,rbs,repl_type_completor' PRECHECK_BUNDLED_GEMS: 'no' + LAUNCHABLE_STDOUT: ${{ steps.launchable.outputs.stdout_report_path }} + LAUNCHABLE_STDERR: ${{ steps.launchable.outputs.stderr_report_path }} - name: make skipped tests run: | diff --git a/.github/workflows/modgc.yml b/.github/workflows/modgc.yml index 1e64fd5109..e2bbe5bd0c 100644 --- a/.github/workflows/modgc.yml +++ b/.github/workflows/modgc.yml @@ -131,6 +131,7 @@ jobs: if: ${{ matrix.test_task == 'check' && matrix.skipped_tests }} - name: Set up Launchable + id: launchable uses: ./.github/actions/launchable/setup with: os: ${{ matrix.os || 'ubuntu-22.04' }} @@ -142,11 +143,8 @@ jobs: - name: make ${{ matrix.test_task }} run: | - if [ -n "${LAUNCHABLE_ORGANIZATION}" ]; then - exec \ - > >(tee launchable_stdout.log) \ - 2> >(tee launchable_stderr.log) - fi + ${LAUNCHABLE_STDOUT:+exec 1> >(tee "${LAUNCHABLE_STDOUT}")} + ${LAUNCHABLE_STDERR:+exec 2> >(tee "${LAUNCHABLE_STDERR}")} $SETARCH make -s ${{ matrix.test_task }} \ ${TESTS:+TESTS="$TESTS"} \ @@ -156,6 +154,8 @@ jobs: RUBY_TESTOPTS: '-q --tty=no' TEST_BUNDLED_GEMS_ALLOW_FAILURES: 'typeprof,rbs,repl_type_completor' PRECHECK_BUNDLED_GEMS: 'no' + LAUNCHABLE_STDOUT: ${{ steps.launchable.outputs.stdout_report_path }} + LAUNCHABLE_STDERR: ${{ steps.launchable.outputs.stderr_report_path }} - name: make skipped tests run: | diff --git a/.github/workflows/ubuntu.yml b/.github/workflows/ubuntu.yml index 018b7a86f0..a6aaef01a4 100644 --- a/.github/workflows/ubuntu.yml +++ b/.github/workflows/ubuntu.yml @@ -107,6 +107,7 @@ jobs: if: ${{ matrix.test_task == 'check' && matrix.skipped_tests }} - name: Set up Launchable + id: launchable uses: ./.github/actions/launchable/setup with: os: ${{ matrix.os || 'ubuntu-22.04' }} @@ -118,11 +119,8 @@ jobs: - name: make ${{ matrix.test_task }} run: | - if [ -n "${LAUNCHABLE_ORGANIZATION}" ]; then - exec \ - > >(tee launchable_stdout.log) \ - 2> >(tee launchable_stderr.log) - fi + ${LAUNCHABLE_STDOUT:+exec 1> >(tee "${LAUNCHABLE_STDOUT}")} + ${LAUNCHABLE_STDERR:+exec 2> >(tee "${LAUNCHABLE_STDERR}")} $SETARCH make -s ${{ matrix.test_task }} \ ${TESTS:+TESTS="$TESTS"} \ @@ -132,6 +130,8 @@ jobs: RUBY_TESTOPTS: '-q --tty=no' TEST_BUNDLED_GEMS_ALLOW_FAILURES: 'typeprof,rbs,repl_type_completor' PRECHECK_BUNDLED_GEMS: 'no' + LAUNCHABLE_STDOUT: ${{ steps.launchable.outputs.stdout_report_path }} + LAUNCHABLE_STDERR: ${{ steps.launchable.outputs.stderr_report_path }} - name: make skipped tests run: | diff --git a/.github/workflows/yjit-macos.yml b/.github/workflows/yjit-macos.yml index 054e06229c..00b949c9ce 100644 --- a/.github/workflows/yjit-macos.yml +++ b/.github/workflows/yjit-macos.yml @@ -130,6 +130,7 @@ jobs: if: ${{ matrix.test_task == 'check' && matrix.skipped_tests }} - name: Set up Launchable + id: launchable uses: ./.github/actions/launchable/setup with: os: macos-14 @@ -142,11 +143,8 @@ jobs: - name: make ${{ matrix.test_task }} run: | - if [ -n "${LAUNCHABLE_ORGANIZATION}" ]; then - exec \ - > >(tee launchable_stdout.log) \ - 2> >(tee launchable_stderr.log) - fi + ${LAUNCHABLE_STDOUT:+exec 1> >(tee "${LAUNCHABLE_STDOUT}")} + ${LAUNCHABLE_STDERR:+exec 2> >(tee "${LAUNCHABLE_STDERR}")} make -s ${{ matrix.test_task }} ${TESTS:+TESTS="$TESTS"} \ RUN_OPTS="$RUN_OPTS" \ @@ -157,6 +155,8 @@ jobs: TEST_BUNDLED_GEMS_ALLOW_FAILURES: 'typeprof,rbs,repl_type_completor' SYNTAX_SUGGEST_TIMEOUT: '5' PRECHECK_BUNDLED_GEMS: 'no' + LAUNCHABLE_STDOUT: ${{ steps.launchable.outputs.stdout_report_path }} + LAUNCHABLE_STDERR: ${{ steps.launchable.outputs.stderr_report_path }} continue-on-error: ${{ matrix.continue-on-test_task || false }} - name: make skipped tests diff --git a/.github/workflows/yjit-ubuntu.yml b/.github/workflows/yjit-ubuntu.yml index 497b20dd88..9087c968c2 100644 --- a/.github/workflows/yjit-ubuntu.yml +++ b/.github/workflows/yjit-ubuntu.yml @@ -178,6 +178,7 @@ jobs: run: ./miniruby --yjit -v | grep "+YJIT" - name: Set up Launchable + id: launchable uses: ./.github/actions/launchable/setup with: os: ubuntu-22.04 @@ -190,11 +191,8 @@ jobs: - name: make ${{ matrix.test_task }} run: | - if [ -n "${LAUNCHABLE_ORGANIZATION}" ]; then - exec \ - > >(tee launchable_stdout.log) \ - 2> >(tee launchable_stderr.log) - fi + ${LAUNCHABLE_STDOUT:+exec 1> >(tee "${LAUNCHABLE_STDOUT}")} + ${LAUNCHABLE_STDERR:+exec 2> >(tee "${LAUNCHABLE_STDERR}")} make -s ${{ matrix.test_task }} ${TESTS:+TESTS="$TESTS"} \ RUN_OPTS="$RUN_OPTS" MSPECOPT=--debug SPECOPTS="$SPECOPTS" \ @@ -207,6 +205,8 @@ jobs: SYNTAX_SUGGEST_TIMEOUT: '5' YJIT_BINDGEN_DIFF_OPTS: '--exit-code' LIBCLANG_PATH: ${{ matrix.libclang_path }} + LAUNCHABLE_STDOUT: ${{ steps.launchable.outputs.stdout_report_path }} + LAUNCHABLE_STDERR: ${{ steps.launchable.outputs.stderr_report_path }} continue-on-error: ${{ matrix.continue-on-test_task || false }} - name: Show ${{ github.event.pull_request.base.ref }} GitHub URL for yjit-bench comparison