[PR #15] [MERGED] Add CI pipeline for build, unit, and integration tests #16

Closed
opened 2026-10-15 12:51:18 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/games-on-whales/LXC2Docker/pull/15
Author: @JBailes
Created: 4/18/2026
Status: ✅ Merged
Merged: 4/18/2026
Merged by: @JBailes

Base: main ← Head: ci/test-matrix-ci


📝 Commits (10+)

  • 26a458d Fix Wolf compatibility: CGO deadlocks, Docker state mapping, and missing inspect fields
  • 9f93476 Proxmox CT mode: wolf/wolf-den as PVE CTs, ephemeral on ZFS
  • 1ac053b Fix PVE deploy: hostname sanitization, basevol paths, raw network config
  • 46f8145 Dual-NIC LAN bridge: containers get routable IPs on physical network
  • 86c0fc1 Fix mDNS: make LAN bridge the primary NIC (net.0)
  • 3f864d9 Fix rootfs path for symlink resolution in ephemeral containers
  • 6b4c87d Fix stale Docker socket after daemon restart
  • 99264c0 Fix ephemeral container lifecycle and Docker API compatibility
  • a82ebdb Merge pull request #2 from games-on-whales/aimee/session/b86598a3
  • eb844b1 Ensure /run/wolf exists on boot for wolf LXC containers

📊 Changes

34 files changed (+11050 additions, -502 deletions)

View changed files

➕ .github/workflows/ci.yml (+81 -0)
📝 Makefile (+26 -1)
➕ cmd/docker-lxc-daemon/lan_config_test.go (+85 -0)
📝 cmd/docker-lxc-daemon/main.go (+120 -4)
➕ deepdive.md (+94 -0)
➕ internal/api/build.go (+940 -0)
📝 internal/api/containers.go (+1482 -112)
➕ internal/api/containers_extra.go (+581 -0)
➕ internal/api/events.go (+367 -0)
📝 internal/api/exec.go (+70 -5)
➕ internal/api/filters.go (+159 -0)
➕ internal/api/filters_test.go (+91 -0)
➕ internal/api/image_save.go (+607 -0)
📝 internal/api/images.go (+355 -26)
➕ internal/api/list_filters.go (+270 -0)
➕ internal/api/list_filters_test.go (+134 -0)
➕ internal/api/portainer.go (+164 -0)
➕ internal/api/portainer_ops.go (+411 -0)
📝 internal/api/router.go (+126 -9)
➕ internal/api/stats.go (+649 -0)

...and 14 more files

📄 Description

Summary

  • Add GitHub Actions CI workflow with build, unit test, and integration test jobs.
  • Add Makefile test targets for build-only checks, unit tests, and integration tests.
  • Add critical unit tests for API parsing, list filters, image resolution, store behavior, and LAN config.
  • Add integration build sanity test to ensure daemon binary can be built.
  • Document test workflow in readme.

Notes

Replaces previously merged changes from PR #14 branch, moving to a fresh PR after that merge.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/games-on-whales/LXC2Docker/pull/15 **Author:** [@JBailes](https://github.com/JBailes) **Created:** 4/18/2026 **Status:** ✅ Merged **Merged:** 4/18/2026 **Merged by:** [@JBailes](https://github.com/JBailes) **Base:** `main` ← **Head:** `ci/test-matrix-ci` --- ### 📝 Commits (10+) - [`26a458d`](https://github.com/games-on-whales/LXC2Docker/commit/26a458da471147f079d42596b016a48c8d5b12ff) Fix Wolf compatibility: CGO deadlocks, Docker state mapping, and missing inspect fields - [`9f93476`](https://github.com/games-on-whales/LXC2Docker/commit/9f93476eff215dad14b822921accb99a41ce40a7) Proxmox CT mode: wolf/wolf-den as PVE CTs, ephemeral on ZFS - [`1ac053b`](https://github.com/games-on-whales/LXC2Docker/commit/1ac053b6ff8514d259eb6dbb4305d529ca85fbf9) Fix PVE deploy: hostname sanitization, basevol paths, raw network config - [`46f8145`](https://github.com/games-on-whales/LXC2Docker/commit/46f814557a1ef102584117a689c3edfe4659f1a7) Dual-NIC LAN bridge: containers get routable IPs on physical network - [`86c0fc1`](https://github.com/games-on-whales/LXC2Docker/commit/86c0fc1cf2cda8c523a967c2110f544b4a9a62eb) Fix mDNS: make LAN bridge the primary NIC (net.0) - [`3f864d9`](https://github.com/games-on-whales/LXC2Docker/commit/3f864d91d8fc411757464d9ba83f588a2bb9fa63) Fix rootfs path for symlink resolution in ephemeral containers - [`6b4c87d`](https://github.com/games-on-whales/LXC2Docker/commit/6b4c87d546ccb47d4649b333ab7086b00e60f4ab) Fix stale Docker socket after daemon restart - [`99264c0`](https://github.com/games-on-whales/LXC2Docker/commit/99264c07b1f91f29d066ac977a2ccac9114f2703) Fix ephemeral container lifecycle and Docker API compatibility - [`a82ebdb`](https://github.com/games-on-whales/LXC2Docker/commit/a82ebdbe7912b7f5301e456d8741d2535c8ed7c8) Merge pull request #2 from games-on-whales/aimee/session/b86598a3 - [`eb844b1`](https://github.com/games-on-whales/LXC2Docker/commit/eb844b1633bb7847c78fbe7bb4f9666b82fb76b3) Ensure /run/wolf exists on boot for wolf LXC containers ### 📊 Changes **34 files changed** (+11050 additions, -502 deletions) <details> <summary>View changed files</summary> ➕ `.github/workflows/ci.yml` (+81 -0) 📝 `Makefile` (+26 -1) ➕ `cmd/docker-lxc-daemon/lan_config_test.go` (+85 -0) 📝 `cmd/docker-lxc-daemon/main.go` (+120 -4) ➕ `deepdive.md` (+94 -0) ➕ `internal/api/build.go` (+940 -0) 📝 `internal/api/containers.go` (+1482 -112) ➕ `internal/api/containers_extra.go` (+581 -0) ➕ `internal/api/events.go` (+367 -0) 📝 `internal/api/exec.go` (+70 -5) ➕ `internal/api/filters.go` (+159 -0) ➕ `internal/api/filters_test.go` (+91 -0) ➕ `internal/api/image_save.go` (+607 -0) 📝 `internal/api/images.go` (+355 -26) ➕ `internal/api/list_filters.go` (+270 -0) ➕ `internal/api/list_filters_test.go` (+134 -0) ➕ `internal/api/portainer.go` (+164 -0) ➕ `internal/api/portainer_ops.go` (+411 -0) 📝 `internal/api/router.go` (+126 -9) ➕ `internal/api/stats.go` (+649 -0) _...and 14 more files_ </details> ### 📄 Description ## Summary - Add GitHub Actions CI workflow with build, unit test, and integration test jobs. - Add Makefile test targets for build-only checks, unit tests, and integration tests. - Add critical unit tests for API parsing, list filters, image resolution, store behavior, and LAN config. - Add integration build sanity test to ensure daemon binary can be built. - Document test workflow in readme. ## Notes Replaces previously merged changes from PR #14 branch, moving to a fresh PR after that merge. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-15 12:51:18 +00:00
Sign in to join this conversation.
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
games-on-whales/LXC2Docker#16
No description provided.