-
-
Notifications
You must be signed in to change notification settings - Fork 32
140 lines (138 loc) Β· 7.33 KB
/
release-desktop.yml
File metadata and controls
140 lines (138 loc) Β· 7.33 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
130
131
132
133
134
135
136
137
138
139
140
on:
release:
types: [created]
#on:
# push:
# branches: ["master"]
# pull_request:
# # The branches below must be a subset of the branches above
# branches: ["master"]
jobs:
release:
strategy:
fail-fast: false
matrix:
platform: [macos-latest, ubuntu-22.04, windows-latest]
runs-on: ${{ matrix.platform }}
steps:
- uses: actions/checkout@v3
- name: setup node
uses: actions/setup-node@v3
with:
node-version: 16
- uses: actions/cache@v3
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ matrix.platform }}-cargo-${{ hashFiles('**/Cargo.lock') }}
- name: Install dependencies (mac) only)
if: matrix.platform == 'macos-latest'
run: brew install protobuf
- name: Install dependencies (ubuntu only)
if: matrix.platform == 'ubuntu-22.04'
run: |
sudo apt-get update
sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.0-dev libappindicator3-dev librsvg2-dev patchelf libasound2-dev protobuf-compiler
- name: Install dependencies (windows only)
if: matrix.platform == 'windows-latest'
run: |
choco install protoc
choco install checksum
- name: Install Node Modules
run: |
cd webui/musicplayer
npm install -g yarn
yarn install --network-timeout 1000000000
- name: Install Rust toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: stable
override: true
- name: Install aarch64-apple-darwin toolchain
if: matrix.platform == 'macos-latest'
run: rustup target add aarch64-apple-darwin
- name: Build App
run: |
cd webui/musicplayer
npx @tauri-apps/cli build
- name: Build App (macos arch64-apple-darwin)
if: matrix.platform == 'macos-latest'
run: |
cd webui/musicplayer
npx @tauri-apps/cli build --target aarch64-apple-darwin
- name: List files
if: matrix.platform == 'ubuntu-22.04' || matrix.platform == 'macos-latest'
run: |
ls target/release/bundle/*
- name: List files (windows)
if: matrix.platform == 'windows-latest'
run: |
dir target\release\bundle
dir target\release\bundle\*
- name: Set env
if: matrix.platform == 'ubuntu-22.04' || matrix.platform == 'macos-latest'
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
- name: Create archive (macos)
if: matrix.platform == 'macos-latest'
run: |
cd target/release/bundle
rm -f music-player-desktop_${{ env.RELEASE_VERSION }}_x86_64-apple-darwin.tar.gz
tar -czvf music-player-desktop_${{ env.RELEASE_VERSION }}_x86_64-apple-darwin.tar.gz "macos/Music Player.app"
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
rm -f dmg/Music_Player_${{ env.RELEASE_VERSION }}_x64.dmg
mv dmg/Music\ Player*_x64.dmg dmg/Music_Player_${{ env.RELEASE_VERSION }}_x64.dmg
shasum -a 256 dmg/Music_Player_${{ env.RELEASE_VERSION }}_x64.dmg > dmg/Music_Player_${{ env.RELEASE_VERSION }}_x64.dmg.sha256
cd ../../aarch64-apple-darwin/release/bundle
rm -f music-player-desktop_${{ env.RELEASE_VERSION }}_aarch64-apple-darwin.tar.gz
tar -czvf music-player-desktop_${{ env.RELEASE_VERSION }}_aarch64-apple-darwin.tar.gz "macos/Music Player.app"
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
rm -f dmg/Music_Player_${{ env.RELEASE_VERSION }}_aarch64.dmg
mv dmg/Music\ Player*_aarch64.dmg dmg/Music_Player_${{ env.RELEASE_VERSION }}_aarch64.dmg
shasum -a 256 dmg/Music_Player_${{ env.RELEASE_VERSION }}_aarch64.dmg > dmg/Music_Player_${{ env.RELEASE_VERSION }}_aarch64.dmg.sha256
- name: Releasing artifacts (macos)
if: matrix.platform == 'macos-latest'
uses: softprops/action-gh-release@v1
with:
files: |
target/release/bundle/music-player-desktop_${{ env.RELEASE_VERSION }}_x86_64-apple-darwin.tar.gz
target/release/bundle/music-player-desktop_${{ env.RELEASE_VERSION }}_x86_64-apple-darwin.tar.gz.sha256
target/release/bundle/dmg/Music_Player_${{ env.RELEASE_VERSION }}_x64.dmg
target/release/bundle/dmg/Music_Player_${{ env.RELEASE_VERSION }}_x64.dmg.sha256
target/aarch64-apple-darwin/release/bundle/music-player-desktop_${{ env.RELEASE_VERSION }}_aarch64-apple-darwin.tar.gz
target/aarch64-apple-darwin/release/bundle/music-player-desktop_${{ env.RELEASE_VERSION }}_aarch64-apple-darwin.tar.gz.sha256
target/aarch64-apple-darwin/release/bundle/dmg/Music_Player_${{ env.RELEASE_VERSION }}_aarch64.dmg
target/aarch64-apple-darwin/release/bundle/dmg/Music_Player_${{ env.RELEASE_VERSION }}_aarch64.dmg.sha256
- name: Hash files (ubuntu)
if: matrix.platform == 'ubuntu-22.04'
run: |
rm -f target/release/bundle/deb/music-player_${{ env.RELEASE_VERSION }}_amd64.deb
rm -f target/release/bundle/appimage/music-player_${{ env.RELEASE_VERSION }}_amd64.AppImage
mv target/release/bundle/appimage/music-player*.AppImage target/release/bundle/appimage/music-player_${{ env.RELEASE_VERSION }}_amd64.AppImage
mv target/release/bundle/deb/music-player*.deb target/release/bundle/deb/music-player_${{ env.RELEASE_VERSION }}_amd64.deb
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
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
- name: Releasing artifacts (ubuntu)
if: matrix.platform == 'ubuntu-22.04'
uses: softprops/action-gh-release@v1
with:
files: |
target/release/bundle/appimage/music-player_${{ env.RELEASE_VERSION }}_amd64.AppImage
target/release/bundle/appimage/music-player_${{ env.RELEASE_VERSION }}_amd64.AppImage.sha256
target/release/bundle/deb/music-player_${{ env.RELEASE_VERSION }}_amd64.deb
target/release/bundle/deb/music-player_${{ env.RELEASE_VERSION }}_amd64.deb.sha256
- name: Hash files (windows)
if: matrix.platform == 'windows-latest'
run: |
move target/release/bundle/msi/Music*.msi target/release/bundle/msi/Music_Player_x64_en-US.msi
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
- name: Releasing artifacts (windows)
if: matrix.platform == 'windows-latest'
uses: softprops/action-gh-release@v1
with:
files: |
target/release/bundle/msi/Music_Player_x64_en-US.msi
target/release/bundle/msi/Music_Player_x64_en-US.msi.sha256