- Replace hardcoded version in 00_commitinfo_data.ts - Now dynamically imports deno.json and reads version - Version will auto-update when deno.json is changed - Fixes version showing 3.1.2 instead of 4.0.0 test: add Docker test scripts for v3→v4 migration - 01-setup-v3-container.sh: Creates systemd container with v3 - 02-test-v3-to-v4-migration.sh: Tests migration (now fixed) - 03-cleanup.sh: Removes test container - README.md: Complete documentation Tested: Version now correctly shows 4.0.0
3.5 KiB
3.5 KiB
Manual Docker Testing Scripts
This directory contains scripts for manually testing NUPST installation and migration in Docker containers with systemd support.
Prerequisites
- Docker installed and running
- Privileged access (for systemd in container)
- Linux host (systemd container requirements)
Test Scripts
1. 01-setup-v3-container.sh
Creates a Docker container with systemd and installs NUPST v3.
What it does:
- Creates Ubuntu 22.04 container with systemd enabled
- Installs NUPST v3 from commit
806f81c6
(last v3 version) - Enables and starts the systemd service
- Leaves container running for testing
Usage:
chmod +x 01-setup-v3-container.sh
./01-setup-v3-container.sh
Container name: nupst-test-v3
2. 02-test-v3-to-v4-migration.sh
Tests the migration from v3 to v4.
What it does:
- Checks current v3 installation
- Pulls v4 code from
migration/deno-v4
branch - Runs install.sh (should auto-detect and migrate)
- Verifies service is running with v4
- Tests basic commands
Usage:
chmod +x 02-test-v3-to-v4-migration.sh
./02-test-v3-to-v4-migration.sh
Prerequisites: Must run 01-setup-v3-container.sh
first
3. 03-cleanup.sh
Removes the test container.
Usage:
chmod +x 03-cleanup.sh
./03-cleanup.sh
Manual Testing Workflow
Full Migration Test
-
Set up v3 environment:
./01-setup-v3-container.sh
-
Verify v3 is working:
docker exec nupst-test-v3 nupst --version docker exec nupst-test-v3 systemctl status nupst
-
Test migration to v4:
./02-test-v3-to-v4-migration.sh
-
Manual verification:
# Enter container docker exec -it nupst-test-v3 bash # Inside container: nupst --version # Should show v4.0.0 nupst service status # Should show running service cat /etc/nupst/config.json # Config should be preserved systemctl status nupst # Service should be active
-
Cleanup:
./03-cleanup.sh
Useful Docker Commands
# Enter container shell
docker exec -it nupst-test-v3 bash
# Check service status
docker exec nupst-test-v3 systemctl status nupst
# View service logs
docker exec nupst-test-v3 journalctl -u nupst -n 50
# Check NUPST version
docker exec nupst-test-v3 nupst --version
# Run NUPST commands
docker exec nupst-test-v3 nupst service status
docker exec nupst-test-v3 nupst ups list
# Stop container
docker stop nupst-test-v3
# Start container
docker start nupst-test-v3
# Remove container
docker rm -f nupst-test-v3
Notes
- The container runs with
--privileged
flag for systemd support - Container uses Ubuntu 22.04 as base image
- v3 installation is from commit
806f81c6a057a2a5da586b96a231d391f12eb1bb
- v4 migration pulls from
migration/deno-v4
branch - All scripts are designed to be idempotent where possible
Troubleshooting
Container won't start
- Ensure Docker daemon is running
- Check you have privileged access
- Try:
docker logs nupst-test-v3
Systemd not working in container
- Requires Linux host (not macOS/Windows)
- Needs
--privileged
and cgroup volume mounts - Check:
docker exec nupst-test-v3 systemctl --version
Migration fails
- Check logs:
docker exec nupst-test-v3 journalctl -xe
- Verify install.sh ran:
docker exec nupst-test-v3 ls -la /opt/nupst/
- Check service:
docker exec nupst-test-v3 systemctl status nupst