Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
129 commits
Select commit Hold shift + click to select a range
5726c28
docs: define next cooperative cancellation model and qualification
durable-workflow-ops Oct 1, 2026
bab19f5
Merge remote-tracking branch 'origin/main' into feat/cooperative-canc…
durable-workflow-ops Oct 1, 2026
261e3ec
docs: require published mixed-language cancellation cascade
durable-workflow-ops Oct 1, 2026
50e67c9
feat: record canonical cancellation identity and cleanup context
durable-workflow-ops Oct 1, 2026
aa78415
feat: preserve canonical cancellation context for descendants
durable-workflow-ops Oct 1, 2026
d7eb0ae
feat: apply recorded child cancellation policies before parent delivery
durable-workflow-ops Oct 1, 2026
2249599
style: normalize child cancellation regression tests
durable-workflow-ops Oct 1, 2026
6a32adb
fix: park parent workflow claims until child cleanup resolves
durable-workflow-ops Oct 1, 2026
2b308d3
Preserve shared cancellation budgets through cooperative parent close
durable-workflow-ops Oct 1, 2026
a3147d1
test: compare cancellation JSON objects across database encodings
durable-workflow-ops Oct 1, 2026
3fba5af
Record fenced remote activity callback-stop acknowledgements
durable-workflow-ops Oct 1, 2026
5236121
Use the issued remote claim identity for stop receipts
durable-workflow-ops Oct 1, 2026
94aabbc
Keep callback-stop history inspectable during cancellation cleanup
durable-workflow-ops Oct 2, 2026
55e4eca
Run cancellation timeline regression cases on every pull request
durable-workflow-ops Oct 2, 2026
956c72b
Bind local callback stop receipts to original workflow claims
durable-workflow-ops Oct 2, 2026
effe23d
Persist portable local callback preparation before invocation
durable-workflow-ops Oct 2, 2026
fb0fdbb
Checkpoint local callback prefixes without releasing workflow claims
durable-workflow-ops Oct 2, 2026
c0bccb2
Keep local activity attempts distinct from repaired workflow claims
durable-workflow-ops Oct 2, 2026
5598411
Format checkpoint receipt comparison fixtures
durable-workflow-ops Oct 2, 2026
affc0eb
Record portable local outcomes against prepared authority
durable-workflow-ops Oct 2, 2026
d29226d
Prepare portable retries under original durable limits
durable-workflow-ops Oct 2, 2026
ca860db
Recover prepared local attempts without renewing authority
durable-workflow-ops Oct 2, 2026
34ba417
Expose prepared local primitives through an optional bridge role
durable-workflow-ops Oct 2, 2026
e557be5
Renew prepared local authority through supervisor control
durable-workflow-ops Oct 2, 2026
12c5f7c
Preserve prepared local cleanup within the original cancellation budget
durable-workflow-ops Oct 2, 2026
7459c51
Compare cleanup snapshots independently of JSON key order
durable-workflow-ops Oct 2, 2026
0407361
Admit complete prepared local activity groups atomically
durable-workflow-ops Oct 2, 2026
f68923a
Compare persisted group JSON without object key order
durable-workflow-ops Oct 2, 2026
3a9e1d4
Snapshot persisted lease timestamps before checkpoint refusal
durable-workflow-ops Oct 2, 2026
b60330b
Compare takeover refusal with persisted task snapshots
durable-workflow-ops Oct 2, 2026
8fa63fd
Preserve cancelled group history and sibling cold retry authority
durable-workflow-ops Oct 2, 2026
850a640
Normalize group retry test method chaining
durable-workflow-ops Oct 2, 2026
673343b
Accept canonical group membership in prepared heartbeat history
durable-workflow-ops Oct 2, 2026
9c93705
Format the nested prepared heartbeat regression
durable-workflow-ops Oct 2, 2026
16b722e
Align the grouped heartbeat count with chained call style
durable-workflow-ops Oct 2, 2026
7816dbb
Prepare durable activity waits for canonical callback stop receipts
durable-workflow-ops Oct 2, 2026
d639f9d
Preserve bounded abandoned remote activities through cooperative closure
durable-workflow-ops Oct 2, 2026
bf047ce
Format preserved activity filtering
durable-workflow-ops Oct 2, 2026
9f8cb61
Admit explicit portable remote activity cancellation policies
durable-workflow-ops Oct 2, 2026
8ee8196
Record cooperative cleanup outcomes and immutable delivery evidence
durable-workflow-ops Oct 2, 2026
88ea6e4
Add bounded namespace-scoped cancellation cascade inspection
durable-workflow-ops Oct 2, 2026
ae1513b
Preserve cancellation budget across synchronous replay
durable-workflow-ops Oct 2, 2026
47d3ade
Bind cancellation remaining time to its delivered replay
durable-workflow-ops Oct 2, 2026
9bdcc4e
feat: admit prepared local cancellation policies
durable-workflow-ops Oct 2, 2026
ba1aa47
style: finish local cancellation policy formatting
durable-workflow-ops Oct 2, 2026
4f5f921
Clarify terminal cancel in Native scope contract
durable-workflow-ops Oct 3, 2026
2614d5c
Define durable operation scope authority and qualification
durable-workflow-ops Oct 3, 2026
72c31a5
Qualify concurrent cancellation request ownership
durable-workflow-ops Oct 3, 2026
d369864
Fix fluent-chain style in cancellation race assertion
durable-workflow-ops Oct 3, 2026
67495bd
feat: record canonical cancellation scope identities
durable-workflow-ops Oct 3, 2026
3615aba
feat: preserve scoped cancellation request lineage
durable-workflow-ops Oct 3, 2026
b66500a
test: check cancellation contexts on every pull request
durable-workflow-ops Oct 3, 2026
4da7e84
Persist canonical scope membership for prepared local activities
durable-workflow-ops Oct 3, 2026
3c27e10
Record canonical cancellation scope membership for remote operations
durable-workflow-ops Oct 3, 2026
e376b4f
Run workflow command normalization in ordinary PR qualification
durable-workflow-ops Oct 3, 2026
df5fe36
Use loopback Redis probe for database-independent normalization tests
durable-workflow-ops Oct 3, 2026
800436d
Preserve canonical request identity and authority for operation scopes
durable-workflow-ops Oct 3, 2026
5f67109
Require scope request race cases in ordinary MySQL checks
durable-workflow-ops Oct 3, 2026
6960f26
Expose canonical scope admission before Server effects
durable-workflow-ops Oct 3, 2026
b1a3f0e
feat: record cancellation scope openings through optional task bridge
durable-workflow-ops Oct 3, 2026
229516a
Give cooperative cleanup a renewable recovery window
durable-workflow-ops Oct 3, 2026
71e3fd5
Align delivery contract with bounded renewable cleanup ownership
durable-workflow-ops Oct 3, 2026
9c95afa
Limit short cleanup ownership to supervised portable execution
durable-workflow-ops Oct 3, 2026
90c0817
Retain canonical command prefixes before scope opening
durable-workflow-ops Oct 3, 2026
8720db4
Compare persisted claim state across PostgreSQL refusal checks
durable-workflow-ops Oct 3, 2026
edb2f40
Format the persisted claim snapshot comparison
durable-workflow-ops Oct 3, 2026
f8a73d5
Record canonical scoped cancellation delivery boundaries
durable-workflow-ops Oct 3, 2026
e2e100e
Apply final scoped delivery style pass
durable-workflow-ops Oct 3, 2026
3369650
Retain loaded history when validating cancellation boundaries
durable-workflow-ops Oct 3, 2026
5d66347
Fence scoped activities while preserving unrelated work
durable-workflow-ops Oct 3, 2026
b95babd
Require scoped activity stop proof before delivery
durable-workflow-ops Oct 3, 2026
d89bcd3
fix: preserve scoped cancellation preparation before activity fences
durable-workflow-ops Oct 3, 2026
5f8b0fb
feat: authenticate scoped cancellation preparation and delivery recor…
durable-workflow-ops Oct 3, 2026
0df3c57
feat: dispatch the original scoped cancellation activity members
durable-workflow-ops Oct 3, 2026
5a2f7f9
fix: normalize scoped activity dispatch receipts after database replay
durable-workflow-ops Oct 3, 2026
dfad43d
Fence prepared scoped timers against late firing and projection drift
durable-workflow-ops Oct 3, 2026
f127f59
Format persisted timer projection drift fixtures
durable-workflow-ops Oct 3, 2026
1aa016d
Recheck timer authority after acquiring the final row lock
durable-workflow-ops Oct 3, 2026
d200112
Recheck scoped Activity hosting lease after task lock
durable-workflow-ops Oct 3, 2026
40c6a1f
Retain canonical cancellation scope membership on durable waits
durable-workflow-ops Oct 3, 2026
74cfc9f
Fence scoped signal and condition waits atomically with timeouts
durable-workflow-ops Oct 3, 2026
3592a3d
Normalize scoped wait receipt recording layout
durable-workflow-ops Oct 3, 2026
f6a1694
Keep wait cancellation assertions stable under repeated formatting
durable-workflow-ops Oct 3, 2026
abb9d36
Pin scoped child targets before cancellation delivery
durable-workflow-ops Oct 3, 2026
c4bc63b
Commit scoped child cancellation with original lineage and bounded re…
durable-workflow-ops Oct 4, 2026
a51395d
Normalize scoped child resolution assertion formatting
durable-workflow-ops Oct 4, 2026
37f3255
Verify scoped root budgets and bound cascade origin inspection
durable-workflow-ops Oct 4, 2026
bafd5d7
Dispatch original scoped child cancellation through portable bridge
durable-workflow-ops Oct 4, 2026
f41c3a4
Normalize scoped child assertions for repository style checks
durable-workflow-ops Oct 4, 2026
e55d074
feat: freeze descendant cancellation inventory atomically
durable-workflow-ops Oct 4, 2026
342171d
Reserve pending scoped delivery positions before actor effects
durable-workflow-ops Oct 4, 2026
ca767ee
Reconcile descendant actors under the original scope preparation
durable-workflow-ops Oct 4, 2026
1cebe1c
Finish scope regression formatting
durable-workflow-ops Oct 4, 2026
6ab4275
Reconcile completed independently rooted scope descendants
durable-workflow-ops Oct 4, 2026
6c30d68
Preserve unfinished descendant cancellation delivery boundaries
durable-workflow-ops Oct 4, 2026
d5309e1
Balance cancellation scope qualification and reuse parsed candidates
durable-workflow-ops Oct 4, 2026
82c4de8
Deliver scope cancellation at descendant and mixed awaits
durable-workflow-ops Oct 4, 2026
36e32cc
Finish formatting descendant await regressions
durable-workflow-ops Oct 4, 2026
6d48465
Expose original scope fences to prepared callback supervisors
durable-workflow-ops Oct 4, 2026
de8c510
Enforce scope preparation guards on every admission path
durable-workflow-ops Oct 4, 2026
d4dd549
Bind scoped local cleanup to its original delivery and budget
durable-workflow-ops Oct 4, 2026
4e147c1
Apply canonical style to cleanup history assertion
durable-workflow-ops Oct 4, 2026
cd8c2ae
Compare cleanup snapshots by JSON values across databases
durable-workflow-ops Oct 4, 2026
3bc516c
Bound scoped cleanup hosting recovery without history reads
durable-workflow-ops Oct 4, 2026
acfb821
Normalize the scoped recovery assertion formatting
durable-workflow-ops Oct 4, 2026
6880706
Keep scoped cancellation preparation hosting recoverable
durable-workflow-ops Oct 4, 2026
c8be089
Make accepted scoped cancellation recoverable before preparation
durable-workflow-ops Oct 4, 2026
c30428e
Compare stored cancellation claim snapshots across databases
durable-workflow-ops Oct 4, 2026
6fcba5c
Align scope recovery documentation with accepted request leases
durable-workflow-ops Oct 5, 2026
9b6c884
Preserve namespace when recreating and recovering runtime tasks
durable-workflow-ops Oct 5, 2026
89f46d4
Reproduce repair between cancellation wait release and stop receipt
durable-workflow-ops Oct 5, 2026
0471f1e
Merge remote-tracking branch 'origin/main' into feat/cooperative-canc…
durable-workflow-ops Oct 5, 2026
8f90fc7
Propagate run cancellation into unshielded scopes atomically
durable-workflow-ops Oct 5, 2026
b51d142
Canonicalize cancellation requester keys across JSON storage
durable-workflow-ops Oct 5, 2026
0ef75d3
fix: preserve scope membership during root cancellation delivery
durable-workflow-ops Oct 5, 2026
6e58256
Preserve inherited scope cleanup under the original run request
durable-workflow-ops Oct 5, 2026
60d74f0
Assert scope retries refuse deadline-expired hosting claims
durable-workflow-ops Oct 5, 2026
afce2bc
Preserve embedded cleanup ownership within the original deadline
durable-workflow-ops Oct 5, 2026
fec0c95
Preserve scoped cancellation when stopping a local callback
durable-workflow-ops Oct 5, 2026
b0c5287
Keep stop-only scoped preparation from renewing workflow authority
durable-workflow-ops Oct 5, 2026
910efec
Compare scoped cancellation JSON without object-key ordering
durable-workflow-ops Oct 5, 2026
ee8cce5
fix: wake waiting workflows for accepted scope cancellation
durable-workflow-ops Oct 6, 2026
bdb6e00
feat: fence scoped cleanup timers to original delivery authority
durable-workflow-ops Oct 6, 2026
22fc088
Merge remote-tracking branch 'origin/main' into feat/cooperative-canc…
durable-workflow-ops Oct 6, 2026
5f772dc
Prepare whole-run cancellation release candidate and protocol 1.20
durable-workflow-ops Oct 6, 2026
f1b4abf
Keep protocol 1.19 compatibility checks explicit after 1.20 promotion
durable-workflow-ops Oct 6, 2026
6659892
Preserve frozen protocol 1.19 specifications when promoting the curre…
durable-workflow-ops Oct 6, 2026
f2d9613
Keep scoped command compatibility assertions pinned to protocol 1.19
durable-workflow-ops Oct 6, 2026
8e6a8ca
Allow the expanded MySQL feature suite to finish within a bounded check
durable-workflow-ops Oct 6, 2026
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
10 changes: 10 additions & 0 deletions .github/feature-test-timings.json
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,11 @@
"tests/Feature/V2/V2AvroAdapterCodecTest.php": 5.000000,
"tests/Feature/V2/V2AvroParitySuiteTest.php": 2.612838,
"tests/Feature/V2/V2AwaitWorkflowTest.php": 23.893981,
"tests/Feature/V2/V2CancellationCascadeViewTest.php": 30.0,
"tests/Feature/V2/V2CancellationCleanupOutcomeTest.php": 30.0,
"tests/Feature/V2/V2CancellationRequestConcurrencyTest.php": 10.0,
"tests/Feature/V2/V2CancellationScopeDescendantsTest.php": 134.011351,
"tests/Feature/V2/V2CancellationScopeHistoryTest.php": 10.0,
"tests/Feature/V2/V2ChildWorkflowExternalOutputReplayTest.php": 0.114765,
"tests/Feature/V2/V2ChildWorkflowNamespaceProjectionTest.php": 0.162660,
"tests/Feature/V2/V2CompatibilityWorkflowTest.php": 7.354094,
Expand Down Expand Up @@ -138,6 +143,11 @@
"tests/Feature/V2/V2AvroAdapterCodecTest.php": 6.000000,
"tests/Feature/V2/V2AvroParitySuiteTest.php": 2.820501,
"tests/Feature/V2/V2AwaitWorkflowTest.php": 16.564047,
"tests/Feature/V2/V2CancellationCascadeViewTest.php": 30.0,
"tests/Feature/V2/V2CancellationCleanupOutcomeTest.php": 30.0,
"tests/Feature/V2/V2CancellationRequestConcurrencyTest.php": 10.0,
"tests/Feature/V2/V2CancellationScopeDescendantsTest.php": 182.205493,
"tests/Feature/V2/V2CancellationScopeHistoryTest.php": 10.0,
"tests/Feature/V2/V2ChildWorkflowExternalOutputReplayTest.php": 0.191675,
"tests/Feature/V2/V2ChildWorkflowNamespaceProjectionTest.php": 0.216388,
"tests/Feature/V2/V2CompatibilityWorkflowTest.php": 11.312729,
Expand Down
3 changes: 3 additions & 0 deletions .github/pr-test-selection.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,13 @@
"unit_contracts": [
"tests/Unit/Serializers/ExternalStorageEnvelopeTest.php",
"tests/Unit/Traits/ResolvesMethodDependenciesTest.php",
"tests/Unit/V2/ActivityCancellationCompletionTest.php",
"tests/Unit/V2/CancellationContextTest.php",
"tests/Unit/V2/CompiledWorkflowDefinitionTest.php",
"tests/Unit/V2/ExternalPayloadStorageTest.php",
"tests/Unit/V2/PlatformProtocolSpecsTest.php",
"tests/Unit/V2/ReadmeBranchDestinationsTest.php",
"tests/Unit/V2/ScopedCancellationContextTest.php",
"tests/Unit/V2/StartOptionsTest.php",
"tests/Unit/V2/VersionMarkerWireFormatTest.php",
"tests/Unit/V2/WorkflowFiberRunnerTest.php",
Expand Down
150 changes: 147 additions & 3 deletions .github/workflows/php.yml
Original file line number Diff line number Diff line change
Expand Up @@ -330,6 +330,18 @@ jobs:
vendor/bin/phpunit --testdox \
--log-junit build/test-results/pr-unit-contracts.xml

- name: Run workflow command normalizer unit cases
run: >-
vendor/bin/phpunit tests/Unit/V2/WorkflowCommandNormalizerTest.php
--fail-on-warning --log-junit build/test-results/pr-workflow-command-normalizer.xml
env:
REDIS_HOST: 127.0.0.1

- name: Run cancellation timeline unit cases
run: >-
vendor/bin/phpunit tests/Unit/V2/CancellationHistoryTimelineTest.php
--fail-on-warning --log-junit build/test-results/pr-cancellation-timeline.xml

pr-feature-mysql:
needs: preflight
if: ${{ github.event_name == 'pull_request' }}
Expand Down Expand Up @@ -478,6 +490,138 @@ jobs:
QUEUE_CONNECTION: redis
XDEBUG_MODE: off

- name: Run scoped Activity fencing and original stop receipt cases
run: >-
vendor/bin/phpunit tests/Feature/V2/V2ScopedActivityCancellationTest.php
--testsuite feature
--fail-on-warning --log-junit build/test-results/pr-smoke-scoped-activities.xml
env:
DB_CONNECTION: mysql
QUEUE_CONNECTION: redis
XDEBUG_MODE: off

- name: Run scoped timer fencing and late fire cases
run: >-
vendor/bin/phpunit tests/Feature/V2/V2ScopedTimerCancellationTest.php
--testsuite feature
--fail-on-warning --log-junit build/test-results/pr-smoke-scoped-timers.xml
env:
DB_CONNECTION: mysql
QUEUE_CONNECTION: redis
XDEBUG_MODE: off

- name: Run canonical operation scope delivery boundary cases
run: >-
vendor/bin/phpunit tests/Feature/V2/V2CancellationScopeDeliveryTest.php
--testsuite feature
--fail-on-warning --log-junit build/test-results/pr-smoke-scope-delivery.xml
env:
DB_CONNECTION: mysql
QUEUE_CONNECTION: redis
XDEBUG_MODE: off

- name: Run canonical operation scope request authority cases
run: >-
vendor/bin/phpunit tests/Feature/V2/V2CancellationScopeRequestsTest.php
--testsuite feature
--fail-on-warning --log-junit build/test-results/pr-smoke-scope-requests.xml
env:
DB_CONNECTION: mysql
QUEUE_CONNECTION: redis
XDEBUG_MODE: off

- name: Run canonical operation scope admission cases
run: >-
vendor/bin/phpunit tests/Feature/V2/V2CancellationScopeHistoryTest.php
--testsuite feature
--fail-on-warning --log-junit build/test-results/pr-smoke-scope-admission.xml
env:
DB_CONNECTION: mysql
QUEUE_CONNECTION: redis
XDEBUG_MODE: off

- name: Run activity cancellation policy and portable admission cases
run: >-
vendor/bin/phpunit tests/Feature/V2/V2PortableCancellationDeliveryTest.php
--testsuite feature
--filter '/testInternal.*(ActivityWait|ActivityAbandon)|testPortableRemoteActivityPolicy/'
--fail-on-warning --log-junit build/test-results/pr-smoke-activity-cancellation-wait.xml
env:
DB_CONNECTION: mysql
QUEUE_CONNECTION: redis
XDEBUG_MODE: off

- name: Run local callback original-claim receipt cases
run: >-
vendor/bin/phpunit tests/Feature/V2/V2PortableCancellationDeliveryTest.php
--testsuite feature
--filter '/(testLocalStopReceipt|testLocalOriginalOwner|testLateLocalReceipt)/'
--fail-on-warning --log-junit build/test-results/pr-smoke-local-claim.xml
env:
DB_CONNECTION: mysql
QUEUE_CONNECTION: redis
XDEBUG_MODE: off

- name: Run portable local preparation cases
run: >-
vendor/bin/phpunit tests/Feature/V2/V2PortableLocalActivityPreparationTest.php
--testsuite feature
--fail-on-warning --log-junit build/test-results/pr-smoke-local-preparation.xml
env:
DB_CONNECTION: mysql
QUEUE_CONNECTION: redis
XDEBUG_MODE: off

- name: Run portable local retained-claim checkpoint cases
run: >-
vendor/bin/phpunit tests/Feature/V2/V2PortableLocalActivityCheckpointTest.php
--testsuite feature
--fail-on-warning --log-junit build/test-results/pr-smoke-local-checkpoint.xml
env:
DB_CONNECTION: mysql
QUEUE_CONNECTION: redis
XDEBUG_MODE: off

- name: Run portable local prepared outcome cases
run: >-
vendor/bin/phpunit tests/Feature/V2/V2PortableLocalActivityOutcomeTest.php
--testsuite feature
--fail-on-warning --log-junit build/test-results/pr-smoke-local-outcomes.xml
env:
DB_CONNECTION: mysql
QUEUE_CONNECTION: redis
XDEBUG_MODE: off

- name: Run portable local cold recovery cases
run: >-
vendor/bin/phpunit tests/Feature/V2/V2PortableLocalActivityRecoveryTest.php
--testsuite feature
--fail-on-warning --log-junit build/test-results/pr-smoke-local-recovery.xml
env:
DB_CONNECTION: mysql
QUEUE_CONNECTION: redis
XDEBUG_MODE: off

- name: Run portable local supervisor control cases
run: >-
vendor/bin/phpunit tests/Feature/V2/V2PortableLocalActivityControlTest.php
--testsuite feature
--fail-on-warning --log-junit build/test-results/pr-smoke-local-control.xml
env:
DB_CONNECTION: mysql
QUEUE_CONNECTION: redis
XDEBUG_MODE: off

- name: Run portable local cleanup and application heartbeat cases
run: >-
vendor/bin/phpunit tests/Feature/V2/V2PortableLocalActivityCleanupTest.php
--testsuite feature
--fail-on-warning --log-junit build/test-results/pr-smoke-local-cleanup.xml
env:
DB_CONNECTION: mysql
QUEUE_CONNECTION: redis
XDEBUG_MODE: off

- name: Upload pull-request MySQL smoke timing report
if: ${{ always() && github.server_url == 'https://github.com' }}
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
Expand All @@ -498,7 +642,7 @@ jobs:
needs: preflight
if: ${{ github.event_name != 'pull_request' }}
runs-on: ubuntu-latest
timeout-minutes: 18
timeout-minutes: 21

strategy:
fail-fast: false
Expand Down Expand Up @@ -597,7 +741,7 @@ jobs:

- name: Run feature test suite (MySQL shard ${{ matrix.shard }})
id: mysql_suite
timeout-minutes: 12
timeout-minutes: 15
run: |
mkdir -p build/test-results
php scripts/ci/split-feature-tests.php \
Expand All @@ -612,7 +756,7 @@ jobs:
cp /tmp/mysql-shard-files "build/test-results/mysql-shard-${{ matrix.shard }}-files.txt"
started_at=$(date +%s)
set +e
timeout --foreground 12m xargs -a /tmp/mysql-shard-files \
timeout --foreground 15m xargs -a /tmp/mysql-shard-files \
vendor/bin/phpunit --testdox --testsuite feature \
--coverage-clover "build/test-results/mysql-shard-${{ matrix.shard }}-coverage.xml" \
--log-junit "build/test-results/mysql-shard-${{ matrix.shard }}.xml"
Expand Down
2 changes: 1 addition & 1 deletion composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@
"dev-main": "2.0.x-dev"
},
"durable-workflow": {
"product-train": "2.3.5",
"product-train": "2.4.0-rc.1",
"laravel-embedded-upgrade-contract": "resources/laravel-embedded-upgrade-contract.json",
"laravel-dependency-security-policy": "resources/laravel-dependency-security-policy.json"
},
Expand Down
Loading
Loading