mirror of
https://github.com/sonr-io/sonr.git
synced 2026-08-02 17:31:39 +00:00
137 lines
4.3 KiB
YAML
137 lines
4.3 KiB
YAML
|
|
name: Changes
|
|
on:
|
|
workflow_call:
|
|
outputs:
|
|
modules:
|
|
description: "JSON array of changed modules"
|
|
value: ${{ jobs.detect.outputs.modules }}
|
|
core:
|
|
description: "True if core files changed"
|
|
value: ${{ jobs.detect.outputs.core }}
|
|
app:
|
|
description: "True if app files changed"
|
|
value: ${{ jobs.detect.outputs.app }}
|
|
crypto:
|
|
description: "True if crypto files changed"
|
|
value: ${{ jobs.detect.outputs.crypto }}
|
|
hway:
|
|
description: "True if highway files changed"
|
|
value: ${{ jobs.detect.outputs.hway }}
|
|
client:
|
|
description: "True if client files changed"
|
|
value: ${{ jobs.detect.outputs.client }}
|
|
packages-changes:
|
|
description: "True if JS packages changed"
|
|
value: ${{ jobs.detect.outputs.packages-changes }}
|
|
web-changes:
|
|
description: "True if web app files changed"
|
|
value: ${{ jobs.detect.outputs.web-changes }}
|
|
go-changes:
|
|
description: "True if Go files changed"
|
|
value: ${{ jobs.detect.outputs.go-changes }}
|
|
wasm-changes:
|
|
description: "True if WASM files changed"
|
|
value: ${{ jobs.detect.outputs.wasm-changes }}
|
|
docker-changes:
|
|
description: "True if Docker files changed"
|
|
value: ${{ jobs.detect.outputs.docker-changes }}
|
|
|
|
jobs:
|
|
detect:
|
|
name: Find Changes
|
|
runs-on: ubuntu-latest
|
|
outputs:
|
|
modules: ${{ steps.set-modules.outputs.modules }}
|
|
core: ${{ steps.filter.outputs.core }}
|
|
app: ${{ steps.filter.outputs.app }}
|
|
crypto: ${{ steps.filter.outputs.crypto }}
|
|
hway: ${{ steps.filter.outputs.hway }}
|
|
client: ${{ steps.filter.outputs.client }}
|
|
packages-changes: ${{ steps.filter.outputs.packages-changes == 'true' }}
|
|
web-changes: ${{ steps.filter.outputs.web-changes == 'true' }}
|
|
go-changes: ${{ steps.filter.outputs.go-changes == 'true' }}
|
|
wasm-changes: ${{ steps.filter.outputs.wasm-changes == 'true' }}
|
|
docker-changes: ${{ steps.filter.outputs.docker-changes == 'true' }}
|
|
steps:
|
|
- name: Check out source
|
|
uses: actions/checkout@v4
|
|
- name: Detect changed files
|
|
uses: dorny/paths-filter@v3
|
|
id: filter
|
|
with:
|
|
filters: |
|
|
dex:
|
|
- 'x/dex/**'
|
|
- 'proto/sonr/dex/**'
|
|
did:
|
|
- 'x/did/**'
|
|
- 'proto/sonr/did/**'
|
|
dwn:
|
|
- 'x/dwn/**'
|
|
- 'proto/sonr/dwn/**'
|
|
svc:
|
|
- 'x/svc/**'
|
|
- 'proto/sonr/svc/**'
|
|
hway:
|
|
- 'cmd/hway/**'
|
|
- 'internal/bridge/**'
|
|
- 'internal/**'
|
|
crypto:
|
|
- 'crypto/**'
|
|
client:
|
|
- 'client/**'
|
|
- 'client/go.mod'
|
|
- 'client/go.sum'
|
|
core:
|
|
- 'app/**'
|
|
- 'cmd/**'
|
|
- 'go.mod'
|
|
- 'go.sum'
|
|
packages-changes:
|
|
- 'packages/**'
|
|
- 'pnpm-lock.yaml'
|
|
- 'package.json'
|
|
- 'tsconfig.json'
|
|
web-changes:
|
|
- 'web/**'
|
|
- 'pnpm-lock.yaml'
|
|
- 'package.json'
|
|
go-changes:
|
|
- 'app/**'
|
|
- 'x/**'
|
|
- 'cmd/**'
|
|
- 'client/**'
|
|
- 'go.mod'
|
|
- 'go.sum'
|
|
wasm-changes:
|
|
- 'cmd/vault/**'
|
|
- 'x/dwn/client/wasm/main.go'
|
|
- 'x/dwn/Makefile'
|
|
docker-changes:
|
|
- 'Dockerfile'
|
|
list-files: json
|
|
- name: Set module outputs
|
|
id: set-modules
|
|
run: |
|
|
modules=()
|
|
if [[ "${{ steps.filter.outputs.dex }}" == "true" ]]; then
|
|
modules+=("dex")
|
|
fi
|
|
if [[ "${{ steps.filter.outputs.did }}" == "true" ]]; then
|
|
modules+=("did")
|
|
fi
|
|
if [[ "${{ steps.filter.outputs.dwn }}" == "true" ]]; then
|
|
modules+=("dwn")
|
|
fi
|
|
if [[ "${{ steps.filter.outputs.svc }}" == "true" ]]; then
|
|
modules+=("svc")
|
|
fi
|
|
|
|
if [[ ${#modules[@]} -eq 0 ]]; then
|
|
echo "modules=[]" >> $GITHUB_OUTPUT
|
|
else
|
|
printf -v joined '"%s",' "${modules[@]}"
|
|
echo "modules=[${joined%,}]" >> $GITHUB_OUTPUT
|
|
fi
|