Skip to content

Commit 15bc547

Browse files
committed
ci: configure desktop release
fix ci ci: add desktop release for aarch64-apple-darwin ci: release artifacts bump version code update release-desktop.yml fix ci fix ci fix ci fix ci fix ci fix ci fix ci fix ci fix ci fix ci
1 parent 1279d7a commit 15bc547

File tree

5 files changed

+152
-7
lines changed

5 files changed

+152
-7
lines changed

.github/workflows/release-desktop.yml

+142
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,142 @@
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+

Cargo.lock

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "music-player"
3-
version = "0.2.0-alpha.7"
3+
version = "0.2.0-alpha.8"
44
edition = "2021"
55
repository = "https://github.com/tsirysndr/music-player"
66
license = "MIT"

webui/musicplayer/package.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
"scripts": {
4242
"start": "react-scripts start",
4343
"build": "cross-env CI=false react-scripts build",
44+
"tauri:build": "cross-env CI=false BROWSER=none REACT_APP_NATIVE_WRAPPER=tauri react-scripts build",
4445
"tauri:dev": "cross-env BROWSER=none REACT_APP_NATIVE_WRAPPER=tauri react-scripts start",
4546
"test": "react-scripts test",
4647
"eject": "react-scripts eject",
@@ -100,4 +101,4 @@
100101
"prop-types": "^15.8.1",
101102
"webpack": "^5.74.0"
102103
}
103-
}
104+
}

webui/musicplayer/src-tauri/tauri.conf.json

+6-4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"build": {
3-
"beforeBuildCommand": "yarn build",
3+
"beforeBuildCommand": "yarn tauri:build",
44
"beforeDevCommand": "yarn tauri:dev",
55
"devPath": "http://localhost:3000",
66
"distDir": "../build",
@@ -18,7 +18,9 @@
1818
"protocol": {
1919
"all": false,
2020
"asset": true,
21-
"assetScope": ["$APPLOCALDATA/covers/*"]
21+
"assetScope": [
22+
"$APPLOCALDATA/covers/*"
23+
]
2224
}
2325
},
2426
"bundle": {
@@ -55,7 +57,7 @@
5557
}
5658
},
5759
"security": {
58-
"csp": "default-src 'self'; img-src 'self' asset: https://asset.localhost"
60+
"csp": "img-src 'self' asset: https://asset.localhost"
5961
},
6062
"updater": {
6163
"active": false
@@ -70,4 +72,4 @@
7072
}
7173
]
7274
}
73-
}
75+
}

0 commit comments

Comments
 (0)