quicksilver / Quicksilver

Quicksilver Project Source
http://qsapp.com
Apache License 2.0
2.72k stars 283 forks source link

ChangesBare.html upload fails on releases #2958

Open pjrobertson opened 10 months ago

pjrobertson commented 10 months ago

See https://github.com/quicksilver/Quicksilver/actions/runs/6093104458/job/16532415215

/Users/runner/work/_temp/dee34687-390c-4a14-a59a-1b46877efa4d.sh: line 3: Quicksilver/SharedSupport/ChangesBare.html: No such file or directory

@n8henrie - perhaps you have a suggestion/idea about why this is happening.

n8henrie commented 10 months ago

Not sure why this would suddenly start happening. Debugging now.

Related? https://github.com/quicksilver/Quicksilver/issues/2904

n8henrie commented 10 months ago

Trying to figure out when this might have started...

I hadn't realized, but GitHub's CLI tool gh has pretty good support for viewing the logs of workflow runs

$ # construct a comma separated list of all json fields, as `'*'` or `all` don't work
$ fields=$(gh run list --limit 2 --json 2>&1 | awk -v ORS=, 'NR > 1 { print $1 }')
$ # trim trailing comma, which breaks things
$ fields=${fields%,}
$ # output all fields for the most recent 2 runs as a test
$ gh run list --limit 2 --json "${fields}"
$ # download data for the last 1000 runs
$ gh run list --limit 1000 --json "${fields}" > runs.json
$ jq length runs.json
1000
$ # oldest is from May 2022, which seems fine
$ jq .[-1] runs.json
{
  "conclusion": "success",
  "createdAt": "2022-05-02T17:21:18Z",
  "databaseId": 2259351148,
  "displayTitle": "Apply translations in et",
  "event": "push",
  "headBranch": "main",
  "headSha": "fb1820ad908941a7a679198421148668a586ec69",
  "name": "build",
  "number": 633,
  "startedAt": "2022-05-02T17:21:18Z",
  "status": "completed",
  "updatedAt": "2023-08-06T20:13:30Z",
  "url": "https://github.com/quicksilver/Quicksilver/actions/runs/2259351148",
  "workflowDatabaseId": 20606843,
  "workflowName": "build"
}
$ # get just the run IDs
$ jq '.[0:2][] | .databaseId' runs.json 
6111082753
6110987216
$ mkdir -p logs
$ # test run downloading 2 logs in parallel
$ jq '.[0:2][] | .databaseId' runs.json | parallel 'gh run view --log {} > logs/{}.txt'
$ # download all, including some progress stats
$ jq '.[] | .databaseId' runs.json | parallel --progress --eta 'gh run view --log {} > logs/{}.txt'

Unfortunately most of the older ones return a 410: gone, like this one: https://github.com/quicksilver/Quicksilver/actions/runs/2672251363/job/7345614427, and I get a API rate limit error after not too long (no surprise). The oldest available log that contains Quicksilver/SharedSupport/ChangesBare.html: No such file or directory is from... 2 days ago 😆

Well I guess that's not very helpful.

n8henrie commented 10 months ago

I'm 99% sure this should be fixed for the next release.

Instead of mess around with deleting and re-pushing tags, I'm just going to reopen the issue and assign myself until the next release, at which point I should hopefully find that it works as intended and the issue can be closed.