fix: ports, Makefile, tests, secrets, and dependency cleanup #17
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "development_mik"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Comprehensive build system and CI overhaul: fix build_lib argument bugs, align CI pipeline to use Makefile as single source of truth, and add three-tier local CI reproduction (test-all, ci-local, ci-docker).
Changes
Build fixes
build release→buildin Makefile build target (CI blocker — "release" went into features arg)build debug→build "$ALL_FEATURES" "" debugin installdev targetCI pipeline alignment
maketargets (fmt-check, lint, check, test, build) — not raw cargomake test-allstepmake test-allwithCARGO_NET_GIT_FETCH_WITH_CLI=trueThree-tier local CI (new)
make test-all— quick offline checks (~80% fidelity)make ci-local— no workspace config overrides, CI env vars (~95% fidelity)make ci-docker— same Docker image as CI, deps.txt patching (~100% fidelity)Infrastructure
scripts/ci-docker.sh— Docker orchestrator with SSH/cargo mountsscripts/ci-patch-deps.sh— cross-repo deps.txt patching for feature branchesTesting
make ci-localpasses → remote CI passes (confirmed)make ci-dockerpasses inside Docker containerCloses #16
Consolidated from #14 into
development_mikbranch (includes latestdevelopmentmerged in).- Add resolve_env_vars() to config.rs: resolves ${VAR} and ${VAR:-default} placeholders from process environment when writing zinit configs - hero_shrimp.toml: replace real API keys (Telegram, OpenRouter, Sambanova, Groq) with ${VAR} placeholders — keys flow from user env at runtime - hero_redis.toml: encryption-key and admin-secret now use ${HERO_REDIS_ENCRYPTION_KEY:-dev-encryption-key} syntax - hero_supervisor.toml: admin-secret uses ${HERO_SUPERVISOR_ADMIN_SECRET:-dev-admin-secret} - hero_launcher.toml: redis URL uses ${HERO_REDIS_ADMIN_SECRET:-dev-admin-secret} - .env.example: document all secret env vars Follows env_secrets skill pattern: users source ~/hero/cfg/env/* before running hero_zero, secrets flow through to service configs. Dev defaults ensure zero-config local development still works. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>Closing — valuable parts integrated into
developmentReviewed all 17 commits. Rather than merging (17 conflicts), we cherry-picked and re-implemented the valuable parts.
Taken directly
build_lib.sh— cherry-picked98a574f→e97125dRe-implemented with improvements
${VAR:-default}env substitution (fromb528448) — re-implemented asresolve_env_vars()inconfig.rs, replacing the__SECRET__central whitelist. Each template now declares only the env vars it needs. →941e62962801fa,c2004b8,76da43a) — rewritten to followbuild_libskill conventions withCARGO_ENVprefix, standard targets, and consolidatedmake profile PROFILE=<name>. →941e629bce6b03) — rewritten for current architecture (14 tests coveringresolve_env_vars, TOML parsing, feature management). →941e629Skipped
260c628(Redis web UI) — references deletedtemplates/directorydbb8aee,622a526,2304aac(herolib_os dep changes) — already resolved in developmentbf08c0d,84ce929,2b634bd,f634145(init/Docker) — superseded by current architecturebf1d638,788f9c3) — conflicts with current structureAll 44 tests pass on
development. Branch can be deleted.Pull request closed