JMR-devandCopilot de7f71fea6 Suppress intentional errLog output during tests
Tests that exercise error paths in errLog/warn were causing
GitHub Actions to annotate test output with 'Error: R] ...'
(GHA eats '[ERRO' from '[ERROR]' lines and surfaces the rest as
workflow errors), making real failures hard to distinguish from
expected behavior.

- issues.go: route logIssue output through issueLogWriter (io.Writer,
  defaults to os.Stdout). errorCount/issues/notices recording is
  unchanged so tests still assert via errorCount.
- testmain_test.go: TestMain sets issueLogWriter = io.Discard for
  the whole test binary.
- issues_test.go: TestIssuesLogging temporarily redirects
  issueLogWriter to a bytes.Buffer (replacing os.Pipe stdout
  capture).

go test -v ./... now contains zero stray '[ERROR]' lines; real
test failures remain visible and 'go test' still exits non-zero
on failure, failing the workflow.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-05-26 14:55:51 -05:00
2026-05-22 21:48:57 +00:00
2026-05-22 21:48:57 +00:00
2026-05-26 09:36:05 -05:00
2026-05-26 09:36:05 -05:00
2026-05-26 13:21:31 -05:00
2026-05-26 13:21:31 -05:00
2026-05-26 09:36:05 -05:00
2026-05-26 09:36:05 -05:00
2026-05-26 09:36:05 -05:00
2026-05-26 09:36:05 -05:00
2026-05-26 09:36:05 -05:00
2026-05-22 21:48:57 +00:00
2026-05-26 09:36:05 -05:00
2026-05-26 09:36:05 -05:00
2026-05-26 09:36:05 -05:00
2026-05-26 09:36:05 -05:00
2026-05-26 09:36:05 -05:00
2026-05-26 13:21:31 -05:00
2026-05-26 09:36:05 -05:00
2026-05-26 09:36:05 -05:00
2026-05-26 13:21:31 -05:00
2026-05-26 09:36:05 -05:00

bootstrap_dev_env

A Go-based bootstrap tool that installs a development environment across macOS, Debian/Ubuntu, RHEL/Fedora, and Arch Linux on x86_64 and aarch64. It installs system packages, optional Flatpak GUI apps, and a set of custom third-party tools (Go, Neovim, Zig, NVM, pyenv, oh-my-zsh, Firecracker on Linux, agy, claude, codex, and copilot).

Install

Download the native binary for your platform from a release, or build from source:

git clone https://github.com/JMR-dev/bootstrap_dev_env.git
cd bootstrap_dev_env
make build           # builds ./bootstrap_environment for the host

To produce native binaries for all four supported targets at once:

make build-all       # writes dist/bootstrap_environment-{linux,darwin}-{amd64,arm64}

Usage

# Linux (do NOT use sudo on macOS — Homebrew refuses to run as root)
sudo ./bootstrap_environment [--only system|flatpak|custom] [--gui]

# macOS
./bootstrap_environment [--only system|custom] [--gui] [--no-vm]

Flags:

  • --only — restrict to one section (system, flatpak, or custom).
  • --gui — include GUI applications and the Flatpak section. Default is headless: both are skipped.
  • --no-vm — macOS only: skip provisioning the Fedora-on-QEMU/VirtualBox VM that backs the firecracker() zsh wrapper.
  • --no-ai — skip installation of AI/LLM CLI tools (agy, claude, codex, copilot).

Package lists live in packages.go. Edit and rebuild.

S
Description
Bootstrap tool for setting up dev/workstation environments for several different POSIX operating systems and workloads
Readme
6.5 MiB
v.0.3.0
Latest
2026-06-11 16:51:42 +00:00
Languages
Go 99.7%
Makefile 0.3%