Skip to content

Commit 2e8aad8

Browse files
authored
v1.1.2: actually-green mipsel-softfloat (YAML comment-fold bug) (#44)
v1.1.1 still failed the mipsel CI matrix for a non-obvious reason. The `Build CLI (mipsel-softfloat via docker)` step passed a multi-line argument to `sh -c "..."` with `\` line continuations and inline `#` comments: sh -c "set -eux; \ # The image ships with a pre-installed nightly ... \ rustup toolchain uninstall ... \ ..." YAML's `run: |` block-scalar folds that into a single line on the shell side — backslash-newline collapses become spaces. The payload handed to `sh -c` becomes one long line in which the first `#` comments out everything that follows on that line, so the only command that actually ran inside the container was `set -eux;`. Everything after it was a comment. The container exited successfully (set -eux + empty; is a zero-exit no-op), the `target/` directory never got created, and the post-docker `sudo chown -R "$(id -u):$(id -g)" target` failed with chown: cannot access 'target': No such file or directory Process completed with exit code 1. which fooled me into thinking the toolchain logic failed, when actually NO toolchain logic ran at all. Fix: use bash with a single-quoted multi-line script. Single quotes preserve newlines literally, so `#` stays a line-terminating comment rather than collapsing. Heredoc-style formatting; same commands as before. No other changes. Version bumps only (Cargo + Android versionCode/ versionName). Telegram notify stays off via the repo-variable gate we added yesterday.
1 parent aff7a29 commit 2e8aad8

4 files changed

Lines changed: 27 additions & 18 deletions

File tree

.github/workflows/release.yml

Lines changed: 23 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -162,24 +162,33 @@ jobs:
162162
# stable channel — no prebuilt std.
163163
- name: Build CLI (mipsel-softfloat via docker)
164164
if: matrix.target == 'mipsel-unknown-linux-musl' && matrix.mipsel_softfloat == true
165+
# The inner script is single-quoted so the `#` lines stay as
166+
# real comments. An earlier version of this step used
167+
# `sh -c "... \` (backslash-continuation inside a
168+
# double-quoted YAML folded string) which collapsed into one
169+
# line — the first `#` then commented out everything after it,
170+
# reducing the whole docker payload to `set -eux;` and failing
171+
# silently at the post-docker chown. Heredoc-style single
172+
# quotes preserve newlines verbatim; no comment collapse.
165173
run: |
166174
docker run --rm -v "$PWD":/src -w /src \
167175
-e RUSTFLAGS='-C target-feature=+soft-float' \
168176
messense/rust-musl-cross:mipsel-musl \
169-
sh -c "set -eux; \
170-
# The image ships with a pre-installed nightly that rustup \
171-
# can't cleanly upgrade — the expected \`clippy-preview/share/doc/clippy/README.md\` \
172-
# is missing, which fails the in-place upgrade \
173-
# (error: failure removing component 'clippy-preview...'). \
174-
# Nuke it first, then install fresh with only the profile \
175-
# bits we actually use. \
176-
rustup toolchain uninstall nightly 2>/dev/null || true; \
177-
rustup toolchain install nightly --profile minimal; \
178-
rustup component add rust-src --toolchain nightly; \
179-
cargo +nightly build --release \
180-
-Z build-std=std,panic_abort \
181-
--target mipsel-unknown-linux-musl \
182-
--bin mhrv-rs"
177+
bash -c '
178+
set -eux
179+
# The image ships a pre-installed nightly that rustup
180+
# cannot upgrade in place — `clippy-preview/share/doc/clippy/README.md`
181+
# is missing from the pre-bake, and rustup errors with
182+
# "failure removing component clippy-preview". Nuke it
183+
# first, then install fresh.
184+
rustup toolchain uninstall nightly 2>/dev/null || true
185+
rustup toolchain install nightly --profile minimal
186+
rustup component add rust-src --toolchain nightly
187+
cargo +nightly build --release \
188+
-Z build-std=std,panic_abort \
189+
--target mipsel-unknown-linux-musl \
190+
--bin mhrv-rs
191+
'
183192
sudo chown -R "$(id -u):$(id -g)" target
184193
185194
# UI build: we try to build the UI binary on every platform. If it fails

Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "mhrv-rs"
3-
version = "1.1.1"
3+
version = "1.1.2"
44
edition = "2021"
55
description = "Rust port of MasterHttpRelayVPN -- DPI bypass via Google Apps Script relay with domain fronting"
66
license = "MIT"

android/app/build.gradle.kts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ android {
1414
applicationId = "com.therealaleph.mhrv"
1515
minSdk = 24 // Android 7.0 — covers 99%+ of live devices.
1616
targetSdk = 34
17-
versionCode = 111
18-
versionName = "1.1.1"
17+
versionCode = 112
18+
versionName = "1.1.2"
1919

2020
// Ship all four mainstream Android ABIs:
2121
// - arm64-v8a — 95%+ of real-world Android phones since 2019

0 commit comments

Comments
 (0)