58 lines
No EOL
1.9 KiB
YAML
58 lines
No EOL
1.9 KiB
YAML
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 |