Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
127 changes: 127 additions & 0 deletions .github/workflows/acceptance.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,127 @@
# TDesign Flutter V1 migration acceptance CI.
#
# TEMPORARY MIGRATION COMPATIBILITY: This PR only migrates Theme and the base
# components below. Expand these paths as each component is migrated; do not
# restore full-library checks until the package root exports the full library.
name: acceptance

on:
pull_request:
branches: [develop, main]
paths:
- "tdesign-component/lib/**"
- "tdesign-component/test/components/button/**"
- "tdesign-component/test/components/divider/**"
- "tdesign-component/test/components/fab/**"
- "tdesign-component/test/components/icon/**"
- "tdesign-component/test/components/link/**"
- "tdesign-component/test/components/text/**"
- "tdesign-component/example/assets/api/button_api.md"
- "tdesign-component/example/assets/api/divider_api.md"
- "tdesign-component/example/assets/api/fab_api.md"
- "tdesign-component/example/assets/api/icon_api.md"
- "tdesign-component/example/assets/api/link_api.md"
- "tdesign-component/example/assets/api/text_api.md"
- "tdesign-component/example/lib/page/t_button_page.dart"
- "tdesign-component/example/lib/page/t_divider_page.dart"
- "tdesign-component/example/lib/page/t_fab_page.dart"
- "tdesign-component/example/lib/page/t_icon_page.dart"
- "tdesign-component/example/lib/page/t_link_page.dart"
- "tdesign-component/example/lib/page/t_text_page.dart"
- ".github/workflows/acceptance.yml"
push:
branches: [develop]
paths:
- "tdesign-component/lib/**"
- "tdesign-component/test/components/button/**"
- "tdesign-component/test/components/divider/**"
- "tdesign-component/test/components/fab/**"
- "tdesign-component/test/components/icon/**"
- "tdesign-component/test/components/link/**"
- "tdesign-component/test/components/text/**"
- "tdesign-component/example/assets/api/button_api.md"
- "tdesign-component/example/assets/api/divider_api.md"
- "tdesign-component/example/assets/api/fab_api.md"
- "tdesign-component/example/assets/api/icon_api.md"
- "tdesign-component/example/assets/api/link_api.md"
- "tdesign-component/example/assets/api/text_api.md"
- "tdesign-component/example/lib/page/t_button_page.dart"
- "tdesign-component/example/lib/page/t_divider_page.dart"
- "tdesign-component/example/lib/page/t_fab_page.dart"
- "tdesign-component/example/lib/page/t_icon_page.dart"
- "tdesign-component/example/lib/page/t_link_page.dart"
- "tdesign-component/example/lib/page/t_text_page.dart"
- ".github/workflows/acceptance.yml"

jobs:
base-component-checks:
runs-on: ubuntu-latest
defaults:
run:
working-directory: tdesign-component
steps:
- uses: actions/checkout@v4

- name: Setup Flutter
uses: subosito/flutter-action@v2
with:
flutter-version: "3.32.0"
cache: true

- name: tdesign-adaptation
run: sh ./init.sh

- name: flutter pub get
run: flutter pub get

- name: Analyze migrated foundation and base components
run: >-
flutter analyze --no-fatal-infos
lib/tdesign_flutter.dart
lib/src/theme
lib/src/util/map_ext.dart
lib/src/util/platform_util.dart
lib/src/components/button
lib/src/components/divider
lib/src/components/fab
lib/src/components/icon
lib/src/components/link
lib/src/components/text
test/components/button
test/components/divider
test/components/fab
test/components/icon
test/components/link
test/components/text

- name: Test migrated base components with coverage
run: >-
flutter test --coverage
test/components/button
test/components/divider
test/components/fab
test/components/icon
test/components/link
test/components/text

- name: Verify migrated demos and API docs
run: |
test -f example/assets/api/button_api.md
test -f example/assets/api/divider_api.md
test -f example/assets/api/fab_api.md
test -f example/assets/api/icon_api.md
test -f example/assets/api/link_api.md
test -f example/assets/api/text_api.md
test -f example/lib/page/t_button_page.dart
test -f example/lib/page/t_divider_page.dart
test -f example/lib/page/t_fab_page.dart
test -f example/lib/page/t_icon_page.dart
test -f example/lib/page/t_link_page.dart
test -f example/lib/page/t_text_page.dart

- name: Upload coverage
if: always()
uses: actions/upload-artifact@v4
with:
name: coverage-base-components
path: tdesign-component/coverage/
45 changes: 45 additions & 0 deletions .github/workflows/coverage.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
name: Flutter Coverage

# TEMPORARY MIGRATION COMPATIBILITY: Limit coverage to Theme and the migrated
# base components. Expand this list as later component PRs are merged.
on:
workflow_dispatch:
push:
branches: ['**']

jobs:
coverage:
runs-on: ubuntu-latest
defaults:
run:
working-directory: tdesign-component
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup Flutter
uses: subosito/flutter-action@v2
with:
flutter-version: '3.32.0'
channel: 'stable'
cache: true

- name: Get dependencies
run: flutter pub get

- name: Run base component tests with coverage
run: >-
flutter test --coverage --reporter expanded
test/components/button
test/components/divider
test/components/fab
test/components/icon
test/components/link
test/components/text

- name: Upload lcov artifact
if: always()
uses: actions/upload-artifact@v4
with:
name: lcov
path: tdesign-component/coverage/lcov.info
69 changes: 23 additions & 46 deletions .github/workflows/test-build.yml
Original file line number Diff line number Diff line change
@@ -1,70 +1,47 @@
name: test-build

# TEMPORARY MIGRATION COMPATIBILITY: The full example app still references
# components outside this PR. Restore example APK/iOS/Web builds only after
# their dependencies are migrated and exported from the package root.
on:
pull_request:
branches: [develop]
paths-ignore:
- "tdesign-site/**"
- "tdesign-adaptation/**"
- "*.md"
push:
branches: [develop]
paths-ignore:
- "tdesign-site/**"
- "tdesign-adaptation/**"
- "*.md"

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: ${{ github.ref_name != 'develop' }}

jobs:
build:
strategy:
fail-fast: false
matrix:
platform:
- apk
- ios
- web
flutter-version:
- 3.32.0
# 当前对于 3.4x.x 版本,AOP 有问题先忽略
# - 3.x
include:
- platform: apk
os: ubuntu-latest
build: flutter build apk -t ./lib/main.dart --release
- platform: ios
os: macos-latest
build: flutter build ios -t ./lib/main.dart --no-codesign --release
- platform: web
os: ubuntu-latest
build: flutter build web -t ./lib/main.dart --release

runs-on: ${{ matrix.os }}
base-component-test:
runs-on: ubuntu-latest
defaults:
run:
working-directory: tdesign-component
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v4

- name: Setup Flutter
uses: TDesignOteam/workflows/actions/setup-flutter@main
uses: subosito/flutter-action@v2
with:
flutter-version: ${{ matrix.flutter-version }}
flutter-version: "3.32.0"
cache: true
aop-registry: true
aop-project-path: ./tdesign-component/example

- name: tdesign-adaptation
run: sh ./tdesign-component/init.sh

- name: generate api md
working-directory: ./tdesign-component
run: sh ./demo_tool/all_build.sh
run: sh ./init.sh

- name: flutter pub get
working-directory: ./tdesign-component/example
run: flutter pub get ${{ runner.debug && '--verbose' || '' }}

- name: flutter build
working-directory: ./tdesign-component/example
run: ${{ matrix.build }} ${{ runner.debug && '--verbose' || '' }}
run: flutter pub get

- name: Test migrated base components
run: >-
flutter test --reporter compact
test/components/button
test/components/divider
test/components/fab
test/components/icon
test/components/link
test/components/text
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@
.history
.svn/

# Root-level temporary / test output text files (e.g. test_output.txt, _dbg.txt, _snap.txt)
# 仅忽略仓库根目录,避免误伤子目录中需保留的 .txt(如 example/assets/code/*.txt)
/*.txt


# Site
tdesign-site/node_modules/
Expand Down Expand Up @@ -93,3 +97,5 @@ build/
# Cursor harness generated artifacts
/.cursor/
/AGENTS.md
tdesign-component/docs/v1.0/TDesign_Flutter_V1_0_工时评估表_优化版.html
tdesign-component/docs/v1.0/TDesign_Flutter_V1_0_工时评估表_优化版.xlsx
Loading
Loading