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:
124
test/manualdocker/01-setup-v3-container.sh
Executable file
124
test/manualdocker/01-setup-v3-container.sh
Executable file
@@ -0,0 +1,124 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Setup Docker container with systemd and install NUPST v3
|
||||
# This creates a container from commit 806f81c6a057a2a5da586b96a231d391f12eb1bb (v3)
|
||||
#
|
||||
|
||||
set -e
|
||||
|
||||
CONTAINER_NAME="nupst-test-v3"
|
||||
V3_COMMIT="806f81c6a057a2a5da586b96a231d391f12eb1bb"
|
||||
|
||||
echo "================================================"
|
||||
echo " NUPST v3 Test Container Setup"
|
||||
echo "================================================"
|
||||
echo ""
|
||||
|
||||
# Check if container already exists
|
||||
if docker ps -a --format '{{.Names}}' | grep -q "^${CONTAINER_NAME}$"; then
|
||||
echo "⚠️ Container ${CONTAINER_NAME} already exists"
|
||||
read -p "Remove and recreate? (y/N): " -n 1 -r
|
||||
echo
|
||||
if [[ $REPLY =~ ^[Yy]$ ]]; then
|
||||
echo "→ Stopping and removing existing container..."
|
||||
docker stop ${CONTAINER_NAME} 2>/dev/null || true
|
||||
docker rm ${CONTAINER_NAME} 2>/dev/null || true
|
||||
else
|
||||
echo "Exiting. Remove manually with: docker rm -f ${CONTAINER_NAME}"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "→ Creating Docker container (will install systemd)..."
|
||||
docker run -d \
|
||||
--name ${CONTAINER_NAME} \
|
||||
--privileged \
|
||||
--cgroupns=host \
|
||||
-v /sys/fs/cgroup:/sys/fs/cgroup:rw \
|
||||
ubuntu:22.04 \
|
||||
/bin/bash -c "apt-get update && apt-get install -y systemd systemd-sysv && exec /sbin/init"
|
||||
|
||||
echo "→ Waiting for systemd to initialize..."
|
||||
sleep 10
|
||||
|
||||
echo "→ Waiting for dpkg lock to be released..."
|
||||
docker exec ${CONTAINER_NAME} bash -c "
|
||||
while fuser /var/lib/dpkg/lock-frontend >/dev/null 2>&1; do
|
||||
echo ' Waiting for dpkg lock...'
|
||||
sleep 2
|
||||
done
|
||||
echo ' dpkg lock released'
|
||||
"
|
||||
|
||||
echo "→ Installing prerequisites in container..."
|
||||
docker exec ${CONTAINER_NAME} bash -c "
|
||||
apt-get update -qq
|
||||
apt-get install -y -qq git curl sudo
|
||||
"
|
||||
|
||||
echo "→ Cloning NUPST v3 (commit ${V3_COMMIT})..."
|
||||
docker exec ${CONTAINER_NAME} bash -c "
|
||||
cd /opt
|
||||
git clone https://code.foss.global/serve.zone/nupst.git
|
||||
cd nupst
|
||||
git checkout ${V3_COMMIT}
|
||||
echo 'Checked out commit:'
|
||||
git log -1 --oneline
|
||||
"
|
||||
|
||||
echo "→ Running NUPST v3 installation script..."
|
||||
docker exec ${CONTAINER_NAME} bash -c "
|
||||
cd /opt/nupst
|
||||
bash install.sh -y
|
||||
"
|
||||
|
||||
echo "→ Creating dummy NUPST configuration for testing..."
|
||||
docker exec ${CONTAINER_NAME} bash -c "
|
||||
mkdir -p /etc/nupst
|
||||
cat > /etc/nupst/config.json << 'EOF'
|
||||
{
|
||||
\"upsList\": [
|
||||
{
|
||||
\"id\": \"test-ups\",
|
||||
\"name\": \"Test UPS\",
|
||||
\"host\": \"127.0.0.1\",
|
||||
\"port\": 161,
|
||||
\"community\": \"public\",
|
||||
\"version\": \"2c\",
|
||||
\"batteryLowOID\": \"1.3.6.1.4.1.935.1.1.1.3.3.1.0\",
|
||||
\"onBatteryOID\": \"1.3.6.1.4.1.935.1.1.1.3.3.2.0\",
|
||||
\"shutdownCommand\": \"echo 'Shutdown triggered'\"
|
||||
}
|
||||
],
|
||||
\"groups\": []
|
||||
}
|
||||
EOF
|
||||
echo 'Dummy config created at /etc/nupst/config.json'
|
||||
"
|
||||
|
||||
echo "→ Enabling NUPST systemd service..."
|
||||
docker exec ${CONTAINER_NAME} bash -c "
|
||||
nupst enable
|
||||
"
|
||||
|
||||
echo "→ Starting NUPST service..."
|
||||
docker exec ${CONTAINER_NAME} bash -c "
|
||||
nupst start
|
||||
"
|
||||
|
||||
echo ""
|
||||
echo "================================================"
|
||||
echo " ✓ NUPST v3 Container Ready"
|
||||
echo "================================================"
|
||||
echo ""
|
||||
echo "Container name: ${CONTAINER_NAME}"
|
||||
echo "NUPST version: v3 (commit ${V3_COMMIT})"
|
||||
echo ""
|
||||
echo "Useful commands:"
|
||||
echo " docker exec -it ${CONTAINER_NAME} bash"
|
||||
echo " docker exec ${CONTAINER_NAME} systemctl status nupst"
|
||||
echo " docker exec ${CONTAINER_NAME} nupst --version"
|
||||
echo " docker stop ${CONTAINER_NAME}"
|
||||
echo " docker start ${CONTAINER_NAME}"
|
||||
echo " docker rm -f ${CONTAINER_NAME}"
|
||||
echo ""
|
Reference in New Issue
Block a user