mirror of
https://github.com/therealaleph/MasterHttpRelayVPN-RUST.git
synced 2026-05-18 08:54:36 +03:00
fdc0405465
Two related fixes for the self-hosted Linux jobs failing on `actions/checkout@v4` with `EACCES: permission denied unlink target/.rustc_info.json`: 1. Pre-checkout cleanup. The previous mipsel docker step left root- owned files in target/ when its `cargo +nightly build` failed — the post-step `sudo chown -R …` line was AFTER the docker run, and bash -e short-circuited on docker non-zero, so chown never executed. Once those root-owned files exist on the runner, every subsequent self-hosted job's `actions/checkout@v4` clean step fails because it can't unlink them. Add a guarded pre-checkout step that uses `sudo rm -rf` to clear root-owned leftovers from $GITHUB_WORKSPACE. Gated on `contains(matrix.os, 'self-hosted')` so GitHub-hosted runners (macOS, Windows) skip it — they get fresh VMs anyway. 2. Always-chown trap. The mipsel docker step now uses `trap '…chown…' EXIT` so the chown runs whether the inner `cargo build` succeeded or failed. A transient mipsel compile regression (tier-3 target, occasional std-build breakage) no longer poisons the runner's workspace for the next run. Together: (1) recovers from the existing broken state on next run, (2) prevents the same poisoned state from recurring. Triggered for the v1.4.0 redeploy that's trying to publish the missing mhrv-rs-openwrt-mipsel-softfloat artifact. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>