-
Notifications
You must be signed in to change notification settings - Fork 10
156 lines (143 loc) · 4.67 KB
/
main.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
name: Flutter CI
on:
push:
tags:
- "*"
jobs:
build-and-release-linux:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: subosito/flutter-action@v2
with:
channel: 'stable'
architecture: x64
- name: Update dependencies
run: sudo apt-get update
- name: Install dependencies
run: sudo apt-get install -y clang cmake ninja-build pkg-config libgtk-3-0 libgtk-3-dev libblkid1 liblzma5
- name: Install project dependencies
run: flutter pub get
- name: Enable linux build
run: flutter config --enable-linux-desktop
- name: Build artifacts
run: flutter build linux --release
- name: Build Appimage
run: bash ./github_appimage_build.sh
- name: Set outputs
id: vars
run: echo "sha_short=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
- uses: actions/setup-java@v2
with:
distribution: 'zulu'
java-version: '17.x'
- name: decode key base64
run: echo $KEYSTORE_BASE64 | base64 -di > ./android/app/renamer.jks
env:
KEYSTORE_BASE64: ${{ secrets.KEYSTORE_BASE64 }}
- name: Build android
run: |
flutter build apk --release
flutter build apk --release --split-per-abi
env:
KEYSTORE: renamer.jks
KEYSTORE_PASSWORD: ${{ secrets.KEYSTORE_PASSWORD }}
KEY_ALIAS: ${{ secrets.KEY_ALIAS }}
KEY_PASSWORD: ${{ secrets.KEY_PASSWORD}}
- name: Android Release
uses: actions/upload-artifact@v1
with:
name: renamer-release
path: |
build/app/outputs/flutter-apk/*.apk
build/linux/x64/release/bundle
Renamer-x86_64.AppImage
build-and-release-windows:
runs-on: windows-latest
steps:
- name: check current path
run: cd
- uses: actions/checkout@v4
- uses: subosito/flutter-action@v2
with:
channel: 'stable'
architecture: x64
- name: Install project dependencies
run: flutter pub get
- name: Enable windows build
run: flutter config --enable-windows-desktop
- name: Build artifacts
run: flutter build windows --release
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: 20
- name: install evb
run: npm install enigmavirtualbox -g
- name: build single exe file
run: enigmavirtualbox cli ".\evb\renamer.evb"
- name: Set output
id: vars
run: echo "::set-output name=sha_short::$(git rev-parse --short HEAD)"
- name: Windows Release
uses: actions/upload-artifact@v4
with:
name: renamer-release
path: renamer.exe
build-and-release-macos:
runs-on: macos-14
steps:
- uses: actions/checkout@v4
- uses: subosito/flutter-action@v2
with:
channel: 'stable'
architecture: arm64
- name: Install project dependencies
run: flutter pub get
- name: Enable macOS build
run: flutter config --enable-macos-desktop
- name: Build artifacts
run: flutter build macos --release
- name: install npm
run: /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
- name: install appdmg
run: npm install -g appdmg
- name: build dmg
run: appdmg ./dmg/config.json ./build/macos/Build/Products/Release/renamer.dmg
- name: Set outputs
id: vars
run: echo "sha_short=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
- name: Build ios
run: |
flutter build ios --release --no-codesign
ln -sf ./build/ios/iphoneos Payload
zip -r9 renamer-release.ipa Payload/runner.app
- name: Apple Release
uses: actions/upload-artifact@v4
with:
name: renamer-release
path: |
renamer-release.ipa
build/macos/Build/Products/Release/renamer.dmg
upload:
runs-on: ubuntu-latest
needs:
- build-and-release-linux
- build-and-release-windows
- build-and-release-macos
steps:
- uses: actions/download-artifact@v3
with:
name: Flutter-CI
path: ./Flutter-CI
- name: Install dependencies
run: sudo apt-get install tree -y
- name: Upload Release
uses: ncipollo/release-action@v1
with:
token: ${{ secrets.GIT_TOKEN }}
omitBodyDuringUpdate: true
omitNameDuringUpdate: true
omitPrereleaseDuringUpdate: true
allowUpdates: true
artifacts: Pilipala-Release/*