Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SDK 2.7.0-beta #367

Merged
merged 109 commits into from
Nov 2, 2023
Merged

SDK 2.7.0-beta #367

merged 109 commits into from
Nov 2, 2023

Conversation

roxblnfk
Copy link
Collaborator

What was changed

The main feature is interceptors. There are all the changes from #225.

Why?

It's time to move interceptors feature into the master branch and start beta testing.

Checklist

Related links:

refactor EncodedValues and EncodedHeader;
init EncodedHeaderTestCase;
fix Encoders, Input, Request;
add Header into the ExecuteChildWorkflow command;
…nboundInterceptor, WorkflowOutboundInterceptor
…ing in workflow, use new Pipeline to run existing interceptors.
Simplify Instance class.
Add ActivityName getter into `ExecuteActivity` command.
Cleanup Instance and its children
Move internal classes into Internal namespace.
Make Instance class more strict.
roxblnfk and others added 18 commits July 11, 2023 15:37
# Conflicts:
#	api/v1/GPBMetadata/Protocol.php
#	api/v1/Temporal/Roadrunner/Internal/Message.php
#	proto
#	resources/protocol.proto
#	src/Client/GRPC/ServiceClient.php
#	src/Internal/Declaration/WorkflowInstance.php
#	src/Internal/Workflow/Process/Process.php
#	src/Internal/Workflow/WorkflowContext.php
#	src/Worker/Transport/Codec/ProtoCodec/Decoder.php
#	tests/Fixtures/data/Test_ExecuteProtoWorkflow.log
# Conflicts:
#	src/Internal/Transport/Router/InvokeQuery.php
#	src/Internal/Transport/Router/InvokeSignal.php
#	src/Internal/Transport/Router/StartWorkflow.php
#	src/Internal/Workflow/ActivityStub.php
#	src/Internal/Workflow/ExternalWorkflowStub.php
#	src/Worker/Transport/Codec/JsonCodec/Decoder.php
#	src/Worker/Transport/Codec/ProtoCodec/Decoder.php
#	src/Worker/Transport/Codec/ProtoCodec/Encoder.php
#	src/Worker/Transport/Command/Command.php
#	src/Worker/Transport/Command/FailureResponse.php
#	src/Worker/Transport/Command/Request.php
#	src/Worker/Transport/Command/RequestInterface.php
#	src/Worker/Transport/Command/Response.php
#	src/Worker/Transport/Command/SuccessResponse.php
#	tests/Fixtures/data/Test_ActivityStubWorkflow.log
#	tests/Fixtures/data/Test_BatchedSignal.log
#	tests/Fixtures/data/Test_BatchedSignal_01.log
#	tests/Fixtures/data/Test_BinaryPayload.log
#	tests/Fixtures/data/Test_CancelledMidflightWorkflow.log
#	tests/Fixtures/data/Test_CancelledNestedWorkflow.log
#	tests/Fixtures/data/Test_CancelledWithCompensationWorkflow.log
#	tests/Fixtures/data/Test_ContinueAsNew.log
#	tests/Fixtures/data/Test_EmptyWorkflow.log
#	tests/Fixtures/data/Test_ExecuteChildStubWorkflow.log
#	tests/Fixtures/data/Test_ExecuteChildStubWorkflow_02.log
#	tests/Fixtures/data/Test_ExecuteChildWorkflow.log
#	tests/Fixtures/data/Test_ExecuteProtoWorkflow.log
#	tests/Fixtures/data/Test_ExecuteSimpleDTOWorkflow.log
#	tests/Fixtures/data/Test_ExecuteSimpleWorkflowWithSequenceInBatch.log
#	tests/Fixtures/data/Test_ExecuteSimpleWorkflow_1.log
#	tests/Fixtures/data/Test_ExecuteWorkflowWithParallelScopes.log
#	tests/Fixtures/data/Test_GetQuery.log
#	tests/Fixtures/data/Test_MultipleWorkflowsInSingleWorker.log
#	tests/Fixtures/data/Test_PromiseChaining.log
#	tests/Fixtures/data/Test_RuntimeSignal.log
#	tests/Fixtures/data/Test_SendSignalBeforeCompletingWorkflow.log
#	tests/Fixtures/data/Test_SideEffect.log
#	tests/Fixtures/data/Test_SignalChildViaStubWorkflow.log
#	tests/Fixtures/data/Test_SignalSteps.log
#	tests/Fixtures/data/Test_Timer.log
#	tests/Functional/WorkflowTestCase.php
#	tests/Unit/Router/StartWorkflowTestCase.php
# Conflicts:
#	composer.json
#	src/Internal/Client/WorkflowStarter.php
#	src/Internal/Transport/Router/InvokeQuery.php
#	src/Internal/Transport/Router/StartWorkflow.php
#	src/Internal/Workflow/Process/Process.php
#	src/Internal/Workflow/Process/Scope.php
#	src/Internal/Workflow/WorkflowContext.php
#	src/Worker/Transport/Codec/JsonCodec/Decoder.php
#	src/Worker/Transport/Codec/ProtoCodec/Decoder.php
#	src/Worker/Transport/Command/Response.php
#	src/Worker/Transport/Command/ServerRequest.php
#	src/Worker/Transport/RoadRunner.php
#	src/Worker/Transport/RoadRunnerVersionChecker.php
#	src/Workflow/WorkflowContextInterface.php
#	src/Workflow/WorkflowInfo.php
#	tests/Functional/HistoryLengthWorkflowTestCase.php
#	tests/Unit/Framework/Server/ServerMock.php
…hods Header::setDataConverter() and Header::toHeader() internal
It is required to resolve promises in the right context.
…add activity method reflection when possible
Update Interceptors: polishing and improvements
Comment on lines +1042 to +1053

// todo Remove from autogenerated file
public function getServerCapabilities(): ?ServerCapabilities
{
return $this->capabilities;
}

// todo Remove from autogenerated file
public function setServerCapabilities(ServerCapabilities $capabilities): void
{
$this->capabilities = $capabilities;
}
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Should be resolved in a separated PR

@roxblnfk roxblnfk merged commit 775cc98 into master Nov 2, 2023
48 of 50 checks passed
@roxblnfk roxblnfk deleted the 2.7.0 branch November 2, 2023 19:59
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.

[FEATURE REQUEST]: Add support for interceptors
4 participants