Skip to content

test: validate install.sh on Linux (Debian/Ubuntu/Arch) + report any package-manager quirks #5

@evemcgivern

Description

@evemcgivern

Context

install.sh was developed on macOS and exercised under WSL. CI now mechanizes the installer-centric checks on Ubuntu (see the install.sh smoke (ubuntu) job in .github/workflows/test.yml, added for this issue): it runs install.sh --help, a real install into a scratch target, the --target override (Codex layout), and python3 work_plan.py --help, asserting each lands. The Python suite already runs on ubuntu-latest across 3.9–3.12.

What CI cannot prove — and what this issue now tracks — is the package-manager one-liners and non-Ubuntu distros. CI installs the yq binary directly rather than going through the README's apt/pacman/dnf instructions, so those paths (and the mikefarah-vs-kislyuk yq distinction they produce) are still unverified by a human on real distros.

Remaining acceptance criteria (manual)

  • On a fresh Debian/Ubuntu env, install the four prereqs (gh, git, yq, python3) using the README one-liners — confirm they work as written
  • On a fresh Arch env, same via pacman — confirm the one-liner is correct
  • (bonus) Fedora via dnf
  • On each, confirm the yq the README one-liner installs is mikefarah/yq (Go binary), NOT kislyuk/yq (Python jq wrapper) — see CONTRIBUTING.md. This is the highest-risk item: distro repos sometimes ship the wrong yq.
  • Comment here with any distro-specific quirks (especially yq packaging or Python version skew), and flag any README one-liner that's wrong/outdated

Already covered by CI (no manual action needed)

  • Run ./install.shinstall.sh smoke (ubuntu) job
  • Run ./install.sh --target=$HOME/.agents → smoke job (Codex-layout override)
  • Run ./install.sh --help → smoke job
  • Run python3 work_plan.py --help → smoke job
  • Python suite on Linuxunittest matrix (ubuntu-latest, 3.9–3.12)

Pointers

  • README "Requirements" section has the per-distro install one-liners — flag any that are wrong/outdated
  • install.sh is POSIX-ish bash with set -euo pipefail

Effort

~15-30 minutes per distro (one-liner verification only — the installer mechanics are now CI-covered).

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions