mirror of
https://github.com/0xrsydn/idx-cli.git
synced 2026-11-07 09:45:36 +00:00
The self-hosted publish timer has not produced an upload since it was enabled (manifest last updated 2026-07-14, a manual run), and failures were invisible. Make the job safe to run daily and easy to deploy: - publish-ownership-snapshot.sh: skip the upload when the published manifest already has the latest as-of date (pre-check via discover for XLSX sources, post-build check for legacy PDF); --force to override. Always ends with one line: RESULT: published|up-to-date <as-of> or RESULT: FAILED stage=<stage> (exit N). gh release create no longer requires a git checkout. - check-ownership-snapshot-freshness.sh: exit 1 when the published latest_as_of_date is older than --max-age-days (default 40). - flake: packages.ownership-publisher bundles the scripts with a pinned idx (curl-impersonate + mupdf) and jq/gh/sqlite/curl as bin/idx-ownership-publish and bin/idx-ownership-freshness, so hosts need no checkout, nix develop or cargo build at run time. Built in CI. - contrib/systemd + docs: daily 06:00 UTC timer, run semantics table, freshness alarm, packaged usage. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017a5Cv5Z1NzdYKgKnTiAF4E
13 lines
370 B
SYSTEMD
13 lines
370 B
SYSTEMD
[Unit]
|
|
Description=Daily idx ownership snapshot publish check
|
|
|
|
[Timer]
|
|
# The publisher is idempotent, so a daily run retries automatically when IDX
|
|
# posts late or a run is blocked; most days end with "RESULT: up-to-date".
|
|
OnCalendar=*-*-* 06:00:00 UTC
|
|
Persistent=true
|
|
RandomizedDelaySec=30m
|
|
Unit=idx-ownership-snapshot-publish.service
|
|
|
|
[Install]
|
|
WantedBy=timers.target
|