Final Robust CI/CD Fixes

- Switched Linux build runner to ubuntu-22.04 for better glibc compatibility.
- Improved OnionShare URL detection in ci/test-e2e.sh using grep -a and extra stabilization.
- Explicitly set TOR_BINARY environment variable in voxvera/cli.py when using bundled Tor.
- Standardized artifact handling and release flattening in binaries.yml.
This commit is contained in:
thePR0M3TH3AN committed 2026-03-14 22:32:05 -04:00
1 parent dff82c6abd
commit b3ee6869a2
3 files changed
+10 -7

No files matched your search

+5 -5
View File
@@ -14,9 +14,9 @@ jobs:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
os: [ubuntu-22.04, windows-latest, macos-latest]
include:
- os: ubuntu-latest
- os: ubuntu-22.04
artifact_name: voxvera-linux
- os: windows-latest
artifact_name: voxvera-windows.exe
@@ -57,7 +57,7 @@ jobs:
voxvera/cli.py
- name: Build .deb (Linux)
if: matrix.os == 'ubuntu-latest'
if: matrix.os == 'ubuntu-22.04'
run: |
mkdir -p voxvera/resources/bin
cp dist/${{ matrix.artifact_name }} voxvera/resources/bin/voxvera-linux-x86_64
@@ -65,7 +65,7 @@ jobs:
./packaging/build_deb.sh dist/${{ matrix.artifact_name }}
- name: Build AppImage (Linux)
if: matrix.os == 'ubuntu-latest'
if: matrix.os == 'ubuntu-22.04'
run: |
mkdir -p voxvera/resources/bin
cp dist/${{ matrix.artifact_name }} voxvera/resources/bin/voxvera-linux-x86_64
@@ -73,7 +73,7 @@ jobs:
./packaging/build_appimage.sh dist/${{ matrix.artifact_name }}
- name: Build Flatpak (Linux)
if: matrix.os == 'ubuntu-latest'
if: matrix.os == 'ubuntu-22.04'
run: |
mkdir -p voxvera/resources/bin
cp dist/${{ matrix.artifact_name }} voxvera/resources/bin/voxvera-linux-x86_64
+3 -2
View File
@@ -102,8 +102,9 @@ if [ "${VOXVERA_E2E_OFFLINE:-}" != "1" ]; then
echo "Waiting for OnionShare to generate URL (up to 120s)..."
URL=""
for i in {1..120}; do
if grep -Eo 'http[^ ]+\.onion' "$LOG_DIR/onionshare.log" | head -n1 >"$LOG_DIR/url.txt"; then
URL=$(cat "$LOG_DIR/url.txt")
# Use -a to process as text even if there are binary chars (ANSI codes)
if grep -aEo 'http[s]?://[a-z2-7]{56}\.onion' "$LOG_DIR/onionshare.log" | head -n1 >"$LOG_DIR/url.txt"; then
URL=$(cat "$LOG_DIR/url.txt" | tr -d '\r\n ')
if [ -n "$URL" ]; then
echo "Successfully generated Onion URL: $URL"
break
+2
View File
@@ -619,6 +619,8 @@ def _internal_onionshare():
bundled_tor = tor_dir / ("tor.exe" if "windows" in system else "tor")
if bundled_tor.exists() and bundled_tor.stat().st_size > 100:
os.environ["PATH"] = str(tor_dir) + os.pathsep + os.environ.get("PATH", "")
# Robustness: explicitly tell OnionShare where Tor is
os.environ["TOR_BINARY"] = str(bundled_tor)
try:
from onionshare_cli import main