Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
47 changes: 47 additions & 0 deletions .github/package-filters/js-packages-direct.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
'@dashevo/wallet-utils-contract':
- packages/wallet-utils-contract/**

'@dashevo/token-history-contract':
- packages/token-history-contract/**

'@dashevo/dashpay-contract':
- packages/dashpay-contract/**

'@dashevo/masternode-reward-shares-contract':
- packages/masternode-reward-shares-contract/**

'@dashevo/withdrawals-contract':
- packages/withdrawals-contract/**

'@dashevo/dpns-contract':
- packages/dpns-contract/**

'@dashevo/grpc-common':
- packages/js-grpc-common/**

'@dashevo/wasm-dpp':
- packages/wasm-dpp/**

'@dashevo/dapi-grpc':
- packages/dapi-grpc/**

'@dashevo/dash-spv':
- packages/dash-spv/**

'@dashevo/dapi':
- packages/dapi/**

'@dashevo/dapi-client':
- packages/js-dapi-client/**

'@dashevo/wallet-lib':
- packages/wallet-lib/**

dash:
- packages/js-dash-sdk/**

dashmate:
- packages/dashmate/**

'@dashevo/platform-test-suite':
- packages/platform-test-suite/**
79 changes: 79 additions & 0 deletions .github/package-filters/js-packages-no-workflows.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
'@dashevo/wallet-utils-contract': &wallet-utils-contract
- packages/wallet-utils-contract/**

'@dashevo/token-history-contract': &token-history-contract
- packages/token-history-contract/**

'@dashevo/dashpay-contract': &dashpay-contract
- packages/dashpay-contract/**

'@dashevo/masternode-reward-shares-contract': &masternode-reward-shares-contract
- packages/masternode-reward-shares-contract/**

'@dashevo/withdrawals-contract': &withdrawals-contract
- packages/withdrawals-contract/**

'@dashevo/dpns-contract': &dpns-contract
- packages/dpns-contract/**

'@dashevo/grpc-common': &grpc-common
- packages/js-grpc-common/**

'@dashevo/wasm-dpp': &wasm-dpp
- packages/wasm-dpp/**
- *dashpay-contract
- *masternode-reward-shares-contract
- *dpns-contract
- *withdrawals-contract
- *wallet-utils-contract
- *token-history-contract
- packages/rs-platform-serialization/**
- packages/rs-platform-serialization-derive/**
- packages/rs-platform-value/**
- packages/rs-platform-value-convertible/**
- packages/rs-platform-version/**
- packages/rs-platform-versioning/**
- packages/rs-dpp/**

'@dashevo/dapi-grpc': &dapi-grpc
- packages/dapi-grpc/**
- *grpc-common

'@dashevo/dash-spv': &dash-spv
- packages/dash-spv/**

'@dashevo/dapi':
- packages/dapi/**
- *wasm-dpp
- *dapi-grpc
- *dash-spv

'@dashevo/dapi-client': &dapi-client
- packages/js-dapi-client/**
- *dapi-grpc
- *dash-spv
- *wasm-dpp

'@dashevo/wallet-lib': &wallet-lib
- packages/wallet-lib/**
- *dapi-client
- *wasm-dpp

dash: &dash
- packages/js-dash-sdk/**
- *dapi-client
- *wallet-lib

dashmate:
- packages/dashmate/**
- *dashpay-contract
- *masternode-reward-shares-contract
- *dpns-contract
- *withdrawals-contract
- *token-history-contract
- *wallet-lib
- *dapi-client

'@dashevo/platform-test-suite':
- packages/platform-test-suite/**
- *dash
44 changes: 44 additions & 0 deletions .github/package-filters/rs-packages-direct.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
wallet-utils-contract:
- packages/wallet-utils-contract/**

token-history-contract:
- packages/token-history-contract/**

dashpay-contract:
- packages/dashpay-contract/**

masternode-reward-shares-contract:
- packages/masternode-reward-shares-contract/**

withdrawals-contract:
- packages/withdrawals-contract/**

dpns-contract:
- packages/dpns-contract/**

json-schema-compatibility-validator:
- packages/rs-json-schema-compatibility-validator/**

dpp:
- packages/rs-dpp/**

wasm-dpp:
- packages/wasm-dpp/**

drive:
- packages/rs-drive/**

drive-abci:
- packages/rs-drive-abci/**

dapi-grpc:
- packages/dapi-grpc/**

rs-dapi-client:
- packages/rs-dapi-client/**

dash-sdk:
- packages/rs-sdk/**

rs-sdk-ffi:
- packages/rs-sdk-ffi/**
70 changes: 70 additions & 0 deletions .github/package-filters/rs-packages-no-workflows.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
wallet-utils-contract: &wallet-utils-contract
- packages/wallet-utils-contract/**

token-history-contract: &token-history-contract
- packages/token-history-contract/**

dashpay-contract: &dashpay-contract
- packages/dashpay-contract/**

masternode-reward-shares-contract: &masternode-reward-shares-contract
- packages/masternode-reward-shares-contract/**

withdrawals-contract: &withdrawals-contract
- packages/withdrawals-contract/**

dpns-contract: &dpns-contract
- packages/dpns-contract/**

json-schema-compatibility-validator: &json-schema-compatibility-validator
- packages/rs-json-schema-compatibility-validator/**

dpp: &dpp
- packages/rs-dpp/**
- *dashpay-contract
- *masternode-reward-shares-contract
- *dpns-contract
- *withdrawals-contract
- *wallet-utils-contract
- *token-history-contract
- *json-schema-compatibility-validator
- packages/rs-platform-serialization/**
- packages/rs-platform-serialization-derive/**
- packages/rs-platform-value/**
- packages/rs-platform-value-convertible/**
- packages/rs-platform-version/**
- packages/rs-platform-versioning/**

wasm-dpp:
- packages/wasm-dpp/**
- *dpp

drive: &drive
- packages/rs-drive/**
- *dpp

drive-abci:
- packages/rs-drive-abci/**
- *drive

dapi-grpc: &dapi_grpc
- packages/rs-platform-version/**
- packages/rs-dapi-grpc-macros/**
- packages/dapi-grpc/**

rs-dapi-client: &dapi_client
- packages/rs-dapi-client/**
- *dapi_grpc

dash-sdk:
- packages/rs-drive-proof-verifier/**
- packages/rs-sdk/**
- *dapi_client
- *drive

rs-sdk-ffi:
- packages/rs-sdk-ffi/**
- packages/rs-sdk/**
- packages/rs-drive-proof-verifier/**
- *dapi_client
- *drive
32 changes: 32 additions & 0 deletions .github/package-filters/test-suite-triggers.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
run:
- packages/platform-test-suite/**
- packages/dashmate/**
- packages/dapi/**
- packages/js-dash-sdk/**
- packages/js-dapi-client/**
- packages/wasm-dpp/**
- packages/dapi-grpc/**
- packages/js-grpc-common/**
- packages/dash-spv/**
- packages/wallet-lib/**
# Rust core components that affect local network behavior
- packages/rs-dpp/**
- packages/rs-drive/**
- packages/rs-drive-abci/**
- packages/rs-dapi-client/**
- packages/rs-platform-serialization/**
- packages/rs-platform-serialization-derive/**
- packages/rs-platform-value/**
- packages/rs-platform-value-convertible/**
- packages/rs-platform-version/**
- packages/rs-platform-versioning/**
# System contracts used by validations
- packages/dashpay-contract/**
- packages/masternode-reward-shares-contract/**
- packages/dpns-contract/**
- packages/withdrawals-contract/**
- packages/token-history-contract/**
- packages/wallet-utils-contract/**
# Local network scripts and action
- .github/actions/local-network/**
- scripts/**
6 changes: 4 additions & 2 deletions .github/workflows/pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,21 +32,23 @@ jobs:
# Configure which scopes are allowed (newline-delimited).
# These are regex patterns auto-wrapped in `^ $`.
scopes: |
ci
dapi
platform
drive
drive-abci
dpp
dashmate
contract
sdk
rs-sdk
rs-sdk-ffi
swift-sdk
strategy-tests
simple-signer
wallet-lib
test-suite
bench-suite
release
dash-spv
wasm-sdk
requireScope: false
# Configure additional validation for the subject based on a regex.
Expand Down
5 changes: 5 additions & 0 deletions .github/workflows/tests-js-package.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,10 @@ on:
description: The package name to run tests for
type: string
required: true
direct-packages:
description: JSON array of JS packages that changed directly
type: string
default: '[]'
skip-tests:
description: Skip running tests
type: boolean
Expand All @@ -19,6 +23,7 @@ jobs:
name: Linting
runs-on: ubuntu-24.04
timeout-minutes: 5
if: contains(fromJSON(inputs.direct-packages), inputs.package)
permissions:
id-token: write
contents: read
Expand Down
14 changes: 9 additions & 5 deletions .github/workflows/tests-rs-package.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,16 @@ on:
description: If true, try to build each individual feature for this crate
type: boolean
default: false
direct-packages:
description: JSON array of packages that changed directly (not via deps)
type: string
default: '[]'

jobs:
lint:
name: Linting
runs-on: ubuntu-24.04
if: contains(fromJSON(inputs.direct-packages), inputs.package)
permissions:
id-token: write
contents: read
Expand Down Expand Up @@ -51,6 +56,7 @@ jobs:
formatting:
name: Formatting
runs-on: ubuntu-24.04
if: contains(fromJSON(inputs.direct-packages), inputs.package)
timeout-minutes: 5
steps:
- name: Check out repo
Expand All @@ -71,6 +77,7 @@ jobs:
unused_deps:
name: Unused dependencies
runs-on: ubuntu-24.04
if: contains(fromJSON(inputs.direct-packages), inputs.package)
permissions:
id-token: write
contents: read
Expand Down Expand Up @@ -113,10 +120,7 @@ jobs:
name: Detect immutable structure changes
timeout-minutes: 10
runs-on: ubuntu-24.04
# FIXME: as we use `gh pr view` below, this check can only
# run on pull requests. We should find a way to run it
# when manual triggers are used.
if: github.event_name == 'pull_request'
if: github.event_name == 'pull_request' && contains(fromJSON(inputs.direct-packages), inputs.package)
steps:
- name: Checkout base commit
uses: actions/checkout@v4
Expand Down Expand Up @@ -207,7 +211,7 @@ jobs:
name: Check each feature
runs-on: ubuntu-24.04
timeout-minutes: 15
if: ${{ inputs.check-each-feature }}
if: ${{ inputs.check-each-feature && contains(fromJSON(inputs.direct-packages), inputs.package) }}
steps:
- name: Check out repo
uses: actions/checkout@v4
Expand Down
Loading
Loading