Release: daily post verification check #3
Loading…
Reference in a new issue
No description provided.
Delete branch "dev"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Promotes
devtomain. One feature: thedaily_postcheck, merged via #2.Contents
A check that confirms a post actually published today, rather than that the publishing mechanism responded.
The
wp_croncheck reports success wheneverwp-cron.phpreturns HTTP 200. On 2026-08-21 a scheduled post on sqlserverscience.com stayed infuturestatus past its 09:28 slot while this tool triggeredwp-cron.phpevery minute and got HTTP 200 every time. Roughly 200 successful triggers, no post, and every check green. The cause was thepublish_future_postevent being absent from WordPress's cron array, which no check that measures the mechanism can see.daily_postasks the site what it last published. Before a configured local cutoff it passes, because the day's post is not due yet. From the cutoff onwards it fails until something has been published on the current date in a configured time zone.Verified against the live site, passing:
and failing, by pointing the same check at the site's oldest post:
Change scope
11 files, 692 insertions, 19 deletions. New service and its tests, wiring in
SiteCheckerandProgram, a config model, and documentation. The 19 deletions are the placeholderUnitTest1.csand lines replaced in the docs.Verification
dotnet buildclean, 0 warnings.dotnet test22 passed, 0 failed, run againstdevas it now stands.THIRD-PARTY-NOTICES.mdis unchanged.NuGetAuditsettings inDirectory.Build.propsare untouched and still enforceNU1901-NU1904as errors.Backward compatibility
Existing site configs have no
contentFreshnessblock. The model default setsEnabled = truebut leavesUrlempty, and the check returns success with a "no url configured" message when the URL is empty. Existing deployments therefore behave exactly as they do today until a URL is added.Branch divergence
mainis one commit ahead ofdev, the merge commit from #1. EverydevtomainPR leaves a merge commit onmainthat never travels back, so Forgejo may report this branch as out of date with its base. The content is unaffected:git diff origin/dev origin/mainshows no difference beyond this PR's own changes.I attempted a back-merge of
mainintodevto reconcile the history, and the push was declined by a pre-receive hook, which is correct sincedevis protected and requires a PR. Worth deciding separately whether to reconcile through a routine back-merge PR after each release, or to switch this repository'sdevtomainmerges to fast-forward or rebase so no merge commit lands onmain.Assumptions
devintomainis the intended promotion path for this repository.daily_postcheck is appropriate only for sites that publish every day. A weekday-only site would alert every weekend, so the check should be left disabled there. This is documented inREADME.md.smtp.hostwas blanked for local runs. The alert path is unchanged by this PR and uses the existingAlertService.Deployment
Rebuild and redeploy the executable to the host running the scheduled task, then add a
contentFreshnessblock to that host's site config. Until the block is added, behaviour is unchanged.