fix: update release workflow and docs for 0.5.0 single-lockfile refactor
- release.yml: replace per-variant lockfile generation loop with a single 'uv lock'; add idempotent release creation (skip if tag already has a release so re-triggered runs don't 422) - docker-publish.yml: remove stale uv-cpu/rocm/intel.lock entries from paths-ignore (those files no longer exist) - README: CACHE_DIR description now names winnow_tracker.db; tracker description mentions SQLite
This commit is contained in:
@@ -12,9 +12,6 @@ on:
|
|||||||
- ".github/workflows/lint.yml"
|
- ".github/workflows/lint.yml"
|
||||||
- ".github/dependabot.yml"
|
- ".github/dependabot.yml"
|
||||||
- "uv.lock"
|
- "uv.lock"
|
||||||
- "uv-cpu.lock"
|
|
||||||
- "uv-rocm.lock"
|
|
||||||
- "uv-intel.lock"
|
|
||||||
workflow_call:
|
workflow_call:
|
||||||
inputs:
|
inputs:
|
||||||
tag:
|
tag:
|
||||||
|
|||||||
@@ -50,17 +50,8 @@ jobs:
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
- name: Ensure lockfiles are current
|
- name: Ensure lockfile is current
|
||||||
run: |
|
run: uv lock
|
||||||
cp pyproject.toml _pyproject_orig.toml
|
|
||||||
for variant in cpu rocm intel; do
|
|
||||||
cp pyproject-${variant}.toml pyproject.toml
|
|
||||||
uv lock
|
|
||||||
cp uv.lock uv-${variant}.lock
|
|
||||||
done
|
|
||||||
cp _pyproject_orig.toml pyproject.toml
|
|
||||||
uv lock
|
|
||||||
rm _pyproject_orig.toml
|
|
||||||
|
|
||||||
- name: Resolve tag name
|
- name: Resolve tag name
|
||||||
id: tag
|
id: tag
|
||||||
@@ -117,15 +108,25 @@ jobs:
|
|||||||
script: |
|
script: |
|
||||||
const tag = process.env.RELEASE_TAG;
|
const tag = process.env.RELEASE_TAG;
|
||||||
const notes = (process.env.RELEASE_NOTES || '').trim();
|
const notes = (process.env.RELEASE_NOTES || '').trim();
|
||||||
await github.rest.repos.createRelease({
|
try {
|
||||||
owner: context.repo.owner,
|
const existing = await github.rest.repos.getReleaseByTag({
|
||||||
repo: context.repo.repo,
|
owner: context.repo.owner,
|
||||||
tag_name: tag,
|
repo: context.repo.repo,
|
||||||
name: `Release ${tag}`,
|
tag: tag,
|
||||||
body: notes || `Release ${tag}`,
|
});
|
||||||
draft: false,
|
console.log(`Release ${tag} already exists (id ${existing.data.id}), skipping creation.`);
|
||||||
prerelease: false,
|
} catch (err) {
|
||||||
});
|
if (err.status !== 404) throw err;
|
||||||
|
await github.rest.repos.createRelease({
|
||||||
|
owner: context.repo.owner,
|
||||||
|
repo: context.repo.repo,
|
||||||
|
tag_name: tag,
|
||||||
|
name: `Release ${tag}`,
|
||||||
|
body: notes || `Release ${tag}`,
|
||||||
|
draft: false,
|
||||||
|
prerelease: false,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
build-images:
|
build-images:
|
||||||
name: Build and push Docker images
|
name: Build and push Docker images
|
||||||
|
|||||||
@@ -75,7 +75,7 @@ Immich library
|
|||||||
↳ at cap + QUALITY_REPLACEMENT=false — skip this person
|
↳ at cap + QUALITY_REPLACEMENT=false — skip this person
|
||||||
```
|
```
|
||||||
|
|
||||||
Uploaded and rejected asset IDs are persisted across runs. The same image is never processed twice; rejected assets are permanently skipped unless `RETRY_REJECTED=true`.
|
Uploaded and rejected asset IDs are persisted across runs in a SQLite database (`winnow_tracker.db` in `CACHE_DIR`). The same image is never processed twice; rejected assets are permanently skipped unless `RETRY_REJECTED=true`.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -213,7 +213,7 @@ These defaults are tuned for Frigate's ArcFace requirements. winnow will warn on
|
|||||||
| `FORCE_CPU` | `false` | Disable GPU — fall back to CPU for all inference |
|
| `FORCE_CPU` | `false` | Disable GPU — fall back to CPU for all inference |
|
||||||
| `OPENVINO_DEVICE` | `CPU` | Intel variant only: set `GPU` to use Arc or iGPU; default runs on CPU |
|
| `OPENVINO_DEVICE` | `CPU` | Intel variant only: set `GPU` to use Arc or iGPU; default runs on CPU |
|
||||||
| `ENABLE_CACHE` | `true` | Cache computed embeddings to disk (speeds up re-runs on the same library) |
|
| `ENABLE_CACHE` | `true` | Cache computed embeddings to disk (speeds up re-runs on the same library) |
|
||||||
| `CACHE_DIR` | `.if_cache` | Path for embedding cache and upload tracker files |
|
| `CACHE_DIR` | `.if_cache` | Path for embedding cache and upload tracker database (`winnow_tracker.db`) |
|
||||||
| `INSIGHTFACE_HOME` | *(system)* | InsightFace model cache path (Buffalo_L) |
|
| `INSIGHTFACE_HOME` | *(system)* | InsightFace model cache path (Buffalo_L) |
|
||||||
|
|
||||||
### Output
|
### Output
|
||||||
|
|||||||
Reference in New Issue
Block a user