-
Notifications
You must be signed in to change notification settings - Fork 0
129 lines (111 loc) · 3.18 KB
/
build.yml
File metadata and controls
129 lines (111 loc) · 3.18 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
name: Build & Release
on:
push:
tags:
- '*'
permissions:
contents: write
jobs:
build-linux:
name: Build for Linux
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up Flutter
uses: subosito/flutter-action@v2
with:
channel: stable
flutter-version: 3.29.0
- name: Install dependencies for Linux build
run: |
sudo apt-get update
sudo apt-get install -y \
clang \
cmake \
ninja-build \
pkg-config \
libgtk-3-dev \
libblkid-dev \
liblzma-dev \
libssl-dev \
libudev-dev \
libxcb1-dev \
libx11-dev \
libxcomposite-dev \
libxdamage-dev \
libxrandr-dev \
libxi-dev \
libxcursor-dev \
libxext-dev \
libxfixes-dev \
libxinerama-dev \
libxrender-dev \
libxkbcommon-dev \
libdbus-1-dev \
libgl1-mesa-dev \
libglu1-mesa-dev
- name: Get dependencies
run: flutter pub get
- name: Build Linux executable
run: flutter build linux
- name: Zip Linux build
run: |
mkdir -p dist
zip -r dist/linux-build.zip build/linux/x64/release/bundle/
- name: Upload Linux artifact
uses: actions/upload-artifact@v4
with:
name: linux-build
path: dist/linux-build.zip
build-windows:
name: Build for Windows
runs-on: windows-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up Flutter
uses: subosito/flutter-action@v2
with:
channel: stable
flutter-version: 3.29.0
- name: Get dependencies
run: flutter pub get
- name: Build Windows executable
run: flutter build windows
- name: Zip Windows build
run: |
New-Item -ItemType Directory -Path dist -Force
Compress-Archive -Path build\windows\x64\runner\Release\* -DestinationPath dist\windows-build.zip
- name: Upload Windows artifact
uses: actions/upload-artifact@v4
with:
name: windows-build
path: dist/windows-build.zip
release:
name: Create GitHub Release
needs: [build-linux, build-windows]
runs-on: ubuntu-latest
steps:
- name: Download Linux artifact
uses: actions/download-artifact@v4
with:
name: linux-build
path: artifacts/linux
- name: Download Windows artifact
uses: actions/download-artifact@v4
with:
name: windows-build
path: artifacts/windows
- name: Create GitHub Release
uses: softprops/action-gh-release@v1
with:
tag_name: ${{ github.ref_name }}
name: Release ${{ github.ref_name }}
draft: false
prerelease: false
files: |
artifacts/linux/linux-build.zip
artifacts/windows/windows-build.zip
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}