Fix 32-bit build, add 386 to CI, log scan completion

This commit is contained in:
Andy Dixon
2026-10-02 08:33:47 +01:00
parent b771a57bc4
commit 6bb8ddc0f7
4 changed files with 11 additions and 3 deletions
+1 -1
View File
@@ -25,6 +25,6 @@ jobs:
- name: cross-build
if: runner.os == 'Linux'
run: |
for t in linux/arm64 darwin/arm64 windows/amd64 freebsd/amd64; do
for t in linux/arm64 linux/386 darwin/arm64 windows/amd64 freebsd/amd64; do
GOOS=${t%/*} GOARCH=${t#*/} CGO_ENABLED=0 go build -o /dev/null ./cmd/mapsize
done
+2
View File
@@ -11,6 +11,7 @@ import (
"context"
"errors"
"fmt"
"log/slog"
"os"
"path/filepath"
"runtime"
@@ -358,6 +359,7 @@ func (c *controller) apply(r *result, cancelled bool) bool {
dn.Flags |= inventory.FlagIncomplete
t.Stats.Unscanned++
default:
slog.Debug("read directory failed", "path", j.path, "err", r.err)
dn.Flags |= inventory.FlagError | inventory.FlagIncomplete
t.Stats.AddError(inventory.ErrorRecord{Node: dir, Kind: inventory.Classify(r.err), Msg: errMsg(r.err)})
d.Errors++
+5 -2
View File
@@ -1,6 +1,9 @@
package tui
import "sync"
import (
"math"
"sync"
)
// The stock 256-colour conversion maps dark, slightly tinted colours to
// saturated cube entries (olive, navy), which wrecks the subtle shading the
@@ -24,7 +27,7 @@ func quant256(c Color) uint8 {
return v.(uint8)
}
r, g, b := int(c>>16&0xff), int(c>>8&0xff), int(c&0xff)
best, bestD := 16, 1<<62
best, bestD := 16, math.MaxInt
for i := 0; i < 216; i++ {
cr, cg, cb := cubeLevels[i/36], cubeLevels[i/6%6], cubeLevels[i%6]
if d := redmean(r, g, b, cr, cg, cb); d < bestD {
+3
View File
@@ -10,6 +10,7 @@ package tui
import (
"context"
"fmt"
"log/slog"
"os"
"path/filepath"
"strings"
@@ -324,6 +325,8 @@ func (m *Model) scanFinished() tea.Cmd {
errs := st.TotalErrors()
el := st.Elapsed()
t.RUnlock()
slog.Info("scan finished", "files", files, "dirs", st.Dirs, "bytes", total, "errors", errs,
"cancelled", st.Cancelled, "elapsed", el)
var cmds []tea.Cmd
rate := float64(files+st.Dirs) / max(el.Seconds(), 0.001)
msg := fmt.Sprintf("✓ Scan complete %s · %s files · %s dirs · %s · %s/s",