-
Notifications
You must be signed in to change notification settings - Fork 0
135 lines (128 loc) · 4.82 KB
/
build-multi-platform.yml
File metadata and controls
135 lines (128 loc) · 4.82 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
name: Build Multi-Platform Binaries
on:
pull_request:
types: [opened, synchronize, reopened]
jobs:
build-macos-intel:
runs-on: macos-latest
outputs:
artifact_id: ${{ steps.upload.outputs.artifact-id }}
artifact_url: ${{ steps.upload.outputs.artifact-url }}
steps:
- uses: actions/checkout@v6
- name: Setup Flutter
uses: subosito/flutter-action@v2
with:
flutter-version: '3.32.0'
- name: Install dependencies
run: flutter pub get
- name: Build macOS Intel
run: dart compile exe bin/main.dart -o api_tool_macos_intel
- name: Verify binary
run: |
git clone --depth 1 --branch develop https://github.com/Tencent/tdesign-flutter.git
dart run .github/scripts/cross_platform_verify.dart tdesign-flutter api_tool_macos_intel
- name: Upload Artifact
id: upload
uses: actions/upload-artifact@v4
with:
name: api_tool_macos_intel
path: api_tool_macos_intel
build-macos-arm64:
runs-on: macos-latest
outputs:
artifact_id: ${{ steps.upload.outputs.artifact-id }}
artifact_url: ${{ steps.upload.outputs.artifact-url }}
steps:
- uses: actions/checkout@v6
- name: Setup Flutter
uses: subosito/flutter-action@v2
with:
flutter-version: '3.32.0'
- name: Install dependencies
run: flutter pub get
- name: Build macOS ARM64
run: dart compile exe bin/main.dart -o api_tool_macos_arm64 --target-os=macos --target-arch=arm64
- name: Verify binary
run: |
git clone --depth 1 --branch develop https://github.com/Tencent/tdesign-flutter.git
dart run .github/scripts/cross_platform_verify.dart tdesign-flutter api_tool_macos_arm64
- name: Upload Artifact
id: upload
uses: actions/upload-artifact@v4
with:
name: api_tool_macos_arm64
path: api_tool_macos_arm64
build-linux-x64:
runs-on: ubuntu-latest
outputs:
artifact_id: ${{ steps.upload.outputs.artifact-id }}
artifact_url: ${{ steps.upload.outputs.artifact-url }}
steps:
- uses: actions/checkout@v6
- name: Setup Flutter
uses: subosito/flutter-action@v2
with:
flutter-version: '3.32.0'
- name: Install dependencies
run: flutter pub get
- name: Build Linux x64
run: dart compile exe bin/main.dart -o api_tool_linux --target-arch=x64
- name: Verify binary
run: |
git clone --depth 1 --branch develop https://github.com/Tencent/tdesign-flutter.git
dart run .github/scripts/cross_platform_verify.dart tdesign-flutter api_tool_linux
- name: Upload Artifact
id: upload
uses: actions/upload-artifact@v4
with:
name: api_tool_linux
path: api_tool_linux
build-windows-x64:
runs-on: windows-latest
outputs:
artifact_id: ${{ steps.upload.outputs.artifact-id }}
artifact_url: ${{ steps.upload.outputs.artifact-url }}
steps:
- uses: actions/checkout@v6
- name: Setup Flutter
uses: subosito/flutter-action@v2
with:
flutter-version: '3.32.0'
- name: Install dependencies
run: flutter pub get
- name: Build Windows x64
run: dart compile exe bin/main.dart -o api_tool_windows.exe
- name: Verify binary
run: |
git clone --depth 1 --branch develop https://github.com/Tencent/tdesign-flutter.git
dart run .github/scripts/cross_platform_verify.dart tdesign-flutter api_tool_windows.exe
- name: Upload Artifact
id: upload
uses: actions/upload-artifact@v4
with:
name: api_tool_windows
path: api_tool_windows.exe
comment-on-pr:
needs: [build-macos-intel, build-macos-arm64, build-linux-x64, build-windows-x64]
runs-on: ubuntu-latest
steps:
- name: Find Comment
id: find-comment
uses: peter-evans/find-comment@v3
with:
issue-number: ${{ github.event.pull_request.number }}
comment-author: 'github-actions[bot]'
body-includes: 编译完成,产物如下
- name: Create or Update PR Comment
uses: peter-evans/create-or-update-comment@v4
with:
comment-id: ${{ steps.find-comment.outputs.comment-id }}
issue-number: ${{ github.event.pull_request.number }}
body: |
✅ 编译完成,产物如下:
- [api_tool_macos_intel](${{ needs.build-macos-intel.outputs.artifact_url }})
- [api_tool_macos_arm64](${{ needs.build-macos-arm64.outputs.artifact_url }})
- [api_tool_linux](${{ needs.build-linux-x64.outputs.artifact_url }})
- [api_tool_windows](${{ needs.build-windows-x64.outputs.artifact_url }})
edit-mode: replace