Skip to content

Add runtime type information to worker heartbeats - #809

Merged
Sushisource merged 5 commits into
mainfrom
runtime-info
Jul 29, 2026
Merged

Add runtime type information to worker heartbeats#809
Sushisource merged 5 commits into
mainfrom
runtime-info

Conversation

@Sushisource

Copy link
Copy Markdown
Member

What changed?
Title

Why?
Help us understand customer environments. SDKs will include an opt-out flag.

Breaking changes

Server PR

@Sushisource
Sushisource requested review from a team June 18, 2026 23:56
@github-actions

github-actions Bot commented Jun 18, 2026

Copy link
Copy Markdown

Opengrep — new findings

Severity Location Rule Message
ERROR .github/workflows/create-release.yml:25 security.gha.missing-explicit-permissions-temporal No explicit GITHUB_TOKEN permissions found at the workflow or job level. Add a permissions: block at the workflow root (applies to all jobs) or per job with least privilege (e.g., contents: read and only specific writes like pull-requests: write if needed).
ERROR .github/workflows/create-release.yml:30 security.gha.missing-explicit-permissions-temporal No explicit GITHUB_TOKEN permissions found at the workflow or job level. Add a permissions: block at the workflow root (applies to all jobs) or per job with least privilege (e.g., contents: read and only specific writes like pull-requests: write if needed).
ERROR .github/workflows/create-release.yml:99 security.gha.missing-explicit-permissions-temporal No explicit GITHUB_TOKEN permissions found at the workflow or job level. Add a permissions: block at the workflow root (applies to all jobs) or per job with least privilege (e.g., contents: read and only specific writes like pull-requests: write if needed).
ERROR .github/workflows/trigger-api-go-update.yml:16 security.gha.missing-explicit-permissions-temporal No explicit GITHUB_TOKEN permissions found at the workflow or job level. Add a permissions: block at the workflow root (applies to all jobs) or per job with least privilege (e.g., contents: read and only specific writes like pull-requests: write if needed).

Suppress findings

Add a noopengrep comment on the line before the finding:

# noopengrep: <rule-id>

Comment thread temporal/api/worker/v1/message.proto Outdated
Comment thread temporal/api/worker/v1/message.proto Outdated
Comment thread temporal/api/worker/v1/message.proto Outdated
RUNTIME_TYPE_BUN = 4;
RUNTIME_TYPE_RUBY = 5;
RUNTIME_TYPE_GO = 6;
RUNTIME_TYPE_DOCKER = 7;

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 there more than one type possible? Like python in docker?

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.

the field in the heartbeat is repeated, so we can include multiple

// be repeated for scenarios like "Python inside a Lambda".

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.

Actually, does it make sense to have RuntimeType type = 1; to be repeated here? Would we expect the version of multiple runtimes in the heartbeat to diverge, or will they always be the same?

@Sushisource
Sushisource force-pushed the runtime-info branch 2 times, most recently from f8e6470 to f36da6e Compare June 22, 2026 21:42
ARCHITECTURE_ARM64 = 2;
}

message Platform {

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.

Should there be an UnspecifiedPlatform in case someone is running on something that isn't Windows, Linux, or MacOS (e.g. BSD). Idk if we'd want an optional name field (so then is it really unspecified?) and version. Maybe named OtherPlatform?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

OtherPlatform makes sense

Comment thread temporal/api/worker/v1/message.proto
Comment thread temporal/api/worker/v1/message.proto
Comment thread temporal/api/worker/v1/message.proto
@Sushisource

Copy link
Copy Markdown
Member Author

This might sit for a bit since @rkannan82 wants to possibly line it up with the register worker API

@Sushisource

Copy link
Copy Markdown
Member Author

Relates to temporalio/sdk-typescript#1964

@Sushisource
Sushisource force-pushed the runtime-info branch 2 times, most recently from 70eb7b7 to db48ba7 Compare July 29, 2026 17:19
@Sushisource

Copy link
Copy Markdown
Member Author

We're no longer gonna wait on register to be created first

@Sushisource
Sushisource merged commit e4863be into main Jul 29, 2026
4 checks passed
@Sushisource
Sushisource deleted the runtime-info branch July 29, 2026 17:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants