-
Notifications
You must be signed in to change notification settings - Fork 3
142 lines (134 loc) · 4.73 KB
/
flutter-ci.yaml
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
136
137
138
139
140
141
142
name: Flutter CI
on: push
jobs:
build-and-release-linux:
runs-on: ubuntu-22.04
permissions:
contents: write
steps:
- uses: actions/checkout@v2
- name: Set safe filename
id: set_filename
run: |
SAFE_REF_NAME=${GITHUB_REF_NAME//\//_}
echo "SANITIZED_FILENAME=OpenVINO-TestDrive-${SAFE_REF_NAME}-linux.zip" >> $GITHUB_ENV
- uses: subosito/flutter-action@v1
with:
channel: 'stable'
flutter-version: '3.24.0'
- name: Install dependencies
run: sudo apt-get install -y clang cmake ninja-build pkg-config libgtk-3-dev liblzma-dev libmpv-dev
- name: Install project dependencies
run: flutter pub get
- name: Generate intermediates
run: flutter pub run build_runner build --delete-conflicting-outputs
- name: Enable linux build
run: flutter config --enable-linux-desktop
- name: Build artifacts
run: flutter build linux --release
- name: Archive Release
uses: thedoctor0/zip-release@master
with:
type: 'zip'
filename: ${{ env.SANITIZED_FILENAME }}
path: build/linux/x64/release/bundle
- name: Upload Release Artifact
uses: actions/upload-artifact@v4
with:
name: ${{ env.SANITIZED_FILENAME }}
path: build/linux/x64/release/bundle
- name: Linux Release
uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/')
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
files: ${{ env.SANITIZED_FILENAME }}
build-and-release-windows:
runs-on: windows-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v2
- name: Set safe filename
id: set_filename
run: |
$safeRefName = $Env:GITHUB_REF_NAME -replace '/', '_'
$safeFileName = "OpenVINO-TestDrive-$safeRefName-windows.zip"
Write-Output ("SANITIZED_FILENAME=$safeFileName") | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8
- uses: subosito/flutter-action@v1
with:
channel: 'stable'
flutter-version: '3.24.0'
- name: Install project dependencies
run: flutter pub get
- name: Generate intermediates
run: flutter pub run build_runner build --delete-conflicting-outputs
- name: Enable windows build
run: flutter config --enable-windows-desktop
- name: Copy bindings # Todo
run: |
mkdir bindings
New-Item -ItemType File -Path "bindings\\fake.dll" -Force
- name: Build artifacts
run: flutter build windows --release
- name: Archive Release
uses: thedoctor0/zip-release@master
with:
type: 'zip'
filename: ${{ env.SANITIZED_FILENAME }}
path: build/windows/x64/runner/Release
- name: Upload Release Artifact
uses: actions/upload-artifact@v4
with:
name: ${{ env.SANITIZED_FILENAME }}
path: build\\windows\\x64\\runner\\Release
- name: Windows Release
uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/')
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
files: ${{ env.SANITIZED_FILENAME }}
build-and-release-macos:
runs-on: macos-latest
permissions:
contents: write
if: false
steps:
- uses: actions/checkout@v2
- name: Set safe filename
id: set_filename
run: |
SAFE_REF_NAME=${GITHUB_REF_NAME//\//_}
echo "SANITIZED_FILENAME=OpenVINO-TestDrive-${SAFE_REF_NAME}-macos.zip" >> $GITHUB_ENV
- uses: subosito/flutter-action@v1
with:
channel: 'stable'
flutter-version: '3.24.0'
- name: Install project dependencies
run: flutter pub get
- name: Generate intermediates
run: flutter pub run build_runner build --delete-conflicting-outputs
- name: Enable macOS build
run: flutter config --enable-macos-desktop
- name: Build artifacts
run: flutter build macos --release
- name: Archive Release
uses: thedoctor0/zip-release@master
with:
type: 'zip'
filename: ${{ env.SANITIZED_FILENAME }}
path: build/macos/Build/Products/Release
- name: Upload Release Artifact
uses: actions/upload-artifact@v4
with:
name: ${{ env.SANITIZED_FILENAME }}
path: build/macos/Build/Products/Release
- name: macOS Release
uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/')
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
files: ${{ env.SANITIZED_FILENAME }}