Skip to content
Open
Show file tree
Hide file tree
Changes from 11 commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
576a33f
fix(ci): stabilize platform e2e tests
shumkov Jul 23, 2026
9074263
fix(wallet-lib): initialize SPV chain before account sync
shumkov Jul 23, 2026
eddf6d5
Merge remote-tracking branch 'origin/v4.1-dev' into ci/e2e-tests-green
shumkov Jul 23, 2026
561da40
fix(dapi): preserve block header rejection errors
shumkov Jul 23, 2026
3bfa5d7
fix(spv): honor regtest no-retarget consensus
shumkov Jul 23, 2026
d2a574c
fix(test-suite): address remaining e2e failures
shumkov Jul 23, 2026
b4913ae
fix(e2e): prepare proof context and isolate keychains
shumkov Jul 23, 2026
3339d25
docs(e2e): qualify wallet bootstrap scope
shumkov Jul 23, 2026
7b79086
fix(swift): recover missing CI default keychain
shumkov Jul 23, 2026
ea337ae
fix(ci): allow cold E2E image pulls
shumkov Jul 23, 2026
86bc514
fix(wasm): refresh rotated quorum keys before proofs
shumkov Jul 23, 2026
2ec207a
fix(e2e): wait for propagated state in flaky suites
shumkov Jul 24, 2026
fa95a7f
fix(wallet): authenticate cold header sync from genesis
shumkov Jul 24, 2026
ccae976
fix(swift): recover unreadable CI keychain lists
shumkov Jul 24, 2026
c90eab2
fix(ci): allow cold Dashmate image pulls
shumkov Jul 24, 2026
fc8e1e8
fix(swift): pin CI keychain preference domain
shumkov Jul 24, 2026
259d3ba
fix(e2e): gate tests on observable readiness
shumkov Jul 24, 2026
77f70d1
docs: remove the E2E stabilization working spec
shumkov Jul 28, 2026
2b895b9
fix(test-suite): exclude network-derived creator id from DPNS compari…
shumkov Jul 28, 2026
10913fa
revert(swift): drop CI keychain recovery machinery
shumkov Jul 28, 2026
1214004
fix(wasm-sdk): keep broadcast results when a contract refresh fails
shumkov Jul 28, 2026
09dacd5
fix(test-suite): require an execution proof wherever one exists
shumkov Jul 28, 2026
a031579
fix(wallet-lib): surface and contain the header sync start change
shumkov Jul 28, 2026
2139520
fix(e2e): tighten header stream cancellation and test assertions
shumkov Jul 28, 2026
b8f5e69
fix(sdk): bound masternode discovery requests on wasm
shumkov Jul 28, 2026
576ab34
fix(test-suite): report WASM verifier errors as plain Errors
shumkov Jul 28, 2026
82f03b6
fix(wasm-sdk): fetch referenced contracts the SDK cannot resolve
shumkov Jul 28, 2026
6e33942
fix(wasm-sdk): scope the system contract import to the tests
shumkov Jul 28, 2026
95948cd
style(wasm-sdk): wrap an over-width line in the contract fetch test
shumkov Jul 28, 2026
88f65d3
fix(wasm-sdk): take the platform version from the inner SDK
shumkov Jul 28, 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
4 changes: 2 additions & 2 deletions .github/actions/local-network/action.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ runs:
${{ env.HOME }}/.dashmate
**/.env
dashmate_volumes_dump
key: local-network-volumes/${{ steps.dashmate-fingerprint.outputs.sha }}
key: local-network-volumes/${{ steps.dashmate-fingerprint.outputs.sha }}/${{ hashFiles('.github/actions/local-network/action.yaml', 'packages/dapi/.env.example', 'packages/rs-drive-abci/.env.local', 'scripts/setup_local_network.sh', 'scripts/configure_test_suite.sh', 'scripts/configure_dotenv.sh', 'scripts/dashmate/volumes/**') }}
Comment thread
coderabbitai[bot] marked this conversation as resolved.

- name: Restore dashmate volumes
run: ./scripts/dashmate/volumes/restore.sh
Expand Down Expand Up @@ -69,7 +69,7 @@ runs:
${{ env.HOME }}/.dashmate
**/.env
dashmate_volumes_dump
key: local-network-volumes/${{ steps.dashmate-fingerprint.outputs.sha }}
key: ${{ steps.local-network-data.outputs.cache-primary-key }}
if: steps.local-network-data.outputs.cache-hit != 'true'

- name: Configure pre-built docker images
Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/swift-sdk-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,9 @@ jobs:
rm -rf packages/swift-sdk/.build || true
rm -rf packages/swift-sdk/SwiftExampleApp/.build || true

- name: Test Swift CI keychain lifecycle
run: /bin/bash packages/swift-sdk/tests/run-tests-keychain-regression.sh

- name: Build and test Swift SDK
env:
# The self-hosted runner persists Cargo's target cache between jobs.
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/tests-dashmate.yml
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ jobs:
${{ env.HOME }}/.dashmate
**/.env
dashmate_volumes_dump
key: local-network-volumes/${{ steps.dashmate-fingerprint.outputs.sha }}
key: local-network-volumes/${{ steps.dashmate-fingerprint.outputs.sha }}/${{ hashFiles('.github/actions/local-network/action.yaml', 'packages/dapi/.env.example', 'packages/rs-drive-abci/.env.local', 'scripts/setup_local_network.sh', 'scripts/configure_test_suite.sh', 'scripts/configure_dotenv.sh', 'scripts/dashmate/volumes/**') }}
if: inputs.restore_local_network_data == true

- name: Restore dashmate volumes
Expand All @@ -110,7 +110,7 @@ jobs:
env:
DEBUG: 1
DASHMATE_E2E_TESTS_SKIP_IMAGE_BUILD: true
if: steps.local-network-data.outputs.cache-hit == 'false'
if: steps.local-network-data.outputs.cache-hit != 'true'

- name: Show Docker logs
if: ${{ failure() }}
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/tests-test-suite.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,8 @@ jobs:
test-suite:
name: Run ${{ inputs.name }}
runs-on: ubuntu-24.04
timeout-minutes: 15
# Cold helper-image pulls can consume most of 15 minutes before tests start.
timeout-minutes: 30
env:
ECR_HOST: ${{ secrets.AWS_ACCOUNT_ID }}.dkr.ecr.${{ vars.AWS_REGION }}.amazonaws.com
steps:
Expand Down
47 changes: 41 additions & 6 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ jobs:
doctests-changed: ${{ steps.override.outputs.doctests-changed || steps.filter-doctests.outputs.doctests-changed }}
swift-sdk-changed: ${{ steps.override.outputs.swift-sdk-changed || steps.filter-swift-sdk.outputs.swift-sdk-changed }}
version-changed: ${{ steps.override.outputs.version-changed || steps.filter-version.outputs.version-changed }}
e2e-tests-changed: ${{ steps.override.outputs.e2e-tests-changed || steps.filter-e2e.outputs.e2e-tests-changed }}
steps:
- name: Checkout
uses: actions/checkout@v4
Expand Down Expand Up @@ -89,6 +90,37 @@ jobs:
- .github/workflows/tests.yml
- .github/scripts/check-wallet-closure.py

- uses: dorny/paths-filter@v4
id: filter-e2e
if: ${{ github.event_name != 'workflow_dispatch' }}
with:
filters: |
e2e-tests-changed:
- packages/platform-test-suite/**
- packages/dashmate/**
- packages/js-dapi-client/**
- packages/js-dash-sdk/**
- packages/wallet-lib/**
- packages/wasm-sdk/**
- packages/dapi/.env.example
- packages/rs-drive-abci/.env.local
- .github/actions/aws_ecr_login/**
- .github/actions/docker/**
- .github/actions/local-network/**
- .github/actions/nodejs/**
- .github/actions/rust/**
- .github/actions/sccache/**
- .github/workflows/tests.yml
- .github/workflows/tests-build-js.yml
- .github/workflows/tests-build-image.yml
- .github/workflows/tests-test-suite.yml
- .github/workflows/tests-packges-functional.yml
- .github/workflows/tests-dashmate.yml
- scripts/setup_local_network.sh
- scripts/configure_test_suite.sh
- scripts/configure_dotenv.sh
- scripts/dashmate/volumes/**

- name: Check for platform version change
id: filter-version
if: ${{ github.event_name != 'workflow_dispatch' }}
Expand Down Expand Up @@ -187,6 +219,7 @@ jobs:
with:
filters: |
swift-sdk-changed:
- .github/workflows/swift-sdk-build.yml
- packages/swift-sdk/**
- packages/dapi-grpc/**
- packages/dashpay-contract/**
Expand Down Expand Up @@ -265,12 +298,13 @@ jobs:
echo 'doctests-changed=true' >> "$GITHUB_OUTPUT"
echo 'swift-sdk-changed=true' >> "$GITHUB_OUTPUT"
echo 'version-changed=true' >> "$GITHUB_OUTPUT"
echo 'e2e-tests-changed=true' >> "$GITHUB_OUTPUT"

build-js:
name: Build JS packages
needs:
- changes
if: ${{ needs.changes.outputs.js-packages != '[]' || needs.changes.outputs.version-changed == 'true' || github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' }}
if: ${{ needs.changes.outputs.js-packages != '[]' || needs.changes.outputs.version-changed == 'true' || needs.changes.outputs.e2e-tests-changed == 'true' || github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' }}
secrets: inherit
uses: ./.github/workflows/tests-build-js.yml

Expand All @@ -279,10 +313,10 @@ jobs:
needs:
- check-secrets
- changes
# Build Docker images on version change, nightly schedule, or manual dispatch
# Build Docker images for platform E2E changes, version changes, nightly schedules, or manual dispatches
if: >-
needs.check-secrets.outputs.has_ecr == 'true' &&
(needs.changes.outputs.version-changed == 'true' || github.event_name == 'schedule' || github.event_name == 'workflow_dispatch')
(needs.changes.outputs.version-changed == 'true' || needs.changes.outputs.e2e-tests-changed == 'true' || github.event_name == 'schedule' || github.event_name == 'workflow_dispatch')
secrets: inherit
strategy:
fail-fast: false
Expand Down Expand Up @@ -426,8 +460,9 @@ jobs:
if: >-
always() &&
needs.check-secrets.outputs.has_ecr == 'true' &&
needs.build-js.result == 'success' &&
needs.build-images.result == 'success' &&
(needs.changes.outputs.version-changed == 'true' || github.event_name == 'schedule' || github.event_name == 'workflow_dispatch')
(needs.changes.outputs.version-changed == 'true' || needs.changes.outputs.e2e-tests-changed == 'true' || github.event_name == 'schedule' || github.event_name == 'workflow_dispatch')
Comment thread
coderabbitai[bot] marked this conversation as resolved.

test-suite:
name: Test Suite
Expand All @@ -442,7 +477,7 @@ jobs:
needs.check-secrets.outputs.has_ecr == 'true' &&
needs.build-js.result == 'success' &&
needs.build-images.result == 'success' &&
(needs.changes.outputs.version-changed == 'true' || github.event_name == 'schedule' || github.event_name == 'workflow_dispatch')
(needs.changes.outputs.version-changed == 'true' || needs.changes.outputs.e2e-tests-changed == 'true' || github.event_name == 'schedule' || github.event_name == 'workflow_dispatch')
strategy:
fail-fast: false
matrix:
Expand Down Expand Up @@ -479,5 +514,5 @@ jobs:
needs.check-secrets.outputs.has_ecr == 'true' &&
needs.build-js.result == 'success' &&
needs.build-images.result == 'success' &&
(needs.changes.outputs.version-changed == 'true' || github.event_name == 'schedule' || github.event_name == 'workflow_dispatch')
(needs.changes.outputs.version-changed == 'true' || needs.changes.outputs.e2e-tests-changed == 'true' || github.event_name == 'schedule' || github.event_name == 'workflow_dispatch')
uses: ./.github/workflows/tests-packges-functional.yml
Loading
Loading