Skip to content
This repository was archived by the owner on Feb 15, 2026. It is now read-only.

Comments

refactor: align build system with container-packaging-tools#44

Merged
mairas merged 1 commit intomainfrom
refactor/align-build-system
Nov 22, 2025
Merged

refactor: align build system with container-packaging-tools#44
mairas merged 1 commit intomainfrom
refactor/align-build-system

Conversation

@mairas
Copy link
Contributor

@mairas mairas commented Nov 22, 2025

Summary

Align the build system with the cleaner pattern used in container-packaging-tools, eliminating the sources of CI failures we've been debugging.

Changes

Docker Setup

  • Replace Dockerfile.debtoolsDockerfile.devtools

    • Keep Debian Bookworm as base (for target compatibility)
    • Create non-root builder user
    • Install uv system-wide (not per-user)
  • Replace docker-compose.debtools.ymldocker-compose.devtools.yml

    • Remove env_file: ../.env (root cause of many CI issues)
    • Simplify volume mount: - ..:/workspace (no ${DIR_NAME} complexity)

Run Script

  • Remove _env, _export_unset, dev-env functions (caused CI failures)
  • Rename debtoolsdevtools for consistency
  • Simplify build-deb: just uv sync && dpkg-buildpackage
  • Add docker-shell and docker-clean commands
  • Add build command as main entry point

Workflow

  • Fix package-name: halpi2-daemonpackage-name: halpid to match debian/control

Why This Fixes CI

The old build system had multiple failure modes:

  1. env_file: ../.env required the file to exist
  2. grep -v '^#' returned exit code 1 on comment-only files
  3. Complex ${DIR_NAME} variable handling in volume mounts

The new system has none of these issues - it's the same pattern that works reliably in container-packaging-tools.

Test plan

  • PR checks pass
  • After merge, main branch workflow succeeds

🤖 Generated with Claude Code

Simplify the build system to match the cleaner pattern used in
container-packaging-tools, eliminating sources of CI failures.

Changes:
- Replace Dockerfile.debtools with Dockerfile.devtools (Bookworm base,
  non-root user, system-wide uv installation)
- Replace docker-compose.debtools.yml with docker-compose.devtools.yml
  (remove env_file dependency, simplify volume mounts)
- Simplify run script: remove _env, _export_unset, dev-env functions
  that caused CI failures with .env file handling
- Rename debtools to devtools for consistency
- Add docker-shell and docker-clean commands
- Fix package-name in workflow: halpi2-daemon → halpid to match
  debian/control

The old build system had multiple failure modes:
1. env_file requiring .env to exist
2. grep failing on comment-only .env files
3. Complex volume mounting with DIR_NAME variable

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
@mairas mairas merged commit 9adbef6 into main Nov 22, 2025
1 check passed
@mairas mairas deleted the refactor/align-build-system branch November 22, 2025 09:49
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant