Skip to content

Commit cf28322

Browse files
committed
fix: mac intel deployment
1 parent 2d54ecc commit cf28322

2 files changed

Lines changed: 13 additions & 4 deletions

File tree

.github/workflows/desktop-release.yml

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,15 +24,21 @@ jobs:
2424
fail-fast: false
2525
matrix:
2626
include:
27-
- platform: macos-13
27+
# Mac Intel : Tauri cross-compile depuis le runner ARM, et on installe un Python x86_64
28+
# (exécuté via Rosetta 2, préinstallée sur les runners macos-latest) pour que PyInstaller
29+
# produise un sidecar Intel natif. Évite la queue infinie sur macos-13.
30+
- platform: macos-latest
2831
args: --target x86_64-apple-darwin
2932
rust_triple: x86_64-apple-darwin
33+
python_arch: x64
3034
- platform: macos-latest
3135
args: --target aarch64-apple-darwin
3236
rust_triple: aarch64-apple-darwin
37+
python_arch: arm64
3338
- platform: windows-latest
3439
args: ""
3540
rust_triple: x86_64-pc-windows-msvc
41+
python_arch: x64
3642
runs-on: ${{ matrix.platform }}
3743

3844
defaults:
@@ -68,6 +74,7 @@ jobs:
6874
uses: actions/setup-python@v6
6975
with:
7076
python-version: '3.11'
77+
architecture: ${{ matrix.python_arch }}
7178

7279
- name: Install Python deps + PyInstaller
7380
shell: bash
@@ -76,6 +83,7 @@ jobs:
7683
python -m pip install --upgrade pip
7784
pip install -r requirements.txt
7885
pip install pyinstaller==6.11.1
86+
python -c "import platform, sys; print('Python', sys.version, 'arch=', platform.machine())"
7987
8088
- name: Build Vinted local worker (PyInstaller)
8189
shell: bash
@@ -89,13 +97,14 @@ jobs:
8997
if [[ "$RUNNER_OS" == "Windows" ]]; then
9098
mv "dist/goupix-vinted-worker.exe" \
9199
"../web/src-tauri/binaries/goupix-vinted-worker-${MATRIX_TRIPLE}.exe"
92-
ls -la "../web/src-tauri/binaries/"
93100
else
94101
mv "dist/goupix-vinted-worker" \
95102
"../web/src-tauri/binaries/goupix-vinted-worker-${MATRIX_TRIPLE}"
96103
chmod +x "../web/src-tauri/binaries/goupix-vinted-worker-${MATRIX_TRIPLE}"
97-
ls -la "../web/src-tauri/binaries/"
104+
# Vérifie que l'arch produite correspond bien à la cible Tauri
105+
file "../web/src-tauri/binaries/goupix-vinted-worker-${MATRIX_TRIPLE}" || true
98106
fi
107+
ls -la "../web/src-tauri/binaries/"
99108
100109
- name: Install frontend dependencies
101110
run: npm ci

web/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ The desktop bundle ships a Python sidecar built from `api/desktop_vinted_server.
123123

124124
- `deploy-web.yml` — web build and deploy (Nitro + PM2).
125125
- `deploy-api.yml` — backend build / VPS deployment (systemd + Xvfb for Vinted).
126-
- `desktop-release.yml` — Windows/macOS desktop **release** builds (Windows binary without console) and a stable GitHub Release **per version** (`v0.1.x`, not prerelease). For each OS the workflow first sets up Python 3.11, installs `api/requirements.txt` + PyInstaller, and runs `pyinstaller desktop_vinted_server.spec` to produce `goupix-vinted-worker-<rust-triple>(.exe)` under `web/src-tauri/binaries/` before invoking `tauri-action`. The macOS Intel target uses the `macos-13` runner so the produced sidecar is x86_64.
126+
- `desktop-release.yml` — Windows/macOS desktop **release** builds (Windows binary without console) and a stable GitHub Release **per version** (`v0.1.x`, not prerelease). For each OS the workflow first sets up Python 3.11, installs `api/requirements.txt` + PyInstaller, and runs `pyinstaller desktop_vinted_server.spec` to produce `goupix-vinted-worker-<rust-triple>(.exe)` under `web/src-tauri/binaries/` before invoking `tauri-action`. Both macOS targets (`x86_64-apple-darwin` and `aarch64-apple-darwin`) run on `macos-latest` (Apple Silicon); the Intel job uses `actions/setup-python` with `architecture: x64` so PyInstaller runs under Rosetta 2 (preinstalled on GitHub macOS runners) and produces a native Intel sidecar.
127127

128128
## Tauri updater: key generation and GitHub secrets
129129

0 commit comments

Comments
 (0)