Add cross platform builds

This commit is contained in:
Andras Schmelczer 2025-08-28 21:52:43 +01:00
parent aada6a3b87
commit 88c9364448
No known key found for this signature in database
GPG key ID: FC8F2C3D3D1A718C
7 changed files with 102 additions and 13 deletions

View file

@ -22,6 +22,11 @@ jobs:
with:
node-version: "22.x"
check-latest: true
- name: Setup Rust toolchain
uses: dtolnay/rust-toolchain@stable
with:
toolchain: "1.89.0"
- name: Setup rust
run: |

View file

@ -23,6 +23,11 @@ jobs:
node-version: "22.x"
check-latest: true
- name: Setup Rust toolchain
uses: dtolnay/rust-toolchain@stable
with:
toolchain: "1.89.0"
- name: Setup rust
run: |
cargo install sqlx-cli

View file

@ -67,7 +67,7 @@ jobs:
uses: docker/build-push-action@0565240e2d4ab88bba5387d719585280857ece09 # v5.0.0
with:
context: sync-server
platforms: linux/amd64,linux/arm64,linux/arm/v7
platforms: linux/amd64,linux/arm64
push: ${{ github.ref_type == 'tag' }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}

View file

@ -25,6 +25,19 @@ jobs:
cd frontend
npm ci
npm run build
- name: Setup Rust toolchain
uses: dtolnay/rust-toolchain@stable
with:
toolchain: "1.89.0"
- name: Install cross-compilation tools
run: |
sudo apt update
sudo apt install -y gcc-aarch64-linux-gnu musl-tools gcc-mingw-w64-x86-64
- name: Build Linux and Windows binaries
run: ./scripts/build-sync-server-binaries.sh
- name: Create release
env:
@ -37,4 +50,4 @@ jobs:
gh release create "$tag" \
--title="$tag" \
--draft \
main.js manifest.json styles.css
main.js manifest.json styles.css artifacts/sync-server-*