Compare commits

...

1 Commits

Author SHA1 Message Date
e3c874bc75 Fix cargo PATH: use explicit export in every step that needs it
Some checks failed
Build App / build-macos (push) Successful in 2m22s
Build App / build-windows (push) Successful in 4m1s
Build App / build-linux (push) Failing after 1m30s
The Gitea Act runner's Docker container does not reliably support
$GITHUB_PATH or sourcing ~/.cargo/env across steps. Both mechanisms
failed because the runner spawns a fresh shell for each step.

Adopted the same pattern that already works for the Windows job:
explicitly set PATH at the top of every step that calls cargo or
npx tauri. This is the most portable approach across all runner
environments (Act Docker containers, bare metal macOS, Windows).

Build history shows Linux succeeded through run#46 (JS-based
actions) and failed from run#49 onward (shell-based installs).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 17:36:02 -08:00

View File

@@ -81,8 +81,7 @@ jobs:
else else
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain stable curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain stable
fi fi
. "$HOME/.cargo/env" export PATH="$HOME/.cargo/bin:$PATH"
echo "$HOME/.cargo/bin" >> $GITHUB_PATH
rustc --version rustc --version
cargo --version cargo --version
@@ -92,11 +91,15 @@ jobs:
- name: Install Tauri CLI - name: Install Tauri CLI
working-directory: ./app working-directory: ./app
run: npx tauri --version || npm install @tauri-apps/cli run: |
export PATH="$HOME/.cargo/bin:$PATH"
npx tauri --version || npm install @tauri-apps/cli
- name: Build Tauri app - name: Build Tauri app
working-directory: ./app working-directory: ./app
run: npx tauri build run: |
export PATH="$HOME/.cargo/bin:$PATH"
npx tauri build
- name: Collect artifacts - name: Collect artifacts
run: | run: |
@@ -137,7 +140,7 @@ jobs:
steps: steps:
- name: Install Node.js - name: Install Node.js
run: | run: |
if command -v node &>/dev/null; then if command -v node >/dev/null 2>&1; then
echo "Node.js already installed: $(node --version)" echo "Node.js already installed: $(node --version)"
else else
echo "Installing Node.js 22 via Homebrew..." echo "Installing Node.js 22 via Homebrew..."
@@ -177,8 +180,7 @@ jobs:
else else
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain stable curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain stable
fi fi
. "$HOME/.cargo/env" export PATH="$HOME/.cargo/bin:$PATH"
echo "$HOME/.cargo/bin" >> $GITHUB_PATH
rustup target add aarch64-apple-darwin x86_64-apple-darwin rustup target add aarch64-apple-darwin x86_64-apple-darwin
rustc --version rustc --version
cargo --version cargo --version
@@ -189,11 +191,15 @@ jobs:
- name: Install Tauri CLI - name: Install Tauri CLI
working-directory: ./app working-directory: ./app
run: npx tauri --version || npm install @tauri-apps/cli run: |
export PATH="$HOME/.cargo/bin:$PATH"
npx tauri --version || npm install @tauri-apps/cli
- name: Build Tauri app (universal) - name: Build Tauri app (universal)
working-directory: ./app working-directory: ./app
run: npx tauri build --target universal-apple-darwin run: |
export PATH="$HOME/.cargo/bin:$PATH"
npx tauri build --target universal-apple-darwin
- name: Collect artifacts - name: Collect artifacts
run: | run: |