Skip to content
Merged
Show file tree
Hide file tree
Changes from 25 commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
3127dd7
NOT FOR MERGE: Bump api-go version to include latest versioning API c…
ShahabT Mar 16, 2024
7a9c619
NOT FOR MERGE: Undo changes that we want to merge
antlai-temporal Mar 18, 2024
d10ada0
Redo initial changes that we want to merge
antlai-temporal Mar 18, 2024
115af43
NOT FOR MERGE: Update api-go version to latest
antlai-temporal Mar 20, 2024
c48e2a3
Support Update and Get for the new versioning rules (#1429)
antlai-temporal Apr 2, 2024
50fca78
NOT FOR MERGE: Update api-go version to latest
antlai-temporal Apr 2, 2024
69259e2
Change UpdateWorkerVersioningRules response to match GetWorkerVersion…
antlai-temporal Apr 3, 2024
b985605
NOT FOR MERGE: Update api-go version to latest
antlai-temporal Apr 4, 2024
4a45118
Rename insert_compatible_redirect_rule to add_compatible_redirect_rul…
antlai-temporal Apr 5, 2024
d9aa0b8
NOT FOR MERGE: disable grpc dial lint errors
antlai-temporal Apr 5, 2024
34a08c8
Update baseline to go sdk 1.26.1
antlai-temporal Apr 11, 2024
e8147ac
Implement DescribeTaskQueueEnhanced (#1453)
antlai-temporal May 3, 2024
c7108f8
Add new VersioningIntent options (#1470)
ShahabT May 14, 2024
a64c6e3
Merge remote-tracking branch 'upstream/master' into versioning-2
antlai-temporal May 29, 2024
6481094
Clean up comments for PR
antlai-temporal May 29, 2024
7807c94
Format deprecation
antlai-temporal May 30, 2024
1f0d12f
Improve GoDocs
antlai-temporal Jun 3, 2024
eadd267
Rename constants, remove pointers in options
antlai-temporal Jun 6, 2024
770a19e
Merge remote-tracking branch 'upstream/master' into versioning-2
antlai-temporal Jun 6, 2024
aa37dff
NOT FOR MERGE: test CI with ubuntu docker image
antlai-temporal Jun 6, 2024
f76ddc4
Adding sleep for reachability cache in test
antlai-temporal Jun 6, 2024
f3c4daf
Replace Sleep by Eventually in test
antlai-temporal Jun 6, 2024
ffc91bb
Remove extra test checks
antlai-temporal Jun 6, 2024
7957957
Undo 'Eventually' in test due to 1min cache TTL
antlai-temporal Jun 7, 2024
ff4541c
Merge remote-tracking branch 'upstream/master' into versioning-2
antlai-temporal Jun 7, 2024
ff82aaf
Undo test CI with ubuntu docker image
antlai-temporal Jun 7, 2024
2b9a66f
Skip new versioning tests with cli devserver
antlai-temporal Jun 7, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 22 additions & 22 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,31 +43,31 @@ jobs:
run: go run . unit-test -coverage=${{ matrix.uploadCoverage && 'true' || 'false' }}
working-directory: ./internal/cmd/build

- name: Integration tests (without cache)
run: go run . integration-test -dev-server
working-directory: ./internal/cmd/build
env:
WORKFLOW_CACHE_SIZE: "0"
TEMPORAL_COVERAGE_FILE: ${{ matrix.uploadCoverage && 'integ_test_zero_cache_cover.out' || '' }}
# - name: Integration tests (without cache)
# run: go run . integration-test -dev-server
# working-directory: ./internal/cmd/build
# env:
# WORKFLOW_CACHE_SIZE: "0"
# TEMPORAL_COVERAGE_FILE: ${{ matrix.uploadCoverage && 'integ_test_zero_cache_cover.out' || '' }}

- name: Integration tests (with cache)
run: go run . integration-test -dev-server
working-directory: ./internal/cmd/build
env:
TEMPORAL_COVERAGE_FILE: ${{ matrix.uploadCoverage && 'integ_test_normal_cache_cover.out' || '' }}
# - name: Integration tests (with cache)
# run: go run . integration-test -dev-server
# working-directory: ./internal/cmd/build
# env:
# TEMPORAL_COVERAGE_FILE: ${{ matrix.uploadCoverage && 'integ_test_normal_cache_cover.out' || '' }}

- name: Merge coverage files
if: ${{ matrix.uploadCoverage }}
run: go run . merge-coverage-files ../../../coverage.out
working-directory: ./internal/cmd/build
# - name: Merge coverage files
# if: ${{ matrix.uploadCoverage }}
# run: go run . merge-coverage-files ../../../coverage.out
# working-directory: ./internal/cmd/build

- name: Upload coverage
if: ${{ matrix.uploadCoverage }}
continue-on-error: true
uses: coverallsapp/github-action@v2
with:
file: coverage.out
format: golang
# - name: Upload coverage
# if: ${{ matrix.uploadCoverage }}
# continue-on-error: true
# uses: coverallsapp/github-action@v2
# with:
# file: coverage.out
# format: golang

- name: Docker compose - checkout
if: ${{ matrix.testDockerCompose }}
Expand Down
4 changes: 3 additions & 1 deletion .github/workflows/docker/dynamic-config-custom.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,13 @@ frontend.enableUpdateWorkflowExecutionAsyncAccepted:
- value: true
system.enableEagerWorkflowStart:
- value: true
frontend.workerVersioningRuleAPIs:
- value: true
frontend.workerVersioningDataAPIs:
- value: true
frontend.workerVersioningWorkflowAPIs:
- value: true
worker.buildIdScavengerEnabled:
- value: true
worker.removableBuildIdDurationSinceDefault:
- value: 1
- value: 1
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,5 @@ test.log
.DS_Store
.gobincache
go.work
go.work.sum
go.work.sum
*~
228 changes: 213 additions & 15 deletions client/client.go

Large diffs are not rendered by default.

21 changes: 21 additions & 0 deletions internal/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -352,6 +352,27 @@ type (
// GetWorkerTaskReachability returns which versions are is still in use by open or closed workflows.
GetWorkerTaskReachability(ctx context.Context, options *GetWorkerTaskReachabilityOptions) (*WorkerTaskReachability, error)

// DescribeTaskQueueEnhanced returns information about the target task queue, broken down by Build Id:
// - List of pollers
// - Workflow Reachability status
// - Backlog info for Workflow and/or Activity tasks
// When not supported by the server, it returns an empty [TaskQueueDescription] if there is no information
// about the task queue, or an error when the response identifies an unsupported server.
// Note that using a sticky queue as target is not supported.
// WARNING: Worker versioning is currently experimental, and requires server 1.24+
DescribeTaskQueueEnhanced(ctx context.Context, options DescribeTaskQueueEnhancedOptions) (TaskQueueDescription, error)

// UpdateWorkerVersioningRules allows updating the worker-build-id based assignment and redirect rules for a given
// task queue. This is used in conjunction with workers who specify their build id and thus opt into the feature.
// The errors it can return:
// - serviceerror.FailedPrecondition when the conflict token is invalid
// WARNING: Worker versioning is currently experimental, and requires server 1.24+
UpdateWorkerVersioningRules(ctx context.Context, options UpdateWorkerVersioningRulesOptions) (*WorkerVersioningRules, error)

// GetWorkerVersioningRules returns the worker-build-id assignment and redirect rules for a task queue.
// WARNING: Worker versioning is currently experimental, and requires server 1.24+
GetWorkerVersioningRules(ctx context.Context, options GetWorkerVersioningOptions) (*WorkerVersioningRules, error)

// CheckHealth performs a server health check using the gRPC health check
// API. If the check fails, an error is returned.
CheckHealth(ctx context.Context, request *CheckHealthRequest) (*CheckHealthResponse, error)
Expand Down
1 change: 1 addition & 0 deletions internal/cmd/build/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,7 @@ func (b *builder) integrationTest() error {
ExtraArgs: []string{
"--dynamic-config-value", "frontend.enableUpdateWorkflowExecution=true",
"--dynamic-config-value", "frontend.enableUpdateWorkflowExecutionAsyncAccepted=true",
"--dynamic-config-value", "frontend.workerVersioningRuleAPIs=true",
"--dynamic-config-value", "frontend.workerVersioningDataAPIs=true",
"--dynamic-config-value", "frontend.workerVersioningWorkflowAPIs=true",
"--dynamic-config-value", "system.enableActivityEagerExecution=true",
Expand Down
Loading