Repository navigation
Streams API: combined branch for review #381
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
Closed
Closed
Changes from all commits
Commits
Show all changes
49 commits
Select commit
Hold shift + click to select a range
ccd0e97
Pointed Core at a commit that vendors the Stream API.
moetemp b874f86
Taught the generator scripts to build the Stream package.
moetemp 02645de
Generated the Stream protos, bindings, visitor and Workflow exports.
moetemp 7f2eca0
Added the support functions that the generated Stream code calls.
moetemp 20815db
Routed a client's Stream operations to a Stream Store.
moetemp a92a582
Ran Workflow Stream operations in a Local Activity with a Store.
moetemp 0c0f2e1
Gave an Activity's info the Workflow Task of a Local Activity.
moetemp e4c2b32
Wrote a Workflow's Stream append as its Local Activity's Producer.
moetemp a644cf5
Pointed Core at the commit with the Stream crate.
moetemp 1f154d7
Bound the Stream runtime in the bridge behind a `streams` feature.
moetemp 1f0993a
Raised one `StreamError` for every failed Stream call.
moetemp 43654eb
Added a memory Stream Store and moved the Stream tests to it.
moetemp 7337df1
Gave a Workflow's Stream create the chain's first run id.
moetemp 7c89321
Moved Core to the head of the Stream crate.
moetemp e83221c
Kept the linters out of the Core submodule.
moetemp 7f4efeb
Bound the Redis Stream runtime in the bridge.
moetemp 307a5cd
Added the Redis Stream Store with its tests.
moetemp 6b1cf02
Started a Redis in CI for the Redis Stream Store tests.
moetemp 4c3e86b
Kept the base of the bridge Stores next to `StreamStore`.
moetemp 8911d75
Turned on Streams in a FIPS build.
moetemp 01a154f
Pointed the Core submodule at the fork that has the Stream crate.
moetemp e70dff4
Gave the Redis Stream Store a cargo feature of its own.
moetemp 41a3c2b
Sent a Workflow's Stream append with a sequence, so its retry writes …
moetemp 57d1473
Moved Core to the API files with the sequence parameter of append.
moetemp 2bf62e7
Moved the Redis Store pin to the commit that follows the new Core.
moetemp 5bc79ea
Regenerated the Stream code for the sequence parameter of append.
moetemp b097176
Refused an append and a close from Workflow code on a Store.
moetemp f491efb
Merged the branch of the generated Stream code.
moetemp 1c836c8
Moved the Worker side of a Stream Store into one module.
moetemp f1fdc70
Made the call of a Stream Store private.
moetemp ed82555
Said why stream_stores is a list, and named the Redis step in CI.
moetemp 9fa615e
Took the Stream Stores of a client as one config with a selector.
moetemp fa62ab2
Let WorkflowEnvironment take a Stream config for its client.
moetemp f1629bb
Let a Worker serve every Stream Store of its client.
moetemp dfa007b
Moved the options of the Stream Local Activity to the Stream config.
moetemp 2d86f5b
Read the ref of a Stream call from its request object.
moetemp d0fba10
Added BufferedAppender, which batches the appends of one Stream.
moetemp 51a7d0b
Moved Core to the API files with the Workflow Stream marks.
moetemp ea1523d
Merged the regenerated Stream code.
moetemp 2c8b049
Followed the Workflow Stream that has no append, close or read.
moetemp 336dbed
Let a module of the Stream Workflow package be the first import.
moetemp 56c9937
Let the user's Activity interceptors see the Stream Local Activity.
moetemp 63180a3
Raised an error for a Stream call when the client has no Store.
moetemp 6427a7f
Gave StreamStore the five Stream operations as methods.
moetemp e2d3bf8
Moved the Worker side of a Stream call into the Store.
moetemp 419fc75
Moved Core to the Stream crate that has no Python script.
moetemp a69aef6
Dropped the lint excludes for the Core submodule.
moetemp 138f338
Removed a stale sentence from the StreamStore docstring.
moetemp 51fe79d
Merged the generated-code branch, which sits on the Workflow Task info.
moetemp File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,25 @@ | ||
| name: Install Redis | ||
| description: Install and start a Redis server for the tests of the Redis Stream Store. | ||
| runs: | ||
| using: composite | ||
| steps: | ||
| - if: runner.os == 'Linux' | ||
| shell: bash | ||
| run: | | ||
| sudo apt-get update | ||
| sudo apt-get install -y --no-install-recommends redis-server | ||
| - if: runner.os == 'macOS' | ||
| shell: bash | ||
| run: brew install redis | ||
| # Redis has no official Windows build, so the Redis Store tests skip there. The port is not the | ||
| # default one, since the Linux package starts its own server on 6379. | ||
| - if: runner.os != 'Windows' | ||
| shell: bash | ||
| run: | | ||
| redis-server --port 6380 --save "" --appendonly no --daemonize yes | ||
| for _ in $(seq 1 50); do | ||
| redis-cli -p 6380 ping && break | ||
| sleep 0.1 | ||
| done | ||
| redis-cli -p 6380 ping | ||
| echo "STREAMS_REDIS_URL=redis://127.0.0.1:6380" >> "$GITHUB_ENV" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,3 +1,3 @@ | ||
| [submodule "sdk-core"] | ||
| path = temporalio/bridge/sdk-core | ||
| url = https://github.com/temporalio/sdk-rust.git | ||
| url = https://github.com/moetemp/sdk-rust.git |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seems like quite a bit of shenanigans involved here, I'll ignore the pyproject until we're further along in core.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Makes sense. Most of it is there so the dev build and the wheels link the Stream runtime while it's behind a cargo feature. The rest keeps the linters out of the Core submodule.