Skip to content

chore(deps): update dependency react-icons to v5.6.0 #4549

chore(deps): update dependency react-icons to v5.6.0

chore(deps): update dependency react-icons to v5.6.0 #4549

Workflow file for this run

name: CI
on:
pull_request:
branches:
- main
- dev
push:
branches:
- main
- dev
paths-ignore:
- '**.md'
- '.gitignore'
- 'LICENSE'
- '.github/ISSUE_TEMPLATE/**'
- '.github/PULL_REQUEST_TEMPLATE.md'
- '.github/labeler.yml'
workflow_dispatch:
# Cancel in-progress runs for the same workflow and branch
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
NODE_VERSION: '24'
GO_VERSION: '1.25.x'
jobs:
# Detect which components have changed
changes:
name: Detect Changes
runs-on: ubuntu-latest
outputs:
formulus: ${{ steps.filter.outputs.formulus }}
formulus-formplayer: ${{ steps.filter.outputs.formulus-formplayer }}
synkronus: ${{ steps.filter.outputs.synkronus }}
synkronus-cli: ${{ steps.filter.outputs.synkronus-cli }}
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Detect changed components
uses: dorny/paths-filter@v2
id: filter
with:
filters: |
formulus:
- 'formulus/**'
formulus-formplayer:
- 'formulus-formplayer/**'
synkronus:
- 'synkronus/**'
- 'Dockerfile'
synkronus-cli:
- 'synkronus-cli/**'
# Lint and test for formulus (React Native)
formulus:
name: Formulus (React Native)
runs-on: ubuntu-latest
needs: changes
if: ${{ needs.changes.outputs.formulus == 'true' || github.event_name == 'workflow_dispatch' }}
defaults:
run:
working-directory: ./formulus
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
cache: 'npm'
cache-dependency-path: |
formulus/package-lock.json
packages/tokens/package-lock.json
- name: Install and build @ode/tokens
working-directory: .
run: |
cd packages/tokens
npm install
npm run build
- name: Install dependencies
run: npm install
- name: Run linter
run: npm run lint
- name: Run tests
run: npm test -- --ci --coverage --watchAll=false
# Lint and test for formulus-formplayer (React Web)
formulus-formplayer:
name: Formulus Formplayer (React Web)
runs-on: ubuntu-latest
needs: changes
if: ${{ needs.changes.outputs.formulus-formplayer == 'true' || github.event_name == 'workflow_dispatch' }}
defaults:
run:
working-directory: ./formulus-formplayer
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
cache: 'npm'
cache-dependency-path: formulus-formplayer/package-lock.json
- name: Install and build @ode/tokens
working-directory: .
run: |
cd packages/tokens
npm install
npm run build
- name: Install dependencies
run: npm install
- name: Run linter
run: npm run lint
continue-on-error: false
- name: Run Prettier check
run: npm run format:check
continue-on-error: false
- name: Run tests
run: npm test -- --coverage --watchAll=false
continue-on-error: true # Tests not fully set up yet
- name: Build
run: npm run build
continue-on-error: false
# Build and test for synkronus (Go backend)
synkronus:
name: Synkronus (Go Backend)
runs-on: ubuntu-latest
needs: changes
if: ${{ needs.changes.outputs.synkronus == 'true' || github.event_name == 'workflow_dispatch' }}
defaults:
run:
working-directory: ./synkronus
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Go
uses: actions/setup-go@v5
with:
go-version: ${{ env.GO_VERSION }}
cache-dependency-path: synkronus/go.sum
- name: Verify dependencies
run: go mod verify
- name: Download dependencies
run: go mod download
- name: Run gofmt (warning)
run: |
UNFORMATTED_FILES=$(git ls-files '*.go' | xargs gofmt -s -l)
if [ -n "$UNFORMATTED_FILES" ]; then
echo "⚠️ Code is not formatted. Consider running 'go fmt ./...' or 'gofmt -s -w .'"
echo "Unformatted files:"
echo "$UNFORMATTED_FILES"
echo "Diffs:"
echo "$UNFORMATTED_FILES" | xargs gofmt -s -d
else
echo "✅ All Go files are formatted."
fi
- name: Run golangci-lint (if available)
run: |
if command -v golangci-lint &> /dev/null; then
golangci-lint run
else
echo "golangci-lint not installed, skipping..."
fi
continue-on-error: true
- name: Run tests
run: go test -v -race -coverprofile=coverage.out ./...
- name: Build
run: go build -v ./cmd/synkronus
continue-on-error: false
# Build and test for synkronus-cli (Go CLI)
synkronus-cli:
name: Synkronus CLI (Go CLI)
runs-on: ubuntu-latest
needs: changes
if: ${{ needs.changes.outputs.synkronus-cli == 'true' || github.event_name == 'workflow_dispatch' }}
defaults:
run:
working-directory: ./synkronus-cli
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Go
uses: actions/setup-go@v5
with:
go-version: ${{ env.GO_VERSION }}
cache-dependency-path: synkronus-cli/go.sum
- name: Verify dependencies
run: go mod verify
- name: Download dependencies
run: go mod download
- name: Run gofmt (warning)
run: |
UNFORMATTED_FILES=$(git ls-files '*.go' | xargs gofmt -s -l)
if [ -n "$UNFORMATTED_FILES" ]; then
echo "⚠️ Code is not formatted. Consider running 'go fmt ./...' or 'gofmt -s -w .'"
echo "Unformatted files:"
echo "$UNFORMATTED_FILES"
echo "Diffs:"
echo "$UNFORMATTED_FILES" | xargs gofmt -s -d
else
echo "✅ All Go files are formatted."
fi
- name: Run tests
run: go test -v -race -coverprofile=coverage.out ./...
- name: Build
run: go build -v ./cmd/synkronus
continue-on-error: false
# Summary job that runs after all component jobs
ci-summary:
name: CI Summary
runs-on: ubuntu-latest
needs: [formulus, formulus-formplayer, synkronus, synkronus-cli]
if: always()
steps:
- name: Check job results
run: |
echo "## CI Summary" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "| Component | Status |" >> $GITHUB_STEP_SUMMARY
echo "|-----------|--------|" >> $GITHUB_STEP_SUMMARY
echo "| Formulus | ${{ needs.formulus.result }} |" >> $GITHUB_STEP_SUMMARY
echo "| Formulus Formplayer | ${{ needs.formulus-formplayer.result }} |" >> $GITHUB_STEP_SUMMARY
echo "| Synkronus | ${{ needs.synkronus.result }} |" >> $GITHUB_STEP_SUMMARY
echo "| Synkronus CLI | ${{ needs.synkronus-cli.result }} |" >> $GITHUB_STEP_SUMMARY
if [ "${{ needs.formulus.result }}" == "failure" ]; then
echo "❌ Formulus CI failed"
exit 1
fi
if [ "${{ needs.formulus-formplayer.result }}" == "failure" ]; then
echo "❌ Formulus Formplayer CI failed"
exit 1
fi
if [ "${{ needs.synkronus.result }}" == "failure" ]; then
echo "❌ Synkronus CI failed"
exit 1
fi
if [ "${{ needs.synkronus-cli.result }}" == "failure" ]; then
echo "❌ Synkronus CLI CI failed"
exit 1
fi
echo "✅ All CI checks passed!"