-
Notifications
You must be signed in to change notification settings - Fork 25
159 lines (126 loc) · 5.07 KB
/
desktop-release.yml
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
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
name: Build and Package Desktop apps
on:
release:
types:
- created
jobs:
build-chrome-extension:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: '21.2'
- name: Set up Flutter
uses: subosito/flutter-action@v2
with:
channel: "stable"
flutter-version: '3.22.3'
- run: flutter --version
- name: Install Flutter dependencies
run: flutter pub get
- name: Build Chrome Extension
run: bash ./scripts/build_chrome_extension.sh
- name: Get Version from pubspec.yaml
id: get_version
run: |
version_str=$(grep -oP '(?<=^version: ).*' pubspec.yaml | awk '{$1=$1};1')
echo "version_app=${version_str}" >> $GITHUB_OUTPUT
echo "env_version_app=${version_str}" >> $GITHUB_ENV
- name: Zip build folder
run: zip -r build/chrome-extension-${{ steps.get_version.outputs.version_app }}.zip build/chrome-extension
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: chrome-extension-build-${{ steps.get_version.outputs.version_app }}
path: build/chrome-extension-${{ steps.get_version.outputs.version_app }}.zip
build-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.22.3'
- run: flutter --version
- name: Setup Dependencies
run: |
sudo apt-get update
sudo apt-get install clang cmake ninja-build pkg-config libgtk-3-dev liblzma-dev libsecret-1-dev libjsoncpp-dev fuse libgtk-3-0 python3-pip libgtkmm-3.0-1v5 libnotify4 gstreamer1.0-tools
- name: Build Flutter Application
run: flutter build linux --release
- name: Get Version from pubspec.yaml
id: get_version
run: |
version_str=$(grep -oP '(?<=^version: ).*' pubspec.yaml | awk '{$1=$1};1')
echo "version_app=${version_str}" >> $GITHUB_OUTPUT
echo "env_version_app=${version_str}" >> $GITHUB_ENV
- name: Install appimage-builder
run: |
wget https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage -O /usr/local/bin/appimagetool
chmod +x /usr/local/bin/appimagetool
sudo pip3 install appimage-builder
- name: Generate AppImage
run: |
appimage-builder --recipe AppImageBuilder.yml --skip-test
- name: Check files
run: |
ls -R
- name: Checksum
run: |
sha256sum archethic_wallet-${{ steps.get_version.outputs.version_app }}-x86_64.AppImage
- name: Upload AppImage Artifact
uses: actions/upload-artifact@v4
with:
name: archethic-wallet-${{ steps.get_version.outputs.version_app }}-appimage
path: archethic_wallet-${{ steps.get_version.outputs.version_app }}-x86_64.AppImage
build-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.22.3'
- run: flutter --version
- name: Setup dependencies
run: |
flutter doctor
choco install cmake ninja python3
choco install -y visualstudio2019buildtools --package-parameters "--add Microsoft.VisualStudio.Component.VC.Tools.x86.x64"
- name: Build Flutter Application
run: flutter build windows --release
- name: Publish to store
run: flutter pub run msix:create --store
- name: Copy MSIX file to /artifacts
run: |
mkdir artifacts
cp build/windows/x64/runner/Release/aewallet.msix artifacts/
- name: Get Version from pubspec.yaml
id: get_version
run: |
$version_str=$(gc .\pubspec.yaml | select-string '(?<=^version: ).*' -AllMatches | Select-Object -Expand Matches | %{$_.Value})
echo "version_app=${version_str}" >> $Env:GITHUB_OUTPUT
- name: Archive Artifact
run: |
mv build/windows/x64/runner/Release/ archethic-wallet
Compress-Archive -Path archethic-wallet -DestinationPath "artifacts/archethic-wallet-${{ steps.get_version.outputs.version_app }}.zip"
- name: Checksum
run: |
sha256sum artifacts/archethic-wallet-${{ steps.get_version.outputs.version_app }}.zip
- name: Upload Artifact MSIX
uses: actions/upload-artifact@v4
with:
name: aewallet
path: artifacts/aewallet.msix
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: archethic-wallet-windows-${{ steps.get_version.outputs.version_app }}
path: artifacts/archethic-wallet-${{ steps.get_version.outputs.version_app }}.zip