Skip to content

Commit d7b66a0

Browse files
committed
Add phase 4 settings migration workflow
1 parent 2756af5 commit d7b66a0

1 file changed

Lines changed: 44 additions & 0 deletions

File tree

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
name: Settings refactor phase 4 migration
2+
3+
on:
4+
push:
5+
branches:
6+
- agent/settings-refactor-phase1-safety
7+
paths:
8+
- 'scripts/phase4_behavior_parity.py'
9+
- 'tests/test_settings_behavior_parity.py'
10+
- '.github/workflows/settings-refactor-phase4.yml'
11+
workflow_dispatch:
12+
13+
permissions:
14+
contents: write
15+
16+
jobs:
17+
migrate:
18+
runs-on: ubuntu-latest
19+
steps:
20+
- uses: actions/checkout@v4
21+
with:
22+
ref: agent/settings-refactor-phase1-safety
23+
fetch-depth: 1
24+
- uses: actions/setup-python@v5
25+
with:
26+
python-version: '3.11'
27+
- name: Apply Phase 4 migration
28+
run: python3 scripts/phase4_behavior_parity.py
29+
- name: Validate settings parity
30+
run: |
31+
python3 -m unittest tests/test_settings_audit.py tests/test_settings_behavior_migration.py tests/test_modern_settings_preview.py tests/test_settings_behavior_parity.py
32+
python3 scripts/settings_audit.py --report settings-audit.json
33+
- name: Commit Phase 4 migration
34+
shell: bash
35+
run: |
36+
if git diff --quiet -- src/settings.qml src/settings-catalog.json; then
37+
echo 'Phase 4 migration is already applied.'
38+
exit 0
39+
fi
40+
git config user.name 'github-actions[bot]'
41+
git config user.email '41898282+github-actions[bot]@users.noreply.github.com'
42+
git add src/settings.qml src/settings-catalog.json
43+
git commit -m 'Preserve legacy settings behavior in modern UI'
44+
git push origin HEAD:agent/settings-refactor-phase1-safety

0 commit comments

Comments
 (0)