Skip to content
Merged
Show file tree
Hide file tree
Changes from 31 commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
31e35cd
Store worker_instance_key in ActivityInfo
rkannan82 Feb 4, 2026
2874f4e
Add unit test
rkannan82 Feb 5, 2026
ad8c480
Fix lint
rkannan82 Feb 5, 2026
986e9a1
Remove redundant WorkerInstanceKey assignment in UpdateActivity callback
rkannan82 Feb 9, 2026
fb3066c
Store worker_control_task_queue in ActivityInfo
rkannan82 Feb 11, 2026
6ef2640
Update go.temporal.io/api to include worker_instance_key and worker_c…
rkannan82 Feb 11, 2026
eab94b0
Fix lint
rkannan82 Feb 11, 2026
0f8e48e
Remove worker_instance_key as it is not needed
rkannan82 Feb 12, 2026
5390759
Forward WorkerControlTaskQueue through matching service partitions
rkannan82 Feb 18, 2026
ac7be08
Define CancelActivityNexusTask transfer task type
rkannan82 Feb 3, 2026
113ca15
Fix lint errors
rkannan82 Feb 6, 2026
5ad9aeb
Regen proto
rkannan82 Feb 11, 2026
05adf1a
Remove worker_instance_key as it is not needed
rkannan82 Feb 12, 2026
39c1759
Move CancelActivityNexusTask creation to task_generator
rkannan82 Feb 12, 2026
131c278
Add WorkerControlTaskQueue to CancelActivityNexusTask
rkannan82 Feb 12, 2026
7bc8ada
Add metrics tag and low priority for CancelActivityNexusTask
rkannan82 Feb 12, 2026
01e4822
Update comment for standby executor
rkannan82 Feb 12, 2026
e9b1fac
Add Version field to CancelActivityNexusTask for multi-cluster support
rkannan82 Feb 12, 2026
faff7ee
Add comment
rkannan82 Feb 12, 2026
d6af322
Add ActivityCommandTask for outbound activity commands
rkannan82 Feb 18, 2026
7f5e0fc
Regenerate mocks with go-generate for correct ordering and parameter …
rkannan82 Feb 18, 2026
cd17334
Change ActivityCommandTask to use task_tokens instead of scheduled_ev…
rkannan82 Feb 18, 2026
6a1a66b
Change ActivityCommandTaskInfo to WorkerCommandsTask
rkannan82 Feb 25, 2026
d5591a4
Update api-go dependency to merged activity-cancel branch
rkannan82 Mar 13, 2026
7f842cf
Generalize task to WorkerCommandsTask using API WorkerCommand type
rkannan82 Mar 13, 2026
404ce2a
Rename TASK_TYPE_ACTIVITY_COMMAND to TASK_TYPE_WORKER_COMMANDS and re…
rkannan82 Mar 13, 2026
3e0a3a0
Rename activity_command_task.go to worker_commands_task.go
rkannan82 Mar 13, 2026
0dd164a
Fix gofmt struct field alignment
rkannan82 Mar 30, 2026
242b97e
Merge main and update go.temporal.io/api to include PR #711
rkannan82 Apr 6, 2026
f7297b0
Align worker_control_task_queue comment with public API proto
rkannan82 Apr 7, 2026
c7a55b1
Merge branch 'main' into kannan/activity-cancel/persist-worker-key
rkannan82 Apr 7, 2026
b8b1352
Update go.mod to latest api-go (includes API PR #708)
rkannan82 Apr 7, 2026
1e27656
Add clarifying comment for eager dispatch workerControlTaskQueue param
rkannan82 Apr 7, 2026
0b36762
Mark WorkerCommandsTask as low priority
rkannan82 Apr 9, 2026
e1244fc
Merge remote-tracking branch 'origin/main' into kannan/activity-cance…
rkannan82 Apr 9, 2026
7f0514c
Regenerate proto after comment update
rkannan82 Apr 9, 2026
9500ec6
Remove stale replace directive for go.temporal.io/api
rkannan82 Apr 9, 2026
8c3ca5e
Merge main into kannan/activity-cancel/task-definition
rkannan82 Apr 9, 2026
71549a1
Merge remote-tracking branch 'origin/main' into kannan/activity-cance…
rkannan82 Apr 10, 2026
26ed20e
Merge remote-tracking branch 'origin/kannan/activity-cancel/persist-w…
rkannan82 Apr 10, 2026
f7b016e
Merge remote-tracking branch 'origin/main' into kannan/activity-cance…
rkannan82 Apr 11, 2026
ddce32b
Update go.temporal.io/api to released v1.62.8
rkannan82 Apr 11, 2026
1873d67
Remove unrelated files from PR diff
rkannan82 Apr 11, 2026
8af32b4
Remove accidentally committed .claude/worktrees
rkannan82 Apr 11, 2026
e0d9e85
Fix proto lint: remove stray blank line and fix indentation
rkannan82 Apr 11, 2026
41608af
Fix lint: replace assert.Equal with require.Equal in task generator test
rkannan82 Apr 11, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
16 changes: 15 additions & 1 deletion .github/.golangci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ linters:
forbid:
- pattern: time.Sleep
msg: "Please use require.Eventually or assert.Eventually instead unless you've no other option"
- pattern: panic
- pattern: "^panic$"
msg: "Please avoid using panic in application code"
- pattern: time\.Now
msg: "Using time.Now is not allowed in chasm/lib package (non-test files), use ctx.Now(component) instead"
Expand All @@ -46,6 +46,10 @@ linters:
msg: "Do not use .UnixNano() for Cassandra timestamps. Use p.UnixMilliseconds() which returns milliseconds."
- pattern: FunctionalTestBase
msg: "FunctionalTestBase is deprecated. Use testcore.NewEnv(t) instead. See docs/development/testing.md for details."
- pattern: context\.Background\(\)
msg: "Avoid context.Background() in tests; use t.Context() to respect test timeouts and cancellation"
- pattern: 'assert\.\w+'
msg: "Use require.X / protorequire.X instead of assert.X / protoassert.X — assert doesn't stop the test on failure. assert.CollectT is still allowed for EventuallyWithT callbacks."
depguard:
rules:
main:
Expand All @@ -67,6 +71,9 @@ linters:
# internal server pbs have their own suffix to avoid naming conflicts
- pkg: go.temporal.io/server/api/(\w+)/v1
alias: ${1}spb
testifylint:
disable:
- suite-method-signature # parallelsuite.Run supports extra args passed to Test* methods
exhaustive:
# Presence of "default" case in switch statements satisfies exhaustiveness,
# even if all enum members are not listed.
Expand Down Expand Up @@ -191,6 +198,13 @@ linters:
text: "FunctionalTestBase"
linters:
- forbidigo
- path-except: tests/.+_test\.go # only enforce in test files
text: "context.Background"
linters:
- forbidigo
- text: "use of `assert\\.CollectT`" # allowed for EventuallyWithT callbacks
linters:
- forbidigo
- path: _test\.go|tests/.+\.go|common/testing/
text: "(cyclomatic|cognitive)" # false positives when using subtests
linters:
Expand Down
94 changes: 93 additions & 1 deletion .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -1,4 +1,96 @@
# Syntax is here:
# https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/about-code-owners#codeowners-syntax

* @temporalio/server @temporalio/cgs
* @temporalio/server @temporalio/cgs @temporalio/nexus

# CHASM

# This only matching files directly in /chasm/ folder, but not any nested files
/chasm/* @temporalio/oss-foundations

/chasm/lib/activity/ @temporalio/act
/chasm/lib/scheduler/ @temporalio/act

/chasm/lib/nexusoperation/ @temporalio/act @temporalio/nexus
/chasm/lib/callback/ @temporalio/act @temporalio/nexus

# Service Clients

/client/matching/ @temporalio/oss-matching

# Common

/common/taskqueue/ @temporalio/oss-matching
/common/worker_versioning/ @temporalio/oss-matching
/common/tqid/ @temporalio/oss-matching

/common/archiver/ @temporalio/oss-foundations
/common/searchattribute/ @temporalio/oss-foundations

/common/nexus/ @temporalio/act @temporalio/nexus

/common/tasks/ @temporalio/oss-foundations @temporalio/cgs
/common/persistence/ @temporalio/oss-foundations @temporalio/oss-matching @temporalio/cgs

# Components

/components/ @temporalio/act @temporalio/nexus

# Proto Definitions

/proto/internal/temporal/server/api/schedule/ @temporalio/act

/proto/internal/temporal/server/api/deployment/ @temporalio/oss-matching
/proto/internal/temporal/server/api/matchingservice/ @temporalio/oss-matching
/proto/internal/temporal/server/api/taskqueue/ @temporalio/oss-matching

/proto/internal/temporal/server/api/archiver/ @temporalio/oss-foundations

/proto/internal/temporal/server/api/replication/ @temporalio/cgs

# DB Schema
/schema/**/visibility/ @temporalio/oss-foundations

# History Service

/service/history/archival/ @temporalio/oss-foundations
/service/history/*chasm* @temporalio/oss-foundations
/service/history/deletemanager/ @temporalio/oss-foundations
/service/history/queues/ @temporalio/oss-foundations
/service/history/shard/ @temporalio/oss-foundations
/service/history/*queue* @temporalio/oss-foundations
/service/history/*statemachine* @temporalio/oss-foundations

/service/history/ndc/ @temporalio/cgs
/service/history/replication/ @temporalio/cgs

/service/history/tasks/ @temporalio/oss-foundations @temporalio/cgs
/service/history/*task* @temporalio/oss-foundations @temporalio/cgs

# Matching Service

/service/matching/ @temporalio/oss-matching

# Worker Service

/service/worker/batcher/ @temporalio/act
/service/worker/scheduler/ @temporalio/act

/service/worker/workerdeployment/ @temporalio/oss-matching

/service/worker/addsearchattributes/ @temporalio/oss-foundations
/service/worker/deletenamespace/ @temporalio/oss-foundations
/service/worker/dlq/ @temporalio/oss-foundations

/service/worker/scanner/ @temporalio/oss-foundations @temporalio/oss-matching
/service/worker/scanner/executions/ @temporalio/oss-foundations
/service/worker/scanner/history/ @temporalio/oss-foundations
/service/worker/scanner/build_ids/ @temporalio/oss-matching
/service/worker/scanner/taskqueue/ @temporalio/oss-matching

/service/worker/migration/ @temporalio/cgs
/service/worker/replicator/ @temporalio/cgs

/service/worker/parentclosepolicy/ @temporalio/oss-foundations @temporalio/act

/tools/ @temporalio/server
56 changes: 44 additions & 12 deletions .github/actions/build-docker-images/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,20 +23,31 @@ inputs:
required: false
default: "false"
cli-version:
description: "Temporal CLI version to download"
description: "Temporal CLI version to download (uses default from build helper if empty)"
required: false
default: "1.5.1"
default: ""
alpine-tag:
description: "Alpine base image tag"
required: false
default: "3.23.3"
default: ""
dockerhub-username:
description: "Docker Hub username"
required: false
dockerhub-token:
description: "Docker Hub token"
required: false

outputs:
branch-tag:
description: "Docker-safe branch tag (e.g., branch-main, branch-release-v1.30.0)"
value: ${{ steps.image-tags.outputs.tag }}
sha-tag:
description: "Docker SHA tag (e.g., sha-abc1234)"
value: ${{ steps.image-tags.outputs.sha }}
sha-full-tag:
description: "Docker full SHA tag (e.g., sha-abcdef123456...)"
value: ${{ steps.image-tags.outputs.sha-full }}

runs:
using: composite
steps:
Expand Down Expand Up @@ -70,12 +81,19 @@ runs:
run: |
.github/actions/build-docker-images/scripts/docker-build-helper download-cli

- name: Extract CLI version from binary
id: extract-cli-version
shell: bash
working-directory: ${{ github.workspace }}
run: |
.github/actions/build-docker-images/scripts/docker-build-helper extract-binary-version temporal cli-version

- name: Extract server version from binary
id: extract-version
shell: bash
working-directory: ${{ github.workspace }}
run: |
.github/actions/build-docker-images/scripts/docker-build-helper extract-version
.github/actions/build-docker-images/scripts/docker-build-helper extract-binary-version temporal-server server-version

- name: Set up QEMU
uses: docker/setup-qemu-action@v3
Expand All @@ -96,22 +114,30 @@ runs:
working-directory: ${{ github.workspace }}
env:
IMAGE_REPO: temporaliotest
IMAGE_SHA_TAG: ${{ steps.image-tags.outputs.sha }}
IMAGE_SHA_SHORT_TAG: ${{ steps.image-tags.outputs.sha }}
IMAGE_SHA_FULL_TAG: ${{ steps.image-tags.outputs.sha-full }}
IMAGE_BRANCH_TAG: ${{ steps.image-tags.outputs.tag }}
TEMPORAL_SHA: ${{ github.sha }}
TEMPORAL_SHA: ${{ steps.image-tags.outputs.git-sha }}
TAG_LATEST: ${{ inputs.tag-latest }}
ALPINE_TAG: ${{ inputs.alpine-tag }}
PLATFORM: ${{ inputs.platform }}
LOAD: ${{ inputs.load }}
SERVER_VERSION: ${{ steps.extract-version.outputs.server-version }}
CLI_VERSION: ${{ steps.extract-cli-version.outputs.cli-version }}
run: |
if [ -n "${{ inputs.platform }}" ]; then
if [ -z "${ALPINE_TAG}" ]; then
unset ALPINE_TAG
fi

if [ -n "${PLATFORM}" ]; then
docker buildx bake \
--set "*.platform=${{ inputs.platform }}" \
${{ inputs.load == 'true' && '--load' || '' }} \
--set "*.platform=${PLATFORM}" \
$( [ "${LOAD}" = "true" ] && echo --load ) \
-f docker/docker-bake.hcl \
server admin-tools
else
docker buildx bake \
${{ inputs.load == 'true' && '--load' || '' }} \
$( [ "${LOAD}" = "true" ] && echo --load ) \
-f docker/docker-bake.hcl \
server admin-tools
fi
Expand All @@ -122,13 +148,19 @@ runs:
working-directory: ${{ github.workspace }}
env:
IMAGE_REPO: temporaliotest
IMAGE_SHA_TAG: ${{ steps.image-tags.outputs.sha }}
IMAGE_SHA_SHORT_TAG: ${{ steps.image-tags.outputs.sha }}
IMAGE_SHA_FULL_TAG: ${{ steps.image-tags.outputs.sha-full }}
IMAGE_BRANCH_TAG: ${{ steps.image-tags.outputs.tag }}
TEMPORAL_SHA: ${{ github.sha }}
TEMPORAL_SHA: ${{ steps.image-tags.outputs.git-sha }}
TAG_LATEST: ${{ inputs.tag-latest }}
ALPINE_TAG: ${{ inputs.alpine-tag }}
SERVER_VERSION: ${{ steps.extract-version.outputs.server-version }}
CLI_VERSION: ${{ steps.extract-cli-version.outputs.cli-version }}
run: |
if [ -z "${ALPINE_TAG}" ]; then
unset ALPINE_TAG
fi

docker buildx bake \
--push \
-f docker/docker-bake.hcl \
Expand Down
Loading