Index: build/test/publish-tests
==================================================================
--- build/test/publish-tests
+++ build/test/publish-tests
@@ -141,35 +141,18 @@
 		set failedtests [list "${shortfile}-XX-build.log"]
 		set kitbuilt 0
 	}
 
 	## Split the filename into parts and store each part
+	unset -nocomplain kitos kitcpu
 	set kitbuildinfo [split $shortfile -]
 	set tclversion [lindex $kitbuildinfo 1]
-	set kitbuildinfo [lsort -dictionary [lrange $kitbuildinfo 2 end]]
-
-	## Determine Kit OS from random file names
-	unset -nocomplain kitos kitcpu
-	if {[lsearch -exact $kitbuildinfo "win32"] != -1} {
-		set idx [lsearch -exact $kitbuildinfo "win32"]
-		set kitbuildinfo [lreplace $kitbuildinfo $idx $idx]
-		set kitos "windows"
-		set kitcpu "i586"
-	} elseif {[lsearch -exact $kitbuildinfo "arm"] != -1} {
-		set idx [lsearch -exact $kitbuildinfo "arm"]
-		set kitbuildinfo [lreplace $kitbuildinfo $idx $idx]
-		set kitos "linux"
-		set kitcpu "arm"
-	} else {
-		set idx [lsearch -exact $kitbuildinfo "normal"]
-		if {$idx != -1} {
-			set kitbuildinfo [lreplace $kitbuildinfo $idx $idx]
-		}
-
-		set kitos [string tolower $tcl_platform(os)]
-		set kitcpu [string tolower $tcl_platform(machine)]
-	}
+	set kitos [lindex $kitbuildinfo 2]
+	set kitcpu [lindex $kitbuildinfo 3]
+
+	### Store the remainder as a list of tags
+	set kitbuildinfo [lsort -dictionary [lrange $kitbuildinfo 4 end]]
 
 	# Generate array to describe this kit
 	unset -nocomplain kitinfo
 	set kitinfo(version) $tclversion
 	set kitinfo(file) $shortfile

Index: build/test/test
==================================================================
--- build/test/test
+++ build/test/test
@@ -43,38 +43,42 @@
 
 	rm -f "${file}"
 done
 
 failed=""
-for kit in normal normal-zip normal-threaded normal-threaded-zip normal-statictk normal-notk normal-threaded-notk normal-threaded-zip-notk min min-static win32 win32-zip win32-threaded win32-threaded-zip win32-notk win32-threaded-notk arm-min; do
+for kit in normal normal-zip normal-threaded normal-threaded-zip normal-statictk normal-notk normal-threaded-notk normal-threaded-zip-notk min min-static win32-i586 win32-i586-zip win32-i586-threaded win32-i586-threaded-zip win32-i586-notk win32-i586-threaded-notk linux-arm-min; do
 	kitcreator="./kitcreator"
 	args=""
 	runnable="1"
 	iszip="0"
 	statictk="0"
 	notk="0"
 
 	# Handle base configuration
+	os="$(uname -s | dd conv=lcase 2>/dev/null)"
+	cpu="$(uname -m | dd conv=lcase 2>/dev/null)"
 	case "${kit}" in
 		normal|normal-*)
-			true
+			kit="$(echo "${kit}" | sed "s@^normal@$os-$cpu@")"
 			;;
 		min)
 			kitcreator="./build/make-minkit"
 			iszip="1"
 			notk="1"
+			kit="${os}-${cpu}-min"
 			;;
 		min-static)
 			kitcreator="./build/make-minkit-static"
 			iszip="1"
 			notk="1"
+			kit="${os}-${cpu}-min-static"
 			;;
 		win32|win32-*)
 			kitcreator="./build/make-kit-win32"
 			runnable="0"
 			;;
-		arm-min)
+		linux-arm-min)
 			kitcreator="./build/make-kit-arm"
 			runnable="0"
 			notk="1"
 			iszip="1"
 			;;