-
Notifications
You must be signed in to change notification settings - Fork 10
136 lines (127 loc) · 4.76 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
name: Flutter CI
on: push
jobs:
build-and-release-linux:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: subosito/flutter-action@v2
with:
channel: 'stable'
architecture: x64
flutter-version: '3.19.1'
- 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
- name: Linux Release
uses: actions/upload-artifact@v4
with:
name: Renamer-${{github.ref_name}}-${{ steps.vars.outputs.sha_short }}-linux
path: build/linux/x64/release/bundle
- name: Linux Appimage Release
uses: actions/upload-artifact@v4
with:
name: Renamer-${{github.ref_name}}-${{ steps.vars.outputs.sha_short }}-appimage
path: Renamer-x86_64.AppImage
- uses: actions/setup-java@v1
with:
java-version: '12.x'
- name: decode key base64
run: echo $KEYSTORE_BASE64 | base64 -di > $HOME/renamer.jks
env:
KEYSTORE_BASE64: ${{ secrets.KEYSTORE_BASE64 }}
- run: flutter build apk --release
env:
KEYSTORE: $HOME/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-${{github.ref_name}}-${{ steps.vars.outputs.sha_short }}-release-apk
path: build/app/outputs/apk/release/app-release.apk
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
flutter-version: '3.19.1'
- 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@v3
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 outputs
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-${{github.ref_name}}-${{ steps.vars.outputs.sha_short }}-windows
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: x64
flutter-version: '3.19.1'
- 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: macOS Release
uses: actions/upload-artifact@v4
with:
name: renamer-${{github.ref_name}}-${{ steps.vars.outputs.sha_short }}-macos
path: build/macos/Build/Products/Release/renamer.dmg
- name: Build ios
run: |
flutter build ios --release --no-codesign
ln -sf ./build/ios/iphoneos Payload
zip -r9 renamer-${{github.ref_name}}-${{ steps.vars.outputs.sha_short }}-release.ipa Payload/runner.app
- name: ios Release
uses: actions/upload-artifact@v4
with:
name: renamer-${{github.ref_name}}-${{ steps.vars.outputs.sha_short }}-ios
path: renamer-${{github.ref_name}}-${{ steps.vars.outputs.sha_short }}-release.ipa