Skip to content

Update the architecture doc for the log upload path - #8597

Open
huydhn wants to merge 11 commits into
gh/huydhn/8/basefrom
gh/huydhn/8/head
Open

Update the architecture doc for the log upload path#8597
huydhn wants to merge 11 commits into
gh/huydhn/8/basefrom
gh/huydhn/8/head

Conversation

@huydhn

@huydhn huydhn commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

Stack from ghstack (oldest at bottom):

What

Rewrites the "Logs and log classifications" section to describe the new path
(bot handler -> gha-log-uploader -> S3 -> call-log-classifier -> log_classifier)
and notes that the raw webhook payload archive goes away with
github-status-test.

[ghstack-poisoned]
@vercel

vercel Bot commented Aug 20, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
torchci Ignored Ignored Aug 21, 2026 10:51pm

Request Review

huydhn added a commit that referenced this pull request Aug 20, 2026
## What
Rewrites the "Logs and log classifications" section to describe the new path
(bot handler -> gha-log-uploader -> S3 -> call-log-classifier -> log_classifier)
and notes that the raw webhook payload archive goes away with
`github-status-test`.

## Why
The old text described logs as arriving through "a manual connection with the
`pytorch/pytorch` repo", and carried a note saying the logic "could be moved to
the `hud.pytorch.org` webhooks endpoint [...] Add suo as a reviewer on a PR if
you want to add it!" -- which is what these commits do.


ghstack-source-id: 4d9a6ad
Pull-Request: #8597
@meta-cla meta-cla Bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Aug 20, 2026
huydhn added a commit that referenced this pull request Aug 20, 2026
## What
Rewrites the "Logs and log classifications" section to describe the new path
(bot handler -> gha-log-uploader -> S3 -> call-log-classifier -> log_classifier)
and notes that the raw webhook payload archive goes away with
`github-status-test`.

ghstack-source-id: 4d9a6ad
Pull-Request: #8597
[ghstack-poisoned]
huydhn added a commit that referenced this pull request Aug 20, 2026
## What
Rewrites the "Logs and log classifications" section to describe the new path
(bot handler -> gha-log-uploader -> S3 -> call-log-classifier -> log_classifier)
and notes that the raw webhook payload archive goes away with
`github-status-test`.

ghstack-source-id: 8252034
Pull-Request: #8597
[ghstack-poisoned]
huydhn added a commit that referenced this pull request Aug 20, 2026
## What
Rewrites the "Logs and log classifications" section to describe the new path
(bot handler -> gha-log-uploader -> S3 -> call-log-classifier -> log_classifier)
and notes that the raw webhook payload archive goes away with
`github-status-test`.

ghstack-source-id: 63d29e0
Pull-Request: #8597
[ghstack-poisoned]
huydhn added a commit that referenced this pull request Aug 20, 2026
## What
Rewrites the "Logs and log classifications" section to describe the new path
(bot handler -> gha-log-uploader -> S3 -> call-log-classifier -> log_classifier)
and notes that the raw webhook payload archive goes away with
`github-status-test`.

ghstack-source-id: 0a7b622
Pull-Request: #8597
[ghstack-poisoned]
huydhn added a commit that referenced this pull request Aug 20, 2026
## What
Rewrites the "Logs and log classifications" section to describe the new path
(bot handler -> gha-log-uploader -> S3 -> call-log-classifier -> log_classifier)
and notes that the raw webhook payload archive goes away with
`github-status-test`.

ghstack-source-id: 78d76a0
Pull-Request: #8597
[ghstack-poisoned]
huydhn added a commit that referenced this pull request Aug 20, 2026
## What
Rewrites the "Logs and log classifications" section to describe the new path
(bot handler -> gha-log-uploader -> S3 -> call-log-classifier -> log_classifier)
and notes that the raw webhook payload archive goes away with
`github-status-test`.

ghstack-source-id: 859ea27
Pull-Request: #8597
@huydhn
huydhn marked this pull request as ready for review August 20, 2026 23:55
@huydhn
huydhn requested a review from izaitsevfb August 20, 2026 23:55
[ghstack-poisoned]
huydhn added a commit that referenced this pull request Aug 21, 2026
## What
Rewrites the "Logs and log classifications" section to describe the new path
(bot handler -> gha-log-uploader -> S3 -> call-log-classifier -> log_classifier)
and notes that the raw webhook payload archive goes away with
`github-status-test`.

ghstack-source-id: 5116e62
Pull-Request: #8597
[ghstack-poisoned]
huydhn added a commit that referenced this pull request Aug 21, 2026
## What
Rewrites the "Logs and log classifications" section to describe the new path
(bot handler -> gha-log-uploader -> S3 -> call-log-classifier -> log_classifier)
and notes that the raw webhook payload archive goes away with
`github-status-test`.

ghstack-source-id: 60950b0
Pull-Request: #8597
[ghstack-poisoned]
huydhn added a commit that referenced this pull request Aug 21, 2026
## What
Rewrites the "Logs and log classifications" section to describe the new path
(bot handler -> gha-log-uploader -> S3 -> call-log-classifier -> log_classifier)
and notes that the raw webhook payload archive goes away with
`github-status-test`.

ghstack-source-id: 5aedf68
Pull-Request: #8597
[ghstack-poisoned]
huydhn added a commit that referenced this pull request Aug 21, 2026
## What
Rewrites the "Logs and log classifications" section to describe the new path
(bot handler -> gha-log-uploader -> S3 -> call-log-classifier -> log_classifier)
and notes that the raw webhook payload archive goes away with
`github-status-test`.

ghstack-source-id: d15fe77
Pull-Request: #8597

@izaitsevfb izaitsevfb left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm, but check the discrepancies

invokes the [`gha-log-uploader`] lambda when a job completes. That lambda
downloads the log from GitHub, puts it in the [`ossci-raw-job-status`] bucket
under `log/`, and then asynchronously invokes [`log-classifier`] to do the
classification (more detail in the [README]).

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

flagging discrepancy.


🟡 The classifier call is described as asynchronous; it is synchronous. (ai-generated section)

gha-log-uploader calls log_classifier through the classifier's Lambda function URL with a blocking urlopen, and function URLs only support the RequestResponse invocation type — so the uploader stays alive until classification finishes. Both the lambda's module docstring and aws/lambda/gha-log-uploader/README.md state this, and both make the 900s function timeout a consequence of it, so as written the architecture doc contradicts the component it describes. Dropping the word, or replacing it with "synchronously, through its function URL", would match. The earlier "asynchronously" in the same paragraph, about invoking the uploader itself, is correct and should stay.

bot is installed on gets log downloads and classifications without an admin
configuring anything. Which repos are enabled is controlled by the
`LOG_UPLOADER_REPOS` env var while the cutover from [`github-status-test`] is in
progress; see https://github.com/pytorch/test-infra/issues/7549.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is the list intended in the final version or should the doc be updated?

pytorch, meta-pytorch, malfet and vllm-project


🟡 `LOG_UPLOADER_REPOS` is not the only gate on which repositories get log uploads. (ai-generated section)

torchci/lib/bot/logUploader.ts returns before invoking the uploader unless isPyTorchbotSupportedOrg(owner) || isVLLM(owner) holds, and torchci/lib/bot/utils.ts accepts only the owners pytorch, meta-pytorch, malfet and vllm-project; only then is LOG_UPLOADER_REPOS consulted. The paragraph presents that env var as the repository selector and frames it as temporary for the cutover, but at this head a repository under any other owner is rejected before the variable is read at all, so "every repo the bot is installed on gets log downloads and classifications without an admin configuring anything" is wider than what the handler does. Naming both gates, or narrowing the sentence to the supported organisations, would fix it.

[ghstack-poisoned]
huydhn added a commit that referenced this pull request Aug 21, 2026
## What
Rewrites the "Logs and log classifications" section to describe the new path
(bot handler -> gha-log-uploader -> S3 -> call-log-classifier -> log_classifier)
and notes that the raw webhook payload archive goes away with
`github-status-test`.

ghstack-source-id: df582a8
Pull-Request: #8597
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants