Repository navigation
gh run view --log -j <job_id> erroneously returns no stdout/stderr, exits 0 #10853
Description
Activity
Can you add your
gh versionhere please.I was on 2.69.0 (via Homebrew, on macOS 15.4) yesterday when I observed the issue.
I ran
brew upgradethis AM and now have:gh version # gh version 2.71.0 (2025-04-23) # https://github.com/cli/cli/releases/tag/v2.71.0
Re-running my examples from OP, I now see:
gh run -R single-cell-data/TileDB-SOMA view --log -j 41013280987 # ❌ exits 0, no output (same as yesterday) gh run -R single-cell-data/TileDB-SOMA view --log -j 40986064176 # ❌ exits 0, no output (same as yesterday) gh run -R single-cell-data/TileDB-SOMA view --log -j 41015499160 # ❌ exits 0, no output (same as yesterday) gh run -R single-cell-data/TileDB-SOMA view --log -j 41001342582 # 🚨 returns logs today (didn't yesterday); simple "control" job (no workflow_call or matrix) gh run -R ryan-williams/TileDB-SOMA view --log -j 41020345782 | wc # Same as yesterday # 17335 272882 3063392
I'm now getting logs for job 41001342582, which was my "control" yesterday (no
workflow_callormatrix).However, I'm still getting no logs for 41013280987, but yes logs for 41020345782, even though they are the same job (just run in upstream vs. fork).
I'm also still getting no logs for:
- 40986064176 (different workflow than the above, but similar structure:
matrixentriesworkflow_callanother workflow, which contains multiple jobs, resulting in/s in job-names), and - 41015499160 (simple matrix, no
workflow_callor sub-jobs with/s).
I'd think you could run any of these commands and see the same things; can you confirm?
- 40986064176 (different workflow than the above, but similar structure:
Just FWIW we released 2.71.1 10 minutes ago to fix a bug in
pr create.Yes I see the same thing as you, just wanted to get you moved forward to a version that included the most recent log fixes.
I would expect any workflows with
/in names to not work. So I think we just need to understand https://github.com/single-cell-data/TileDB-SOMA/actions/runs/14615136857/job/41015499160Will have a look now.
- addedplatformProblems with the GitHub platform rather than the CLI clientProblems with the GitHub platform rather than the CLI client
on Apr 24, 2025 As far as I'm concerned, the log service is returning incorrect logs for https://github.com/single-cell-data/TileDB-SOMA/actions/runs/14615136857
For example, under the covers (you can check using
GH_DEBUG=api) ,gh run -R single-cell-data/TileDB-SOMA view --log -j 41015499160makes a requests for all logs for the run with the intention to prune them client side.* Request to https://api.github.com/repos/single-cell-data/TileDB-SOMA/actions/runs/14615136857/logs > GET /repos/single-cell-data/TileDB-SOMA/actions/runs/14615136857/logs HTTP/1.1But the content of the returned zip only contains one job (Ubuntu 1.15.7):
➜ gh tree . ├── 17_Ubuntu 1.15.7.txt ├── Ubuntu 1.15.7 │ └── system.txt └── run-log-14615136857-1745415139.zipSee that fetching the logs for that particular job actually does work (cache needs to be cleared first, usually lives in
$XDG_CACHE_HOME/ghor~/.cache/gh):➜ gh gh run -R single-cell-data/TileDB-SOMA view --log -j 41015489178 | cat Ubuntu 1.15.7 UNKNOWN STEP 2025-04-23T13:33:19.7504313Z Current runner version: '2.323.0' Ubuntu 1.15.7 UNKNOWN STEP 2025-04-23T13:33:19.7533836Z ##[group]Operating System Ubuntu 1.15.7 UNKNOWN STEP 2025-04-23T13:33:19.7535221Z Ubuntu Ubuntu 1.15.7 UNKNOWN STEP 2025-04-23T13:33:19.7535727Z 24.04.2 Ubuntu 1.15.7 UNKNOWN STEP 2025-04-23T13:33:19.7536387Z LTSGoing to ask the team that owns logs about this.
Thanks, just one note re:
I would expect any workflows with
/in names to not work41020345782 has
/s in job names, and returns logs fine. The only difference I've ID'd between it and 41013280987 is which repo they ran in:gh run -R single-cell-data/TileDB-SOMA view --log -j 41013280987 # ❌ No logs gh run -R ryan-williams/TileDB-SOMA view --log -j 41020345782 | wc # ✅ Yes logs # 17335 272882 3063392
When I download log archives for both (from web UI), I see similar structure as you showed yesterday (with
_substituted for/), except:- 41013280987 (broken via
gh) includes a directory and a file for each job - 41020345782 (OK via
gh) only has a file per job
ll 41020345782 # ✅ job from fork, returns logs via `gh` # total 20080 # -rw-r--r-- 1 ryan staff 1954104 Dec 31 1979 0_build (macos-latest, 3.10) _ build.txt # -rw-r--r-- 1 ryan staff 2108126 Dec 31 1979 10_build (ubuntu-24.04, 3.10) _ build.txt # -rw-r--r-- 1 ryan staff 2108443 Dec 31 1979 12_build (ubuntu-24.04, 3.11) _ build.txt # -rw-r--r-- 1 ryan staff 25546 Dec 31 1979 13_build (ubuntu-24.04, 3.11) _ lint.txt # -rw-r--r-- 1 ryan staff 2108208 Dec 31 1979 14_build (ubuntu-24.04, 3.12) _ build.txt # -rw-r--r-- 1 ryan staff 2130050 Dec 31 1979 16_build (ubuntu-24.04, 3.13) _ build.txt # -rw-r--r-- 1 ryan staff 2192868 Dec 31 1979 19_build (ubuntu-24.04, 3.9) _ build.txt # -rw-r--r-- 1 ryan staff 1944599 Dec 31 1979 2_build (macos-latest, 3.11) _ build.txt # -rw-r--r-- 1 ryan staff 1952013 Dec 31 1979 5_build (macos-latest, 3.12) _ build.txt # -rw-r--r-- 1 ryan staff 1972562 Dec 31 1979 6_build (macos-latest, 3.13) _ build.txt # -rw-r--r-- 1 ryan staff 2040696 Dec 31 1979 8_build (macos-latest, 3.9) _ build.txt ll 41013280987 # ❌ job from upstream, doesn't return logs via `gh` # total 20072 # -rw-r--r-- 1 ryan staff 1993470 Dec 31 1979 10_build (macos-latest, 3.13) _ build.txt # -rw-r--r-- 1 ryan staff 24094 Dec 31 1979 12_build (ubuntu-24.04, 3.11) _ lint.txt # -rw-r--r-- 1 ryan staff 2094012 Dec 31 1979 13_build (ubuntu-24.04, 3.12) _ build.txt # -rw-r--r-- 1 ryan staff 2129461 Dec 31 1979 14_build (ubuntu-24.04, 3.10) _ build.txt # -rw-r--r-- 1 ryan staff 2022593 Dec 31 1979 15_build (macos-latest, 3.9) _ build.txt # -rw-r--r-- 1 ryan staff 1977244 Dec 31 1979 16_build (macos-latest, 3.10) _ build.txt # -rw-r--r-- 1 ryan staff 2094028 Dec 31 1979 18_build (ubuntu-24.04, 3.11) _ build.txt # -rw-r--r-- 1 ryan staff 1971479 Dec 31 1979 19_build (macos-latest, 3.11) _ build.txt # -rw-r--r-- 1 ryan staff 2115907 Dec 31 1979 7_build (ubuntu-24.04, 3.13) _ build.txt # -rw-r--r-- 1 ryan staff 1934162 Dec 31 1979 8_build (macos-latest, 3.12) _ build.txt # -rw-r--r-- 1 ryan staff 2178955 Dec 31 1979 9_build (ubuntu-24.04, 3.9) _ build.txt # drwxr-xr-x 3 ryan staff 96 Apr 24 10:27 build (macos-latest, 3.10) _ build # drwxr-xr-x 3 ryan staff 96 Apr 24 10:27 build (macos-latest, 3.11) _ build # drwxr-xr-x 3 ryan staff 96 Apr 24 10:27 build (macos-latest, 3.12) _ build # drwxr-xr-x 3 ryan staff 96 Apr 24 10:27 build (macos-latest, 3.13) _ build # drwxr-xr-x 3 ryan staff 96 Apr 24 10:27 build (macos-latest, 3.9) _ build # drwxr-xr-x 3 ryan staff 96 Apr 24 10:27 build (ubuntu-24.04, 3.10) _ build # drwxr-xr-x 3 ryan staff 96 Apr 24 10:27 build (ubuntu-24.04, 3.11) _ build # drwxr-xr-x 3 ryan staff 96 Apr 24 10:27 build (ubuntu-24.04, 3.11) _ lint # drwxr-xr-x 3 ryan staff 96 Apr 24 10:27 build (ubuntu-24.04, 3.12) _ build # drwxr-xr-x 3 ryan staff 96 Apr 24 10:27 build (ubuntu-24.04, 3.13) _ build # drwxr-xr-x 3 ryan staff 96 Apr 24 10:27 build (ubuntu-24.04, 3.9) _ build
- 41013280987 (broken via
I think what's happening with https://github.com/single-cell-data/TileDB-SOMA/actions/runs/14615136857 (thanks other team) is that you re-ran failed jobs:
By default
ghgrabs the latest zip logs for a run, which in this case only includes the job you reran. You can validate this by getting logs from the first run with:gh run -R single-cell-data/TileDB-SOMA view --attempt 1 --log -j 41015499160It seems like the UI does some work to stitch runs together. Maybe that's a feature we should look to support as well.
In terms of your comment in #10853 (comment), I think this is because one log is being served by the old log service and one log is being served by the new log service. I actually don't see the same
_usage as you, so perhaps you can double check that. Here's what I see when runninggh run -R ryan-williams/TileDB-SOMA view --log -j 41020345782(note no_just blank):➜ run-log-14620886373-1745418926 tree . ├── -2147172352_build.txt ├── -2147188736_lint.txt ├── -2147205120_build.txt ├── -2147221504_lint.txt ├── -2147237888_build.txt ├── -2147254272_lint.txt ├── -2147270656_build.txt ├── -2147287040_lint.txt ├── -2147303424_build.txt ├── -2147319808_lint.txt ├── -2147336192_build.txt ├── -2147352576_lint.txt ├── -2147368960_build.txt ├── -2147385344_lint.txt ├── -2147401728_build.txt ├── -2147418112_lint.txt ├── -2147434496_build.txt ├── -2147450880_lint.txt ├── -2147467264_build.txt ├── -2147483648_lint.txt ├── 0_build (macos-latest, 3.10) build.txt ├── 0_build (macos-latest, 3.11) build.txt ├── 0_build (macos-latest, 3.12) build.txt ├── 0_build (macos-latest, 3.13) build.txt ├── 0_build (macos-latest, 3.9) build.txt ├── 0_build (ubuntu-24.04, 3.10) build.txt ├── 0_build (ubuntu-24.04, 3.11) build.txt ├── 0_build (ubuntu-24.04, 3.11) lint.txt ├── 0_build (ubuntu-24.04, 3.12) build.txt ├── 0_build (ubuntu-24.04, 3.13) build.txt ├── 0_build (ubuntu-24.04, 3.9) build.txt ├── build (macos-latest, 3.10) build │ ├── 10_Show package versions.txt │ ├── 11_Show XCode version.txt │ ├── 12_Log pip dependencies.txt │ ├── 13_Run libtiledbsoma unit tests.txt │ ├── 14_Run pytests for Python.txt │ ├── 1_Set up job.txt │ ├── 29_Post Set up Python 3.10.txt │ ├── 2_Show matrix OS.txt │ ├── 30_Post Checkout TileDB-SOMA.txt │ ├── 31_Complete job.txt │ ├── 4_MacOS CPU info.txt │ ├── 5_Select XCode version.txt │ ├── 6_Checkout TileDB-SOMA.txt │ ├── 7_Set Up Test Data.txt │ ├── 8_Set up Python 3.10.txt │ └── 9_Install tiledbsoma.txt ├── build (macos-latest, 3.10) lint ├── build (macos-latest, 3.11) build │ ├── 10_Show package versions.txt │ ├── 11_Show XCode version.txt │ ├── 12_Log pip dependencies.txt │ ├── 13_Run libtiledbsoma unit tests.txt │ ├── 14_Run pytests for Python.txt │ ├── 1_Set up job.txt │ ├── 29_Post Set up Python 3.11.txt │ ├── 2_Show matrix OS.txt │ ├── 30_Post Checkout TileDB-SOMA.txt │ ├── 31_Complete job.txt │ ├── 4_MacOS CPU info.txt │ ├── 5_Select XCode version.txt │ ├── 6_Checkout TileDB-SOMA.txt │ ├── 7_Set Up Test Data.txt │ ├── 8_Set up Python 3.11.txt │ └── 9_Install tiledbsoma.txt ├── build (macos-latest, 3.11) lint ├── build (macos-latest, 3.12) build │ ├── 10_Show package versions.txt │ ├── 11_Show XCode version.txt │ ├── 12_Log pip dependencies.txt │ ├── 13_Run libtiledbsoma unit tests.txt │ ├── 14_Run pytests for Python.txt │ ├── 1_Set up job.txt │ ├── 29_Post Set up Python 3.12.txt │ ├── 2_Show matrix OS.txt │ ├── 30_Post Checkout TileDB-SOMA.txt │ ├── 31_Complete job.txt │ ├── 4_MacOS CPU info.txt │ ├── 5_Select XCode version.txt │ ├── 6_Checkout TileDB-SOMA.txt │ ├── 7_Set Up Test Data.txt │ ├── 8_Set up Python 3.12.txt │ └── 9_Install tiledbsoma.txt ├── build (macos-latest, 3.12) lint ├── build (macos-latest, 3.13) build │ ├── 10_Show package versions.txt │ ├── 11_Show XCode version.txt │ ├── 12_Log pip dependencies.txt │ ├── 13_Run libtiledbsoma unit tests.txt │ ├── 14_Run pytests for Python.txt │ ├── 1_Set up job.txt │ ├── 29_Post Set up Python 3.13.txt │ ├── 2_Show matrix OS.txt │ ├── 30_Post Checkout TileDB-SOMA.txt │ ├── 31_Complete job.txt │ ├── 4_MacOS CPU info.txt │ ├── 5_Select XCode version.txt │ ├── 6_Checkout TileDB-SOMA.txt │ ├── 7_Set Up Test Data.txt │ ├── 8_Set up Python 3.13.txt │ └── 9_Install tiledbsoma.txt ├── build (macos-latest, 3.13) lint ├── build (macos-latest, 3.9) build │ ├── 10_Show package versions.txt │ ├── 11_Show XCode version.txt │ ├── 12_Log pip dependencies.txt │ ├── 13_Run libtiledbsoma unit tests.txt │ ├── 14_Run pytests for Python.txt │ ├── 1_Set up job.txt │ ├── 29_Post Set up Python 3.9.txt │ ├── 2_Show matrix OS.txt │ ├── 30_Post Checkout TileDB-SOMA.txt │ ├── 31_Complete job.txt │ ├── 4_MacOS CPU info.txt │ ├── 5_Select XCode version.txt │ ├── 6_Checkout TileDB-SOMA.txt │ ├── 7_Set Up Test Data.txt │ ├── 8_Set up Python 3.9.txt │ └── 9_Install tiledbsoma.txt ├── build (macos-latest, 3.9) lint ├── build (ubuntu-24.04, 3.10) build │ ├── 10_Show package versions.txt │ ├── 11_Show XCode version.txt │ ├── 12_Log pip dependencies.txt │ ├── 13_Run libtiledbsoma unit tests.txt │ ├── 14_Run pytests for Python.txt │ ├── 1_Set up job.txt │ ├── 29_Post Set up Python 3.10.txt │ ├── 2_Show matrix OS.txt │ ├── 30_Post Checkout TileDB-SOMA.txt │ ├── 31_Complete job.txt │ ├── 3_Linux CPU info.txt │ ├── 6_Checkout TileDB-SOMA.txt │ ├── 7_Set Up Test Data.txt │ ├── 8_Set up Python 3.10.txt │ └── 9_Install tiledbsoma.txt ├── build (ubuntu-24.04, 3.10) lint ├── build (ubuntu-24.04, 3.11) build │ ├── 10_Show package versions.txt │ ├── 11_Show XCode version.txt │ ├── 12_Log pip dependencies.txt │ ├── 13_Run libtiledbsoma unit tests.txt │ ├── 14_Run pytests for Python.txt │ ├── 15_Report coverage to Codecov.txt │ ├── 1_Set up job.txt │ ├── 29_Post Set up Python 3.11.txt │ ├── 2_Show matrix OS.txt │ ├── 30_Post Checkout TileDB-SOMA.txt │ ├── 31_Complete job.txt │ ├── 3_Linux CPU info.txt │ ├── 6_Checkout TileDB-SOMA.txt │ ├── 7_Set Up Test Data.txt │ ├── 8_Set up Python 3.11.txt │ └── 9_Install tiledbsoma.txt ├── build (ubuntu-24.04, 3.11) lint │ ├── 14_Post Restore pre-commit cache.txt │ ├── 15_Post Set up Python.txt │ ├── 16_Post Checkout TileDB-SOMA.txt │ ├── 17_Complete job.txt │ ├── 1_Set up job.txt │ ├── 2_Checkout TileDB-SOMA.txt │ ├── 3_Set up Python.txt │ ├── 4_Restore pre-commit cache.txt │ ├── 5_Install pre-commit.txt │ ├── 6_Log pip dependencies.txt │ ├── 7_Run pre-commit hooks on all files.txt │ └── 8_Check C++ Format.txt ├── build (ubuntu-24.04, 3.12) build │ ├── 10_Show package versions.txt │ ├── 11_Show XCode version.txt │ ├── 12_Log pip dependencies.txt │ ├── 13_Run libtiledbsoma unit tests.txt │ ├── 14_Run pytests for Python.txt │ ├── 1_Set up job.txt │ ├── 29_Post Set up Python 3.12.txt │ ├── 2_Show matrix OS.txt │ ├── 30_Post Checkout TileDB-SOMA.txt │ ├── 31_Complete job.txt │ ├── 3_Linux CPU info.txt │ ├── 6_Checkout TileDB-SOMA.txt │ ├── 7_Set Up Test Data.txt │ ├── 8_Set up Python 3.12.txt │ └── 9_Install tiledbsoma.txt ├── build (ubuntu-24.04, 3.12) lint ├── build (ubuntu-24.04, 3.13) build │ ├── 10_Show package versions.txt │ ├── 11_Show XCode version.txt │ ├── 12_Log pip dependencies.txt │ ├── 13_Run libtiledbsoma unit tests.txt │ ├── 14_Run pytests for Python.txt │ ├── 1_Set up job.txt │ ├── 29_Post Set up Python 3.13.txt │ ├── 2_Show matrix OS.txt │ ├── 30_Post Checkout TileDB-SOMA.txt │ ├── 31_Complete job.txt │ ├── 3_Linux CPU info.txt │ ├── 6_Checkout TileDB-SOMA.txt │ ├── 7_Set Up Test Data.txt │ ├── 8_Set up Python 3.13.txt │ └── 9_Install tiledbsoma.txt ├── build (ubuntu-24.04, 3.13) lint ├── build (ubuntu-24.04, 3.9) build │ ├── 10_Show package versions.txt │ ├── 11_Show XCode version.txt │ ├── 12_Log pip dependencies.txt │ ├── 13_Run libtiledbsoma unit tests.txt │ ├── 14_Run pytests for Python.txt │ ├── 1_Set up job.txt │ ├── 29_Post Set up Python 3.9.txt │ ├── 2_Show matrix OS.txt │ ├── 30_Post Checkout TileDB-SOMA.txt │ ├── 31_Complete job.txt │ ├── 3_Linux CPU info.txt │ ├── 6_Checkout TileDB-SOMA.txt │ ├── 7_Set Up Test Data.txt │ ├── 8_Set up Python 3.9.txt │ └── 9_Install tiledbsoma.txt └── build (ubuntu-24.04, 3.9) lint41015499160
Interesting catch! Re-stating the apparent issue:
- 41015499160 is attempt 1 of 1 (of that job), in workflow run 14615136857
- Other jobs in the workflow were re-run (due to 1st attempts failing), so "attempt 2" exists for them (but not for 41015499160)
- By default,
ghlooks for the max attempt across jobs in the workflow (in this case 2), then looks for that attempt within each job (even if the job in question wasn't run that many times). ghdoesn't warn or error about it, silently fails but exits 0.
The last 2 bullets each seem like potential standalone issues.
Double-checking:
cmd=(gh run -R single-cell-data/TileDB-SOMA view --log -j 41015499160) "${cmd[@]}" # ❌ no output, exits 0 "${cmd[@]}" --attempt 1 | wc # ✅ emits logs, as expected # 4233 50546 614051
41013280987 / 41020345782
re:
I actually don't see the same
_usage as you, so perhaps you can double check that. Here's what I see when runninggh run -R ryan-williams/TileDB-SOMA view --log -j 41020345782(note no_just blank):➜ run-log-14620886373-1745418926 tree ...I'm unclear how you got from that
gh runcommand to atree-able directory, but here's my attempt at it:download_unzip_tree() { repo="$1" workflow="$2" gh api /repos/$repo/actions/runs/$workflow/logs > $workflow.zip unzip -d $workflow{,.zip} >/dev/null (cd $workflow && tree) }
download_unzip_tree single-cell-data/TileDB-SOMA 14618823537. ├── 10_build (macos-latest, 3.13) _ build.txt ├── 12_build (ubuntu-24.04, 3.11) _ lint.txt ├── 13_build (ubuntu-24.04, 3.12) _ build.txt ├── 14_build (ubuntu-24.04, 3.10) _ build.txt ├── 15_build (macos-latest, 3.9) _ build.txt ├── 16_build (macos-latest, 3.10) _ build.txt ├── 18_build (ubuntu-24.04, 3.11) _ build.txt ├── 19_build (macos-latest, 3.11) _ build.txt ├── 7_build (ubuntu-24.04, 3.13) _ build.txt ├── 8_build (macos-latest, 3.12) _ build.txt ├── 9_build (ubuntu-24.04, 3.9) _ build.txt ├── build (macos-latest, 3.10) _ build │ └── system.txt ├── build (macos-latest, 3.11) _ build │ └── system.txt ├── build (macos-latest, 3.12) _ build │ └── system.txt ├── build (macos-latest, 3.13) _ build │ └── system.txt ├── build (macos-latest, 3.9) _ build │ └── system.txt ├── build (ubuntu-24.04, 3.10) _ build │ └── system.txt ├── build (ubuntu-24.04, 3.11) _ build │ └── system.txt ├── build (ubuntu-24.04, 3.11) _ lint │ └── system.txt ├── build (ubuntu-24.04, 3.12) _ build │ └── system.txt ├── build (ubuntu-24.04, 3.13) _ build │ └── system.txt └── build (ubuntu-24.04, 3.9) _ build └── system.txt 12 directories, 22 filesdownload_unzip_tree ryan-williams/TileDB-SOMA 14620886373. ├── -2147172352_build.txt ├── -2147188736_lint.txt ├── -2147205120_build.txt ├── -2147221504_lint.txt ├── -2147237888_build.txt ├── -2147254272_lint.txt ├── -2147270656_build.txt ├── -2147287040_lint.txt ├── -2147303424_build.txt ├── -2147319808_lint.txt ├── -2147336192_build.txt ├── -2147352576_lint.txt ├── -2147368960_build.txt ├── -2147385344_lint.txt ├── -2147401728_build.txt ├── -2147418112_lint.txt ├── -2147434496_build.txt ├── -2147450880_lint.txt ├── -2147467264_build.txt ├── -2147483648_lint.txt ├── 0_build (macos-latest, 3.10) build.txt ├── 0_build (macos-latest, 3.11) build.txt ├── 0_build (macos-latest, 3.12) build.txt ├── 0_build (macos-latest, 3.13) build.txt ├── 0_build (macos-latest, 3.9) build.txt ├── 0_build (ubuntu-24.04, 3.10) build.txt ├── 0_build (ubuntu-24.04, 3.11) build.txt ├── 0_build (ubuntu-24.04, 3.11) lint.txt ├── 0_build (ubuntu-24.04, 3.12) build.txt ├── 0_build (ubuntu-24.04, 3.13) build.txt ├── 0_build (ubuntu-24.04, 3.9) build.txt ├── build (macos-latest, 3.10) build │ ├── 1_Set up job.txt │ ├── 10_Show package versions.txt │ ├── 11_Show XCode version.txt │ ├── 12_Log pip dependencies.txt │ ├── 13_Run libtiledbsoma unit tests.txt │ ├── 14_Run pytests for Python.txt │ ├── 2_Show matrix OS.txt │ ├── 29_Post Set up Python 3.10.txt │ ├── 30_Post Checkout TileDB-SOMA.txt │ ├── 31_Complete job.txt │ ├── 4_MacOS CPU info.txt │ ├── 5_Select XCode version.txt │ ├── 6_Checkout TileDB-SOMA.txt │ ├── 7_Set Up Test Data.txt │ ├── 8_Set up Python 3.10.txt │ └── 9_Install tiledbsoma.txt ├── build (macos-latest, 3.10) lint ├── build (macos-latest, 3.11) build │ ├── 1_Set up job.txt │ ├── 10_Show package versions.txt │ ├── 11_Show XCode version.txt │ ├── 12_Log pip dependencies.txt │ ├── 13_Run libtiledbsoma unit tests.txt │ ├── 14_Run pytests for Python.txt │ ├── 2_Show matrix OS.txt │ ├── 29_Post Set up Python 3.11.txt │ ├── 30_Post Checkout TileDB-SOMA.txt │ ├── 31_Complete job.txt │ ├── 4_MacOS CPU info.txt │ ├── 5_Select XCode version.txt │ ├── 6_Checkout TileDB-SOMA.txt │ ├── 7_Set Up Test Data.txt │ ├── 8_Set up Python 3.11.txt │ └── 9_Install tiledbsoma.txt ├── build (macos-latest, 3.11) lint ├── build (macos-latest, 3.12) build │ ├── 1_Set up job.txt │ ├── 10_Show package versions.txt │ ├── 11_Show XCode version.txt │ ├── 12_Log pip dependencies.txt │ ├── 13_Run libtiledbsoma unit tests.txt │ ├── 14_Run pytests for Python.txt │ ├── 2_Show matrix OS.txt │ ├── 29_Post Set up Python 3.12.txt │ ├── 30_Post Checkout TileDB-SOMA.txt │ ├── 31_Complete job.txt │ ├── 4_MacOS CPU info.txt │ ├── 5_Select XCode version.txt │ ├── 6_Checkout TileDB-SOMA.txt │ ├── 7_Set Up Test Data.txt │ ├── 8_Set up Python 3.12.txt │ └── 9_Install tiledbsoma.txt ├── build (macos-latest, 3.12) lint ├── build (macos-latest, 3.13) build │ ├── 1_Set up job.txt │ ├── 10_Show package versions.txt │ ├── 11_Show XCode version.txt │ ├── 12_Log pip dependencies.txt │ ├── 13_Run libtiledbsoma unit tests.txt │ ├── 14_Run pytests for Python.txt │ ├── 2_Show matrix OS.txt │ ├── 29_Post Set up Python 3.13.txt │ ├── 30_Post Checkout TileDB-SOMA.txt │ ├── 31_Complete job.txt │ ├── 4_MacOS CPU info.txt │ ├── 5_Select XCode version.txt │ ├── 6_Checkout TileDB-SOMA.txt │ ├── 7_Set Up Test Data.txt │ ├── 8_Set up Python 3.13.txt │ └── 9_Install tiledbsoma.txt ├── build (macos-latest, 3.13) lint ├── build (macos-latest, 3.9) build │ ├── 1_Set up job.txt │ ├── 10_Show package versions.txt │ ├── 11_Show XCode version.txt │ ├── 12_Log pip dependencies.txt │ ├── 13_Run libtiledbsoma unit tests.txt │ ├── 14_Run pytests for Python.txt │ ├── 2_Show matrix OS.txt │ ├── 29_Post Set up Python 3.9.txt │ ├── 30_Post Checkout TileDB-SOMA.txt │ ├── 31_Complete job.txt │ ├── 4_MacOS CPU info.txt │ ├── 5_Select XCode version.txt │ ├── 6_Checkout TileDB-SOMA.txt │ ├── 7_Set Up Test Data.txt │ ├── 8_Set up Python 3.9.txt │ └── 9_Install tiledbsoma.txt ├── build (macos-latest, 3.9) lint ├── build (ubuntu-24.04, 3.10) build │ ├── 1_Set up job.txt │ ├── 10_Show package versions.txt │ ├── 11_Show XCode version.txt │ ├── 12_Log pip dependencies.txt │ ├── 13_Run libtiledbsoma unit tests.txt │ ├── 14_Run pytests for Python.txt │ ├── 2_Show matrix OS.txt │ ├── 29_Post Set up Python 3.10.txt │ ├── 3_Linux CPU info.txt │ ├── 30_Post Checkout TileDB-SOMA.txt │ ├── 31_Complete job.txt │ ├── 6_Checkout TileDB-SOMA.txt │ ├── 7_Set Up Test Data.txt │ ├── 8_Set up Python 3.10.txt │ └── 9_Install tiledbsoma.txt ├── build (ubuntu-24.04, 3.10) lint ├── build (ubuntu-24.04, 3.11) build │ ├── 1_Set up job.txt │ ├── 10_Show package versions.txt │ ├── 11_Show XCode version.txt │ ├── 12_Log pip dependencies.txt │ ├── 13_Run libtiledbsoma unit tests.txt │ ├── 14_Run pytests for Python.txt │ ├── 15_Report coverage to Codecov.txt │ ├── 2_Show matrix OS.txt │ ├── 29_Post Set up Python 3.11.txt │ ├── 3_Linux CPU info.txt │ ├── 30_Post Checkout TileDB-SOMA.txt │ ├── 31_Complete job.txt │ ├── 6_Checkout TileDB-SOMA.txt │ ├── 7_Set Up Test Data.txt │ ├── 8_Set up Python 3.11.txt │ └── 9_Install tiledbsoma.txt ├── build (ubuntu-24.04, 3.11) lint │ ├── 1_Set up job.txt │ ├── 14_Post Restore pre-commit cache.txt │ ├── 15_Post Set up Python.txt │ ├── 16_Post Checkout TileDB-SOMA.txt │ ├── 17_Complete job.txt │ ├── 2_Checkout TileDB-SOMA.txt │ ├── 3_Set up Python.txt │ ├── 4_Restore pre-commit cache.txt │ ├── 5_Install pre-commit.txt │ ├── 6_Log pip dependencies.txt │ ├── 7_Run pre-commit hooks on all files.txt │ └── 8_Check C++ Format.txt ├── build (ubuntu-24.04, 3.12) build │ ├── 1_Set up job.txt │ ├── 10_Show package versions.txt │ ├── 11_Show XCode version.txt │ ├── 12_Log pip dependencies.txt │ ├── 13_Run libtiledbsoma unit tests.txt │ ├── 14_Run pytests for Python.txt │ ├── 2_Show matrix OS.txt │ ├── 29_Post Set up Python 3.12.txt │ ├── 3_Linux CPU info.txt │ ├── 30_Post Checkout TileDB-SOMA.txt │ ├── 31_Complete job.txt │ ├── 6_Checkout TileDB-SOMA.txt │ ├── 7_Set Up Test Data.txt │ ├── 8_Set up Python 3.12.txt │ └── 9_Install tiledbsoma.txt ├── build (ubuntu-24.04, 3.12) lint ├── build (ubuntu-24.04, 3.13) build │ ├── 1_Set up job.txt │ ├── 10_Show package versions.txt │ ├── 11_Show XCode version.txt │ ├── 12_Log pip dependencies.txt │ ├── 13_Run libtiledbsoma unit tests.txt │ ├── 14_Run pytests for Python.txt │ ├── 2_Show matrix OS.txt │ ├── 29_Post Set up Python 3.13.txt │ ├── 3_Linux CPU info.txt │ ├── 30_Post Checkout TileDB-SOMA.txt │ ├── 31_Complete job.txt │ ├── 6_Checkout TileDB-SOMA.txt │ ├── 7_Set Up Test Data.txt │ ├── 8_Set up Python 3.13.txt │ └── 9_Install tiledbsoma.txt ├── build (ubuntu-24.04, 3.13) lint ├── build (ubuntu-24.04, 3.9) build │ ├── 1_Set up job.txt │ ├── 10_Show package versions.txt │ ├── 11_Show XCode version.txt │ ├── 12_Log pip dependencies.txt │ ├── 13_Run libtiledbsoma unit tests.txt │ ├── 14_Run pytests for Python.txt │ ├── 2_Show matrix OS.txt │ ├── 29_Post Set up Python 3.9.txt │ ├── 3_Linux CPU info.txt │ ├── 30_Post Checkout TileDB-SOMA.txt │ ├── 31_Complete job.txt │ ├── 6_Checkout TileDB-SOMA.txt │ ├── 7_Set Up Test Data.txt │ ├── 8_Set up Python 3.9.txt │ └── 9_Install tiledbsoma.txt └── build (ubuntu-24.04, 3.9) lint 21 directories, 199 filesThe latter seems to match what you showed, while the former (which
ghfails to show logs for) has a different structure.Previously, I was looking at log archives downloaded from this web UI button:
The URLs it currently shows me are:
- https://github.com/single-cell-data/TileDB-SOMA/suites/37564081503/logs?attempt=1 (41013280987)
- https://github.com/ryan-williams/TileDB-SOMA/suites/37569792382/logs?attempt=1 (41020345782)
I didn't find a way to programmatically access those URLs, but downloading them again (via the web UI) yields
.zipwith the structure I showed before:id=37564081503; unzip -d $id logs_$id.zip && tree $id37564081503 ├── 10_build (macos-latest, 3.13) _ build.txt ├── 12_build (ubuntu-24.04, 3.11) _ lint.txt ├── 13_build (ubuntu-24.04, 3.12) _ build.txt ├── 14_build (ubuntu-24.04, 3.10) _ build.txt ├── 15_build (macos-latest, 3.9) _ build.txt ├── 16_build (macos-latest, 3.10) _ build.txt ├── 18_build (ubuntu-24.04, 3.11) _ build.txt ├── 19_build (macos-latest, 3.11) _ build.txt ├── 7_build (ubuntu-24.04, 3.13) _ build.txt ├── 8_build (macos-latest, 3.12) _ build.txt ├── 9_build (ubuntu-24.04, 3.9) _ build.txt ├── build (macos-latest, 3.10) _ build │ └── system.txt ├── build (macos-latest, 3.11) _ build │ └── system.txt ├── build (macos-latest, 3.12) _ build │ └── system.txt ├── build (macos-latest, 3.13) _ build │ └── system.txt ├── build (macos-latest, 3.9) _ build │ └── system.txt ├── build (ubuntu-24.04, 3.10) _ build │ └── system.txt ├── build (ubuntu-24.04, 3.11) _ build │ └── system.txt ├── build (ubuntu-24.04, 3.11) _ lint │ └── system.txt ├── build (ubuntu-24.04, 3.12) _ build │ └── system.txt ├── build (ubuntu-24.04, 3.13) _ build │ └── system.txt └── build (ubuntu-24.04, 3.9) _ build └── system.txt 12 directories, 22 filesid=37569792382; unzip -d $id logs_$id.zip && tree $id37569792382 ├── 0_build (macos-latest, 3.10) _ build.txt ├── 10_build (ubuntu-24.04, 3.10) _ build.txt ├── 12_build (ubuntu-24.04, 3.11) _ build.txt ├── 13_build (ubuntu-24.04, 3.11) _ lint.txt ├── 14_build (ubuntu-24.04, 3.12) _ build.txt ├── 16_build (ubuntu-24.04, 3.13) _ build.txt ├── 19_build (ubuntu-24.04, 3.9) _ build.txt ├── 2_build (macos-latest, 3.11) _ build.txt ├── 5_build (macos-latest, 3.12) _ build.txt ├── 6_build (macos-latest, 3.13) _ build.txt └── 8_build (macos-latest, 3.9) _ build.txt 1 directory, 11 filesThe significance of the different log-archive structures isn't clear to me, but sounds like you have some leads re: log-server changes behind the scenes, hopefully something here is helpful!
Great investigation! Big thanks to @ryan-williams and @williammartin! 🎉
@ruan-williams It seems like your issue with the missing logs is now partially sorted by using the
--attemptoption. There's still a problem with the old-vs-new services that we need to fix, and I'm going to open another issue for it to make it easier to follow the thread since here we're dealing with two different problems.UPDATE: I just created #10868.
I'm seeing this as well, and it's clearly a CLI problem given what I see here:
$ gh run view --log --job=43070020934 | wc -l 0 $ gh api repos/<redacted>/<redacted>/actions/jobs/43070020934/logs | wc -l 1574
Reacted by Erik Bjäreholt

Describe the bug
In single-cell-data/TileDB-SOMA,
gh run view --log -j <job_id>erroneously exits 0 while printing no logs, for every job I've tried:(41013280987, 40986064176, 41015499160, 41001342582)
However, corresponding jobs in my fork (ryan-williams/TileDB-SOMA) return logs, as expected:
(41020345782)
Both repos have "Artifact and log retention" set to 90d, under /settings/actions, and the jobs above were all run in the last 24hrs.
/character injected in job names byworkflow_call/matrix(cc @babakks as well).pushto same branch).workflow_call,matrix, or/s in job names, e.g. 41001342582 above).Why does
gh run view --log -j <job_id>silently fail, for all jobs in single-cell-data/TileDB-SOMA, but not equivalent jobs in ryan-williams/TileDB-SOMA?