Skip to content

feat: automated cross-platform release workflow #2

feat: automated cross-platform release workflow

feat: automated cross-platform release workflow #2

Workflow file for this run

name: Build
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
build-macos:
runs-on: macos-14
steps:
- uses: actions/checkout@v4
- uses: oven-sh/setup-bun@v2
with:
bun-version: latest
- run: bun install
- run: bun run build:prod
- name: Package macOS artifact
run: |
cd artifacts
if [ -d "*.app" ] || ls *.app 1>/dev/null 2>&1; then
tar -czf "../PumpStudioTrainer-macos-arm64.tar.gz" *.app
else
tar -czf "../PumpStudioTrainer-macos-arm64.tar.gz" .
fi
- uses: actions/upload-artifact@v4
with:
name: PumpStudioTrainer-macos-arm64
path: PumpStudioTrainer-macos-arm64.tar.gz
build-windows:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- uses: oven-sh/setup-bun@v2
with:
bun-version: latest
- run: bun install
- run: bun run build:prod
- name: Package Windows artifact
shell: pwsh
run: |
Compress-Archive -Path artifacts\* -DestinationPath PumpStudioTrainer-windows-x64.zip
- uses: actions/upload-artifact@v4
with:
name: PumpStudioTrainer-windows-x64
path: PumpStudioTrainer-windows-x64.zip
build-linux:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- uses: oven-sh/setup-bun@v2
with:
bun-version: latest
- run: sudo apt-get update && sudo apt-get install -y build-essential cmake pkg-config libgtk-3-dev libwebkit2gtk-4.1-dev
- run: bun install
- run: bun run build:prod
- name: Package Linux artifact
run: |
cd artifacts
tar -czf "../PumpStudioTrainer-linux-x64.tar.gz" .
- uses: actions/upload-artifact@v4
with:
name: PumpStudioTrainer-linux-x64
path: PumpStudioTrainer-linux-x64.tar.gz