fix(version): make version programmatic by reading from deno.json
- 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
This commit is contained in:
149
test/manualdocker/README.md
Normal file
149
test/manualdocker/README.md
Normal file
@@ -0,0 +1,149 @@
|
||||
# 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:**
|
||||
```bash
|
||||
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:**
|
||||
```bash
|
||||
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:**
|
||||
```bash
|
||||
chmod +x 03-cleanup.sh
|
||||
./03-cleanup.sh
|
||||
```
|
||||
|
||||
## Manual Testing Workflow
|
||||
|
||||
### Full Migration Test
|
||||
|
||||
1. **Set up v3 environment:**
|
||||
```bash
|
||||
./01-setup-v3-container.sh
|
||||
```
|
||||
|
||||
2. **Verify v3 is working:**
|
||||
```bash
|
||||
docker exec nupst-test-v3 nupst --version
|
||||
docker exec nupst-test-v3 systemctl status nupst
|
||||
```
|
||||
|
||||
3. **Test migration to v4:**
|
||||
```bash
|
||||
./02-test-v3-to-v4-migration.sh
|
||||
```
|
||||
|
||||
4. **Manual verification:**
|
||||
```bash
|
||||
# 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
|
||||
```
|
||||
|
||||
5. **Cleanup:**
|
||||
```bash
|
||||
./03-cleanup.sh
|
||||
```
|
||||
|
||||
## Useful Docker Commands
|
||||
|
||||
```bash
|
||||
# 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`
|
Reference in New Issue
Block a user