9e8f1bbeed
Dashboard / frontend (push) Failing after 0s
Dashboard / api (push) Failing after 0s
Lint PowerShell / powershell-lint (ubuntu-latest) (push) Failing after 1s
Python Lint / Lint Python with Ruff (push) Failing after 1s
ShellCheck / Lint shell scripts (push) Failing after 1s
Matrix Smoke / linux-smoke (push) Failing after 1s
Matrix Smoke / distro: cachyos (push) Failing after 15s
Matrix Smoke / distro: linux-mint-21.3 (push) Failing after 15s
Matrix Smoke / distro: debian-12 (push) Failing after 5m21s
Matrix Smoke / distro: fedora-41 (push) Failing after 4m56s
Matrix Smoke / distro: ubuntu-24.04 (push) Failing after 2m13s
Matrix Smoke / distro: rocky-9 (push) Failing after 10m39s
Matrix Smoke / distro: manjaro (push) Failing after 12m11s
Matrix Smoke / distro: opensuse-tw (push) Failing after 11m53s
Matrix Smoke / distro: archlinux (push) Failing after 20m3s
Matrix Smoke / distro: ubuntu-22.04 (push) Failing after 13m49s
Validate .env Schema / tier-1-env-validation (push) Successful in 52s
Validate .env Schema / tier-2-env-validation (push) Successful in 44s
Validate .env Schema / tier-3-env-validation (push) Successful in 52s
Validate .env Schema / tier-4-env-validation (push) Successful in 51s
Validate Extensions Catalog / Check catalog is up-to-date (push) Failing after 9m47s
Secret Scan / Scan for secrets (push) Failing after 21m4s
Validate Docker Compose / Validate Docker Compose files (push) Has been cancelled
Python Type Check / Type check with mypy (push) Has been cancelled
Validate .env Schema / tier-0-env-validation (push) Has been cancelled
Test Linux / integration-smoke (push) Has been cancelled
Lint PowerShell / powershell-lint (windows-latest) (push) Has been cancelled
Matrix Smoke / macos-smoke (push) Has been cancelled
42 lines
1.6 KiB
Bash
Executable File
42 lines
1.6 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
PHASE="$ROOT_DIR/installers/phases/07-devtools.sh"
|
|
SERVICE="$ROOT_DIR/opencode/opencode-web.service"
|
|
|
|
pass() { echo "[PASS] $1"; }
|
|
fail() { echo "[FAIL] $1"; exit 1; }
|
|
|
|
echo "=== Linux OpenCode path tests ==="
|
|
|
|
grep -q 'type -P opencode' "$PHASE" \
|
|
&& pass "phase resolves executable OpenCode from PATH" \
|
|
|| fail "phase must resolve executable OpenCode from PATH without accepting shell functions"
|
|
|
|
grep -q '_opencode_candidate_is_file' "$PHASE" \
|
|
&& pass "phase validates OpenCode as an absolute executable file" \
|
|
|| fail "phase must validate OpenCode as an absolute executable file"
|
|
|
|
grep -q 'OPENCODE_BIN="\$(_find_opencode_bin || true)"' "$PHASE" \
|
|
&& pass "phase stores resolved OpenCode binary" \
|
|
|| fail "phase must store resolved OpenCode binary"
|
|
|
|
grep -q '\[\[ -n "\$OPENCODE_BIN" && -x "\$OPENCODE_BIN" \]\]' "$PHASE" \
|
|
&& pass "phase configures PATH-installed OpenCode" \
|
|
|| fail "phase must not require ~/.opencode/bin/opencode for configuration"
|
|
|
|
grep -q '__OPENCODE_BIN__' "$SERVICE" \
|
|
&& pass "systemd service templates resolved binary" \
|
|
|| fail "systemd service must not hard-code ~/.opencode/bin/opencode"
|
|
|
|
grep -q '__OPENCODE_BIN_DIR__' "$SERVICE" \
|
|
&& pass "systemd service templates resolved binary directory" \
|
|
|| fail "systemd service PATH must include resolved binary directory"
|
|
|
|
if grep -q 'ExecStart=__HOME__/.opencode/bin/opencode' "$SERVICE"; then
|
|
fail "systemd service still hard-codes ~/.opencode/bin/opencode"
|
|
fi
|
|
|
|
echo "[PASS] Linux OpenCode path tests"
|