This commit is contained in:
Tomas Dvorak
2026-03-18 13:25:38 +01:00
parent 6ff864cb9e
commit c202f6b219
3 changed files with 63 additions and 33 deletions
+47 -32
View File
@@ -15,71 +15,76 @@ jobs:
test:
name: Test Suite
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install dependencies (ubuntu)
run: |
sudo apt-get update
sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf
- name: Rust setup
uses: dtolnay/rust-toolchain@stable
- name: Rust Cache
uses: swatinem/rust-cache@v2
with:
workspaces: "swingmusic-desktop -> target"
- name: Install Tauri CLI
run: npm install -g @tauri-apps/cli
- name: Install desktop dependencies
run: |
cd swingmusic-desktop
npm install
- name: Run tests
run: cd swingmusic-desktop && cargo test
build-linux:
name: Build Linux
runs-on: ubuntu-latest
needs: test
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf
- name: Rust setup
uses: dtolnay/rust-toolchain@stable
with:
targets: x86_64-unknown-linux-gnu
- name: Rust Cache
uses: swatinem/rust-cache@v2
with:
workspaces: "swingmusic-desktop -> target"
key: linux-x64
- name: Install Tauri CLI
run: npm install -g @tauri-apps/cli
- name: Install desktop dependencies
run: |
cd swingmusic-desktop
npm install
- name: Install webclient dependencies
run: |
cd swingmusic-webclient
npm install
- name: Build the app
run: |
cd swingmusic-desktop
npm run tauri build -- --target x86_64-unknown-linux-gnu
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
@@ -88,39 +93,44 @@ jobs:
swingmusic-desktop/target/x86_64-unknown-linux-gnu/release/bundle/
!swingmusic-desktop/target/x86_64-unknown-linux-gnu/release/bundle/.*/
retention-days: 30
build-windows:
name: Build Windows
runs-on: windows-latest
needs: test
steps:
- uses: actions/checkout@v4
- name: Rust setup
uses: dtolnay/rust-toolchain@stable
with:
targets: x86_64-pc-windows-msvc
- name: Rust Cache
uses: swatinem/rust-cache@v2
with:
workspaces: "swingmusic-desktop -> target"
key: windows-x64
- name: Install Tauri CLI
run: npm install -g @tauri-apps/cli
- name: Install desktop dependencies
run: |
cd swingmusic-desktop
npm install
- name: Install webclient dependencies
run: |
cd swingmusic-webclient
npm install
- name: Build the app
run: |
cd swingmusic-desktop
npm run tauri build -- --target x86_64-pc-windows-msvc
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
@@ -129,39 +139,44 @@ jobs:
swingmusic-desktop/target/x86_64-pc-windows-msvc/release/bundle/
!swingmusic-desktop/target/x86_64-pc-windows-msvc/release/bundle/.*/
retention-days: 30
build-macos:
name: Build macOS
runs-on: macos-latest
needs: test
steps:
- uses: actions/checkout@v4
- name: Rust setup
uses: dtolnay/rust-toolchain@stable
with:
targets: x86_64-apple-darwin
- name: Rust Cache
uses: swatinem/rust-cache@v2
with:
workspaces: "swingmusic-desktop -> target"
key: macos-x64
- name: Install Tauri CLI
run: npm install -g @tauri-apps/cli
- name: Install desktop dependencies
run: |
cd swingmusic-desktop
npm install
- name: Install webclient dependencies
run: |
cd swingmusic-webclient
npm install
- name: Build the app
run: |
cd swingmusic-desktop
npm run tauri build -- --target x86_64-apple-darwin
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
+6 -1
View File
@@ -211,6 +211,11 @@ jobs:
cd swingmusic-desktop
npm install
- name: Install webclient dependencies
run: |
cd swingmusic-webclient
npm install
- name: Build the app
run: |
cd swingmusic-desktop
@@ -303,7 +308,7 @@ jobs:
if [[ $GITHUB_REF == refs/tags/* ]]; then
VERSION=${GITHUB_REF#refs/tags/v}
else
VERSION=$(python -c "import sys; sys.path.insert(0, 'src'); from swingmusic import __version__; print(__version__)")
VERSION=$(python3 -c "import sys; sys.path.insert(0, 'src'); from swingmusic import __version__; print(__version__)")
VERSION="$VERSION-${{ github.run_number }}"
fi
echo "version=$VERSION" >> $GITHUB_OUTPUT