Files
PSProxmoxVE/tests/docker-compose.test.yml
T
Clint Branham f21c7f84b7 feat(ci): unify CI and local integration test infrastructure
- Replace tests/infrastructure/Dockerfile with tests/Dockerfile.test
  (single multi-stage Dockerfile for both CI and local dev)
- CI container-image job now builds from Dockerfile.test target dev-infra
- Add ARM support: PowerShell installed via dotnet tool on arm64,
  APT package on amd64
- Replace tests/dev.sh (bash) with tests/dev.ps1 (PowerShell) for
  cross-platform support (Windows, macOS, Linux)
- Add -DockerHost parameter for running x86 containers on a remote
  Docker host from ARM Macs (rsyncs repo, uses SSH Docker transport)
- Add -NoCleanup switch to keep nested PVE VMs after integration tests
- integration command now provisions nested PVE VMs instead of testing
  against a pre-existing PVE directly
- Share /opt/pve-isos host path between CI and local dev (was separate
  Docker named volume)
- Delete tools/Invoke-Tests.ps1 (unused, overlapped with run-integration.sh)
- Add .gitignore entries for Terraform state/artifacts
- Update all documentation references

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-24 10:41:28 -05:00

48 lines
1.1 KiB
YAML

## PSProxmoxVE dev/test containers
##
## Default (works on ARM Macs + x86):
## docker compose -f tests/docker-compose.test.yml up -d
## docker exec -it psproxmoxve-dev pwsh
##
## Full CI infra (x86 only — adds Terraform + PVE provisioning tools):
## docker compose -f tests/docker-compose.test.yml --profile infra up -d
## docker exec -it psproxmoxve-dev-infra bash
##
## Stop:
## docker compose -f tests/docker-compose.test.yml down
services:
dev:
build:
context: ..
dockerfile: tests/Dockerfile.test
target: dev
container_name: psproxmoxve-dev
volumes:
- ..:/repo
working_dir: /repo
stdin_open: true
tty: true
restart: unless-stopped
env_file:
- path: .env.test
required: false
dev-infra:
build:
context: ..
dockerfile: tests/Dockerfile.test
target: dev-infra
container_name: psproxmoxve-dev-infra
profiles: [infra]
volumes:
- ..:/repo
- /opt/pve-isos:/opt/pve-isos
working_dir: /repo
stdin_open: true
tty: true
restart: unless-stopped
env_file:
- path: .env.test
required: false