Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
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
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/**
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
7 changes: 7 additions & 0 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ jobs:
outputs:
js-packages: ${{ steps.filter-js.outputs.changes }}
rs-packages: ${{ steps.filter-rs.outputs.changes }}
rs-packages-direct: ${{ steps.filter-rs-direct.outputs.changes }}
steps:
- name: Checkout
uses: actions/checkout@v4
Expand All @@ -42,6 +43,11 @@ jobs:
with:
filters: .github/package-filters/rs-packages.yml

- uses: dorny/paths-filter@v2
id: filter-rs-direct
with:
filters: .github/package-filters/rs-packages-direct.yml

build-js:
name: Build JS packages
if: ${{ github.event_name == 'push' || github.event_name == 'workflow_dispatch' || github.event_name == 'schedule' || !github.event.pull_request.draft }}
Expand Down Expand Up @@ -84,6 +90,7 @@ jobs:
with:
package: ${{ matrix.rs-package }}
check-each-feature: ${{ contains(fromJSON('["dash-sdk","rs-dapi-client","dapi-grpc","dpp","drive-abci"]'), matrix.rs-package) }}
direct-packages: ${{ needs.changes.outputs.rs-packages-direct }}

rs-crates-security:
name: Rust crates security audit
Expand Down
Loading