Skip to content

Improve handling of action results ZIP archives generated by the new service #10868

@babakks

Description

@babakks

Problem

It's not clear why/when action results log ZIP archives are served from different sources. Unfortunately, as noticed in #10853, the structures are slightly different but still big enough to render GH CLI unable to detect the right content. I'm following up on this internally with the Actions team to see if we can fix this with a more reliable solution.

In the meantime, we should improve GH CLI to capture both structures.

To recap, below are two sample cases served by different services. Note that the underscores in question appear in both top-level and nested .txt files in the ZIP archive.

gh run -R single-cell-data/TileDB-SOMA view --log -j 41013280987 # new service (with underscores)
gh run -R    ryan-williams/TileDB-SOMA view --log -j 41020345782 # old service (no underscores)
Old service ZIP structure
$ unzip -l run-log-14620886373-1745418926.zip
Archive:  run-log-14620886373-1745418926.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
     8607  2025-04-25 12:38   build (macos-latest, 3.11)  build/12_Log pip dependencies.txt
      326  2025-04-25 12:38   build (macos-latest, 3.10)  build/5_Select XCode version.txt
   678045  2025-04-25 12:38   build (ubuntu-24.04, 3.13)  build/7_Set Up Test Data.txt
      992  2025-04-25 12:38   -2147434496_build.txt
   972023  2025-04-25 12:38   build (macos-latest, 3.13)  build/14_Run pytests for Python.txt
      648  2025-04-25 12:38   build (ubuntu-24.04, 3.11)  build/29_Post Set up Python 3.11.txt
    17777  2025-04-25 12:38   build (macos-latest, 3.12)  build/13_Run libtiledbsoma unit tests.txt
      484  2025-04-25 12:38   build (ubuntu-24.04, 3.9)  build/29_Post Set up Python 3.9.txt
      292  2025-04-25 12:38   build (macos-latest, 3.9)  build/2_Show matrix OS.txt
     1463  2025-04-25 12:38   build (macos-latest, 3.13)  build/4_MacOS CPU info.txt
        0  2025-04-25 12:38   build (ubuntu-24.04, 3.9)  build/
  2193670  2025-04-25 12:38   0_build (ubuntu-24.04, 3.9)  build.txt
...
New service ZIP structure
$ unzip -l run-log-14618823537-1745413328.zip 
Archive:  run-log-14618823537-1745413328.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
  2115907  1980-00-00 00:00   7_build (ubuntu-24.04, 3.13) _ build.txt
      804  1980-00-00 00:00   build (ubuntu-24.04, 3.13) _ build/system.txt
  1934162  1980-00-00 00:00   8_build (macos-latest, 3.12) _ build.txt
      804  1980-00-00 00:00   build (macos-latest, 3.12) _ build/system.txt
  2178955  1980-00-00 00:00   9_build (ubuntu-24.04, 3.9) _ build.txt
      804  1980-00-00 00:00   build (ubuntu-24.04, 3.9) _ build/system.txt
  1993470  1980-00-00 00:00   10_build (macos-latest, 3.13) _ build.txt
      804  1980-00-00 00:00   build (macos-latest, 3.13) _ build/system.txt
    24094  1980-00-00 00:00   12_build (ubuntu-24.04, 3.11) _ lint.txt
...

Acceptance Criteria

Given I have a actions results log served by the old service
when I gh run view --log <run-id>
then The logs are shown

Given I have a actions results log served by the new service
when I gh run view --log <run-id>
then The logs are shown

Given I am running against a GHES remote
when I run gh run view --log <run-id>
then The logs (that will come back in the old format) are shown

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingcoreThis issue is not accepting PRs from outside contributorsgh-runrelating to the gh run commandpriority-2Affects more than a few users but doesn't prevent core functions

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions