From 0e2915f564a14a8501423d4c0ac3be3603d84680 Mon Sep 17 00:00:00 2001 From: Holden Date: Sat, 13 Jun 2026 06:32:35 +0000 Subject: [PATCH] Polish build flow and README formatting - update-lockfile.yml: rename workflow to "Update lockfiles" - release.yml: add explicit uv python install 3.13 for consistency with other workflows - docker-publish.yml: rename cpu cache scope from linux/amd64-cpu to cpu (now multi-arch) - README: add GitHub release version badge and License badge - README: shorten QUALITY_REPLACEMENT table cell Co-Authored-By: Claude Sonnet 4.6 --- .github/workflows/docker-publish.yml | 4 ++-- .github/workflows/release.yml | 3 +++ .github/workflows/update-lockfile.yml | 2 +- README.md | 4 ++-- 4 files changed, 8 insertions(+), 5 deletions(-) diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index 3bc2c26..dd592fe 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -192,8 +192,8 @@ jobs: file: ./Dockerfile platforms: linux/amd64,linux/arm64 build-args: VARIANT=cpu - cache-from: type=gha,scope=linux/amd64-cpu - cache-to: type=gha,mode=max,scope=linux/amd64-cpu + cache-from: type=gha,scope=cpu + cache-to: type=gha,mode=max,scope=cpu github-token: ${{ secrets.GITHUB_TOKEN }} push: true tags: ${{ steps.cpu-tag.outputs.tag }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a166c67..56e454f 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -37,6 +37,9 @@ jobs: - name: Install uv uses: astral-sh/setup-uv@v7 + - name: Set up Python + run: uv python install 3.13 + - name: Verify release branch if: github.event_name == 'workflow_dispatch' run: | diff --git a/.github/workflows/update-lockfile.yml b/.github/workflows/update-lockfile.yml index ac48c06..b557522 100644 --- a/.github/workflows/update-lockfile.yml +++ b/.github/workflows/update-lockfile.yml @@ -1,5 +1,5 @@ # .github/workflows/update-lockfile.yml -name: Update uv.lock +name: Update lockfiles on: push: diff --git a/README.md b/README.md index f97035d..8a3d97f 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # winnow -[![Docker](https://github.com/sudolulo/winnow/actions/workflows/docker-publish.yml/badge.svg)](https://github.com/sudolulo/winnow/actions/workflows/docker-publish.yml) [![Test](https://github.com/sudolulo/winnow/actions/workflows/test.yml/badge.svg)](https://github.com/sudolulo/winnow/actions/workflows/test.yml) [![Immich](https://img.shields.io/badge/Immich-v1.106%2B-blueviolet)](https://immich.app) [![Frigate](https://img.shields.io/badge/Frigate-Ready-brightgreen)](https://frigate.video) +[![Docker](https://github.com/sudolulo/winnow/actions/workflows/docker-publish.yml/badge.svg)](https://github.com/sudolulo/winnow/actions/workflows/docker-publish.yml) [![Test](https://github.com/sudolulo/winnow/actions/workflows/test.yml/badge.svg)](https://github.com/sudolulo/winnow/actions/workflows/test.yml) [![GitHub release](https://img.shields.io/github/v/release/sudolulo/winnow)](https://github.com/sudolulo/winnow/releases/latest) [![License: AGPL v3](https://img.shields.io/badge/License-AGPL_v3-blue.svg)](LICENSE) [![Immich](https://img.shields.io/badge/Immich-v1.106%2B-blueviolet)](https://immich.app) [![Frigate](https://img.shields.io/badge/Frigate-Ready-brightgreen)](https://frigate.video) **Docs:** [Setup](https://github.com/sudolulo/winnow/wiki/Setup) · [Troubleshooting](https://github.com/sudolulo/winnow/wiki/Troubleshooting) · [FAQ](https://github.com/sudolulo/winnow/wiki/FAQ) @@ -178,7 +178,7 @@ In scheduled mode the process (and loaded models) stays resident between runs. T | `MIN_CONFIDENCE` | `0.7` | Minimum Immich face detection confidence | | `BLUR_THRESHOLD` | `100.0` | Laplacian variance threshold — lower accepts more blur | | `MAX_AUTO_IMAGES` | `80` | Maximum training images per person in Frigate | -| `QUALITY_REPLACEMENT` | `true` | When at cap, replace the lowest-quality mapped training image if a better candidate is found. Only affects images winnow uploaded — manually added Frigate training files are never touched. Set `false` to disable and skip people already at cap | +| `QUALITY_REPLACEMENT` | `true` | When at cap, swap the lowest-quality uploaded image for a better candidate. Never touches manually added Frigate files. Set `false` to skip people already at cap | ### GPU & Models