Skip to content

WIP: [DEVEX-227] Getting state from events and running busines logic #334

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

Draft
wants to merge 46 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
7029ca7
moved all files into EventStore.Client project
RagingKore Dec 16, 2024
2cdf1f0
moved files into main project and deleted remaining empty projects
RagingKore Dec 18, 2024
bd6b10f
Remove unused target frameworks and pass certificate in healthcheck
w1am Dec 20, 2024
0c2d0e3
Tests
w1am Jan 6, 2025
ebc6e60
Rename test symbols
w1am Jan 7, 2025
a0dd296
Merge branch 'master' of github.com:EventStore/EventStore-Client-Dotn…
w1am Jan 7, 2025
740872b
Test workflow
w1am Jan 7, 2025
f68cec0
Testing something
w1am Jan 7, 2025
7699152
More tests
w1am Jan 7, 2025
4c238c7
Improve CI
w1am Jan 8, 2025
9c693e6
Merge branch 'master' of github.com:EventStore/EventStore-Client-Dotn…
w1am Jan 8, 2025
b278f7d
Improve CI
w1am Jan 8, 2025
fd0b009
Fixup
w1am Jan 8, 2025
d613ba3
Publish actions
w1am Jan 8, 2025
d98910a
Temporarily disable Public actions
w1am Jan 8, 2025
d62b558
Fixup
w1am Jan 8, 2025
55d1547
Test warmup
w1am Jan 9, 2025
44607ea
[DEVEX-222] Add built-in auto-serialization (#329)
oskardudycz Feb 27, 2025
07a8d87
Revert "[DEVEX-222] Add built-in auto-serialization (#329)" (#332)
w1am Feb 27, 2025
dc14196
[DEVEX-222] Add built-in auto-serialization (#333)
w1am Feb 27, 2025
89628d2
[DEVEX-227] Added BuildStateOptions
oskardudycz Jan 23, 2025
688f934
[DEVEX-227] Added BuildStateOptions
oskardudycz Feb 14, 2025
ead7b53
[DEVEX-227] Removed build state options and expanded build state exte…
oskardudycz Feb 21, 2025
58df83d
[DEVEX-227] Moved state building to dedicated method and shared it be…
oskardudycz Feb 21, 2025
67bfbfe
[DEVEX-227] Added sample domain structure for building state in vario…
oskardudycz Feb 24, 2025
1ab79bb
[DEVEX-227] Reshaped files structure and split code for state buildin…
oskardudycz Feb 27, 2025
89aa392
[DEVEX-227] Added capability to build state from snapshot
oskardudycz Feb 28, 2025
d879997
[DEVEX-227] Added IAggregate abstractions, State and Aggregate Stores
oskardudycz Mar 5, 2025
22c7427
[DEVEX-227] Cleaned up Getting Snapshot usage to make it more focused
oskardudycz Mar 5, 2025
44e3254
[DEVEX-227] Trimmed and refactored Decision logic
oskardudycz Mar 5, 2025
54330b9
[DEVEX-227] Added option to Project state, and get a continues stream…
oskardudycz Mar 5, 2025
11b9a67
[DEVEX-227] Adjusted Decision making tests to show the example usage
oskardudycz Mar 5, 2025
081d91f
[DEVEX-227] Added Add, Update methods to StateStore and AggregateStore
oskardudycz Mar 6, 2025
cc77373
[DEVEX-227] Made Aggregate return messages and separated AggregateSto…
oskardudycz Mar 6, 2025
a84083a
[DEVEX-227] Refactored State Store extracting interface and moving th…
oskardudycz Mar 6, 2025
48cec84
[DEVEX-227] Made StateStore default Handle method use messages, added…
oskardudycz Mar 6, 2025
efdf35b
[DEVEX-227] Added AppendToStream options to Decide options
oskardudycz Mar 7, 2025
4444c8c
[DEVEX-227] Added Polly to support retries of business logic
oskardudycz Mar 7, 2025
3644406
[DEVEX-227] Added retry policy handling for optimistic concurrency of…
oskardudycz Mar 7, 2025
dd8cf4c
[DEVEX-227] Updated ProjectState to keep dictionary of states instead…
oskardudycz Mar 7, 2025
f983649
[DEVEX-227] Added state cache for ProjectState function
oskardudycz Mar 7, 2025
0a5bc23
[DEVEX-227] Moved code responsible for GettingState to a dedicated file
oskardudycz Mar 7, 2025
1f6f829
[DEVEX-227] Added missing options in Get state methods of State and A…
oskardudycz Mar 7, 2025
d2f9d4e
[DEVEX-227] Added example of Decider
oskardudycz Mar 7, 2025
3d76fbb
[DEVEX-227] Added example of handling Aggregate and AggregateStore
oskardudycz Mar 7, 2025
d89abce
[DEVEX-227] Added example of state projection
oskardudycz Mar 7, 2025
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
  •  
  •  
  •  
70 changes: 35 additions & 35 deletions .github/workflows/base.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,47 +22,47 @@ on:
jobs:
test:
timeout-minutes: 20
strategy:
strategy:
fail-fast: false
matrix:
framework: [ net6.0, net7.0, net8.0 ]
framework: [ net8.0, net9.0 ]
os: [ ubuntu-latest ]
configuration: [ release ]
runs-on: ${{ matrix.os }}
name: ${{ inputs.test }} (${{ matrix.os }}, ${{ matrix.framework }})
env:
CLOUDSMITH_CICD_USER: ${{ secrets.CLOUDSMITH_CICD_USER }}
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Login to Cloudsmith
if: ${{ env.CLOUDSMITH_CICD_USER != '' }}
uses: docker/login-action@v3
with:
registry: docker.eventstore.com
username: ${{ secrets.CLOUDSMITH_CICD_USER }}
password: ${{ secrets.CLOUDSMITH_CICD_TOKEN }}
- name: Pull EventStore Image
shell: bash
run: |
docker pull docker.eventstore.com/${{ inputs.docker-image }}:${{ inputs.docker-tag }}
- name: Install dotnet SDKs
uses: actions/setup-dotnet@v3
with:
dotnet-version: |
6.0.x
7.0.x
8.0.x
- name: Run Tests
shell: bash
env:
ES_DOCKER_TAG: ${{ inputs.docker-tag }}
ES_DOCKER_REGISTRY: docker.eventstore.com/${{ inputs.docker-image }}
run: |
sudo ./gencert.sh
dotnet test --configuration ${{ matrix.configuration }} --blame \
--logger:"GitHubActions;report-warnings=false" --logger:"console;verbosity=normal" \
--framework ${{ matrix.framework }} \
test/EventStore.Client.${{ inputs.test }}.Tests
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Login to Cloudsmith
if: ${{ env.CLOUDSMITH_CICD_USER != '' }}
uses: docker/login-action@v3
with:
registry: docker.eventstore.com
username: ${{ secrets.CLOUDSMITH_CICD_USER }}
password: ${{ secrets.CLOUDSMITH_CICD_TOKEN }}
- name: Pull EventStore Image
shell: bash
run: |
docker pull docker.eventstore.com/${{ inputs.docker-image }}:${{ inputs.docker-tag }}
- name: Install dotnet SDKs
uses: actions/setup-dotnet@v3
with:
dotnet-version: |
8.0.x
9.0.x
- name: Run Tests
shell: bash
env:
ES_DOCKER_TAG: ${{ inputs.docker-tag }}
ES_DOCKER_REGISTRY: docker.eventstore.com/${{ inputs.docker-image }}
run: |
sudo ./gencert.sh
dotnet test --configuration ${{ matrix.configuration }} --blame \
--logger:"GitHubActions;report-warnings=false" --logger:"console;verbosity=normal" \
--framework ${{ matrix.framework }} \
--filter "Category=Target:${{ inputs.test }}" \
test/Kurrent.Client.Tests
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
fail-fast: false
matrix:
docker-tag: [ ci, lts, previous-lts ]
test: [ Streams, PersistentSubscriptions, Operations, UserManagement, ProjectionManagement ]
test: [ Streams, PersistentSubscriptions, Operations, ProjectionManagement, UserManagement, Security, Misc ]
name: Test CE (${{ matrix.docker-tag }})
with:
docker-tag: ${{ matrix.docker-tag }}
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/dispatch-ce.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@ on:
jobs:
test:
uses: ./.github/workflows/base.yml
strategy:
strategy:
fail-fast: false
matrix:
test: [ Streams, PersistentSubscriptions, Operations, UserManagement, ProjectionManagement ]
test: [ Streams, PersistentSubscriptions, Operations, ProjectionManagement, UserManagement, Security, Misc ]
name: Test CE (${{ inputs.docker-tag }})
with:
docker-tag: ${{ inputs.docker-tag }}
Expand Down
Loading