mirror of
https://github.com/sonr-io/sonr.git
synced 2026-08-02 17:31:39 +00:00
100 lines
2.2 KiB
YAML
100 lines
2.2 KiB
YAML
name: CI
|
|
on:
|
|
pull_request:
|
|
push:
|
|
branches: [master]
|
|
workflow_dispatch:
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
env:
|
|
GO_VERSION: 1.24.4
|
|
NODE_VERSION: 20
|
|
PNPM_VERSION: 10
|
|
permissions:
|
|
contents: read
|
|
pull-requests: read
|
|
packages: write
|
|
jobs:
|
|
detect-changes:
|
|
name: Analyze
|
|
uses: ./.github/workflows/changes.yml
|
|
|
|
client:
|
|
name: Client
|
|
needs: detect-changes
|
|
if: ${{ needs.detect-changes.outputs.client == 'true' }}
|
|
uses: ./.github/workflows/devbox.yml
|
|
with:
|
|
install: go
|
|
test: client
|
|
build: client
|
|
|
|
core:
|
|
name: Core
|
|
needs: detect-changes
|
|
if: ${{ needs.detect-changes.outputs.go-changes == 'true' }}
|
|
uses: ./.github/workflows/devbox.yml
|
|
with:
|
|
install: go
|
|
test: app
|
|
build: snrd
|
|
|
|
crypto:
|
|
name: Crypto
|
|
needs: detect-changes
|
|
if: ${{ needs.detect-changes.outputs.crypto == 'true' }}
|
|
uses: ./.github/workflows/devbox.yml
|
|
with:
|
|
install: go
|
|
test: crypto
|
|
|
|
docker:
|
|
name: Docker
|
|
needs: detect-changes
|
|
if: ${{ needs.detect-changes.outputs.docker-changes == 'true' }}
|
|
uses: ./.github/workflows/devbox.yml
|
|
with:
|
|
install: go
|
|
build: docker
|
|
|
|
hway:
|
|
name: Highway
|
|
needs: detect-changes
|
|
if: ${{ needs.detect-changes.outputs.hway == 'true' }}
|
|
uses: ./.github/workflows/devbox.yml
|
|
with:
|
|
install: go
|
|
build: hway
|
|
|
|
packages:
|
|
name: Packages
|
|
needs: detect-changes
|
|
if: ${{ needs.detect-changes.outputs.packages-changes == 'true' }}
|
|
uses: ./.github/workflows/devbox.yml
|
|
with:
|
|
install: pnpm
|
|
test: packages
|
|
|
|
web:
|
|
name: Web
|
|
needs: detect-changes
|
|
if: ${{ needs.detect-changes.outputs.web-changes == 'true' }}
|
|
uses: ./.github/workflows/devbox.yml
|
|
with:
|
|
install: pnpm
|
|
test: web
|
|
|
|
x-modules:
|
|
name: X
|
|
needs: detect-changes
|
|
if: ${{ needs.detect-changes.outputs.modules != '[]' && needs.detect-changes.outputs.modules != '' }}
|
|
strategy:
|
|
matrix:
|
|
module: ${{ fromJSON(needs.detect-changes.outputs.modules) }}
|
|
fail-fast: false
|
|
uses: ./.github/workflows/devbox.yml
|
|
with:
|
|
install: go
|
|
test: ${{ matrix.module }}
|