Skip to content

Refactor rule model #2375

Refactor rule model

Refactor rule model #2375

name: MacawUI migration
on: [pull_request]
jobs:
current_state:
runs-on: ubuntu-latest
name: "Calculate current state"
outputs:
main_statistics: ${{ steps.store_import_stats.outputs.MAIN_STATISTICS }}
steps:
- uses: actions/checkout@v3
with:
ref: "main"
- uses: actions/setup-node@v3
with:
node-version-file: '.nvmrc'
- name: Install deps
run: |
npm ci
- name: Store import stats
id: store_import_stats
run: |
stats=$(npx depcruise --config .dependency-cruiser.js src --output-type json | jq ".summary.info")
echo "Statistics on main branch: ${stats}"
echo "MAIN_STATISTICS=${stats}" >> $GITHUB_OUTPUT
check_migation_status:
runs-on: ubuntu-latest
name: "Migration check"
needs: current_state
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version-file: '.nvmrc'
- name: Install deps
run: |
npm ci
- name: "Calculate stats"
env:
latest: ${{ needs.current_state.outputs.main_statistics }}
run: |
current=$(npx depcruise --config .dependency-cruiser.js src --output-type json | jq ".summary.info")
difference=$(( $current - $latest ))
echo "Imports in main: ${latest}"
echo "Incomming imports: ${current}"
echo "Difference: ${difference}"
echo "IMPORT_DIFFERENCE=${difference}" >> $GITHUB_ENV
- name: "MacawUI regression reported"
if: ${{ env.IMPORT_DIFFERENCE > 0 }}
run: |
echo "Regression detected: +${{ env.IMPORT_DIFFERENCE }} imports"
exit 1
- name: "MacawUI migration progress"
if: ${{ env.IMPORT_DIFFERENCE <= 0 }}
run: |
echo "Progress by: ${{ env.IMPORT_DIFFERENCE }} imports"
exit 0