1
+ on :
2
+ release :
3
+ types : [created]
4
+ # on:
5
+ # push:
6
+ # branches: ["master"]
7
+ # pull_request:
8
+ # # The branches below must be a subset of the branches above
9
+ # branches: ["master"]
10
+
11
+ jobs :
12
+ release :
13
+ strategy :
14
+ fail-fast : false
15
+ matrix :
16
+ platform : [macos-latest, ubuntu-20.04, windows-latest]
17
+ runs-on : ${{ matrix.platform }}
18
+
19
+ steps :
20
+ - uses : actions/checkout@v3
21
+ - name : setup node
22
+ uses : actions/setup-node@v3
23
+ with :
24
+ node-version : 16
25
+ - uses : actions/cache@v3
26
+ with :
27
+ path : |
28
+ ~/.cargo/bin/
29
+ ~/.cargo/registry/index/
30
+ ~/.cargo/registry/cache/
31
+ ~/.cargo/git/db/
32
+ target/
33
+ key : ${{ matrix.platform }}-cargo-${{ hashFiles('**/Cargo.lock') }}
34
+ - name : Install dependencies (mac) only)
35
+ if : matrix.platform == 'macos-latest'
36
+ run : brew install protobuf
37
+ - name : Install dependencies (ubuntu only)
38
+ if : matrix.platform == 'ubuntu-20.04'
39
+ run : |
40
+ sudo apt-get update
41
+ sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.0-dev libappindicator3-dev librsvg2-dev patchelf libasound2-dev protobuf-compiler
42
+ - name : Install dependencies (windows only)
43
+ if : matrix.platform == 'windows-latest'
44
+ run : |
45
+ choco install protoc
46
+ choco install checksum
47
+ - name : Install Node Modules
48
+ run : |
49
+ cd webui/musicplayer
50
+ npm install -g yarn
51
+ yarn install --network-timeout 1000000000
52
+ - name : Install Rust toolchain
53
+ uses : actions-rs/toolchain@v1
54
+ with :
55
+ toolchain : stable
56
+ override : true
57
+ - name : Install aarch64-apple-darwin toolchain
58
+ if : matrix.platform == 'macos-latest'
59
+ run : rustup target add aarch64-apple-darwin
60
+ - name : Build App
61
+ run : |
62
+ cd webui/musicplayer
63
+ npx @tauri-apps/cli build
64
+ - name : Build App (macos arch64-apple-darwin)
65
+ if : matrix.platform == 'macos-latest'
66
+ run : |
67
+ cd webui/musicplayer
68
+ npx @tauri-apps/cli build --target aarch64-apple-darwin
69
+ - name : List files
70
+ if : matrix.platform == 'ubuntu-20.04' || matrix.platform == 'macos-latest'
71
+ run : |
72
+ ls target/release/bundle/*
73
+ - name : List files (windows)
74
+ if : matrix.platform == 'windows-latest'
75
+ run : |
76
+ dir target\release\bundle
77
+ dir target\release\bundle\*
78
+ - name : Set env
79
+ if : matrix.platform == 'ubuntu-20.04' || matrix.platform == 'macos-latest'
80
+ run : echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
81
+ - name : Create archive (macos)
82
+ if : matrix.platform == 'macos-latest'
83
+ run : |
84
+ cd target/release/bundle
85
+ rm -f music-player-desktop_${{ env.RELEASE_VERSION }}_x86_64-apple-darwin.tar.gz
86
+ tar -czvf music-player-desktop_${{ env.RELEASE_VERSION }}_x86_64-apple-darwin.tar.gz "macos/Music Player.app"
87
+ shasum -a 256 music-player-desktop_${{ env.RELEASE_VERSION }}_x86_64-apple-darwin.tar.gz > music-player-desktop_${{ env.RELEASE_VERSION }}_x86_64-apple-darwin.tar.gz.sha256
88
+ rm -f dmg/Music_Player_${{ env.RELEASE_VERSION }}_x64.dmg
89
+ mv dmg/Music\ Player*_x64.dmg dmg/Music_Player_${{ env.RELEASE_VERSION }}_x64.dmg
90
+ shasum -a 256 dmg/Music_Player_${{ env.RELEASE_VERSION }}_x64.dmg > dmg/Music_Player_${{ env.RELEASE_VERSION }}_x64.dmg.sha256
91
+ cd ../../aarch64-apple-darwin/release/bundle
92
+ rm -f music-player-desktop_${{ env.RELEASE_VERSION }}_aarch64-apple-darwin.tar.gz
93
+ tar -czvf music-player-desktop_${{ env.RELEASE_VERSION }}_aarch64-apple-darwin.tar.gz "macos/Music Player.app"
94
+ shasum -a 256 music-player-desktop_${{ env.RELEASE_VERSION }}_aarch64-apple-darwin.tar.gz > music-player-desktop_${{ env.RELEASE_VERSION }}_aarch64-apple-darwin.tar.gz.sha256
95
+ rm -f dmg/Music_Player_${{ env.RELEASE_VERSION }}_aarch64.dmg
96
+ mv dmg/Music\ Player*_aarch64.dmg dmg/Music_Player_${{ env.RELEASE_VERSION }}_aarch64.dmg
97
+ shasum -a 256 dmg/Music_Player_${{ env.RELEASE_VERSION }}_aarch64.dmg > dmg/Music_Player_${{ env.RELEASE_VERSION }}_aarch64.dmg.sha256
98
+ - name : Releasing artifacts (macos)
99
+ if : matrix.platform == 'macos-latest'
100
+ uses : softprops/action-gh-release@v1
101
+ with :
102
+ files : |
103
+ target/release/bundle/music-player-desktop_${{ env.RELEASE_VERSION }}_x86_64-apple-darwin.tar.gz
104
+ target/release/bundle/music-player-desktop_${{ env.RELEASE_VERSION }}_x86_64-apple-darwin.tar.gz.sha256
105
+ target/release/bundle/dmg/Music_Player_${{ env.RELEASE_VERSION }}_x64.dmg
106
+ target/release/bundle/dmg/Music_Player_${{ env.RELEASE_VERSION }}_x64.dmg.sha256
107
+ target/aarch64-apple-darwin/release/bundle/music-player-desktop_${{ env.RELEASE_VERSION }}_aarch64-apple-darwin.tar.gz
108
+ target/aarch64-apple-darwin/release/bundle/music-player-desktop_${{ env.RELEASE_VERSION }}_aarch64-apple-darwin.tar.gz.sha256
109
+ target/aarch64-apple-darwin/release/bundle/dmg/Music_Player_${{ env.RELEASE_VERSION }}_aarch64.dmg
110
+ target/aarch64-apple-darwin/release/bundle/dmg/Music_Player_${{ env.RELEASE_VERSION }}_aarch64.dmg.sha256
111
+ - name : Hash files (ubuntu)
112
+ if : matrix.platform == 'ubuntu-20.04'
113
+ run : |
114
+ rm -f target/release/bundle/deb/music-player_${{ env.RELEASE_VERSION }}_amd64.deb
115
+ rm -f target/release/bundle/appimage/music-player_${{ env.RELEASE_VERSION }}_amd64.AppImage
116
+ mv target/release/bundle/appimage/music-player*.AppImage target/release/bundle/appimage/music-player_${{ env.RELEASE_VERSION }}_amd64.AppImage
117
+ mv target/release/bundle/deb/music-player*.deb target/release/bundle/deb/music-player_${{ env.RELEASE_VERSION }}_amd64.deb
118
+ shasum -a 256 target/release/bundle/appimage/music-player_${{ env.RELEASE_VERSION }}_amd64.AppImage > target/release/bundle/appimage/music-player_${{ env.RELEASE_VERSION }}_amd64.AppImage.sha256
119
+ shasum -a 256 target/release/bundle/deb/music-player_${{ env.RELEASE_VERSION }}_amd64.deb > target/release/bundle/deb/music-player_${{ env.RELEASE_VERSION }}_amd64.deb.sha256
120
+ - name : Releasing artifacts (ubuntu)
121
+ if : matrix.platform == 'ubuntu-20.04'
122
+ uses : softprops/action-gh-release@v1
123
+ with :
124
+ files : |
125
+ target/release/bundle/appimage/music-player_${{ env.RELEASE_VERSION }}_amd64.AppImage
126
+ target/release/bundle/appimage/music-player_${{ env.RELEASE_VERSION }}_amd64.AppImage.sha256
127
+ target/release/bundle/deb/music-player_${{ env.RELEASE_VERSION }}_amd64.deb
128
+ target/release/bundle/deb/music-player_${{ env.RELEASE_VERSION }}_amd64.deb.sha256
129
+ - name : Hash files (windows)
130
+ if : matrix.platform == 'windows-latest'
131
+ run : |
132
+ Remove-Item -Force target/release/bundle/msi/Music_Player_x64_en-US.msi
133
+ move target/release/bundle/msi/Music*.msi target/release/bundle/msi/Music_Player_x64_en-US.msi
134
+ checksum -t sha256 -f="target/release/bundle/msi/Music_Player_x64_en-US.msi" > target/release/bundle/msi/Music_Player_x64_en-US.msi.sha256
135
+ - name : Releasing artifacts (windows)
136
+ if : matrix.platform == 'windows-latest'
137
+ uses : softprops/action-gh-release@v1
138
+ with :
139
+ files : |
140
+ target/release/bundle/msi/Music_Player_x64_en-US.msi
141
+ target/release/bundle/msi/Music_Player_x64_en-US.msi.sha256
142
+
0 commit comments