blumeops/docs/how-to
Erich Blume 779b7d6709 Eliminate double towncrier run in release workflow (#199)
## Summary

- Added a new `build_quartz` Dagger function that builds the Quartz site from a pre-processed source tree (no towncrier)
- Reordered the release workflow so towncrier runs **once** on the runner, then passes the updated working tree to `build-quartz`
- `build_docs` and `build_changelog` are preserved for standalone use — `build_docs` now delegates to `build_quartz` internally

## Motivation

Previously towncrier ran twice per release: once inside a Dagger container (via `build_docs` → `build_changelog`) and once on the runner to capture CHANGELOG.md changes for the git commit. This was wasteful and fragile — if towncrier behavior changed, the two runs could produce different results.

## Test plan

- [ ] Review diff to confirm workflow step ordering is correct
- [ ] Trigger a release and confirm towncrier runs only once
- [ ] Verify the docs tarball contains the updated CHANGELOG.md
- [ ] `dagger call build-quartz --src=. --version=vX.Y.Z` should work standalone

Reviewed-on: https://forge.ops.eblu.me/eblume/blumeops/pulls/199
2026-02-16 21:24:34 -08:00
..
knowledgebase Add service version review system (#196) 2026-02-16 17:02:56 -08:00
plans Deploy Frigate NVR stack with Mosquitto, Ntfy, and frigate-notify (#190) 2026-02-14 21:27:44 -08:00
add-ansible-role.md Add service version review system (#196) 2026-02-16 17:02:56 -08:00
build-container-image.md Document container build pattern and port navidrome (#192) 2026-02-15 08:05:11 -08:00
connect-to-postgres.md Doc review: connect-to-postgres, create-release-artifact-workflow, deploy-k8s-service (#191) 2026-02-15 07:42:01 -08:00
create-release-artifact-workflow.md Doc review: connect-to-postgres, create-release-artifact-workflow, deploy-k8s-service (#191) 2026-02-15 07:42:01 -08:00
deploy-k8s-service.md Add service version review system (#196) 2026-02-16 17:02:56 -08:00
expose-service-publicly.md Review expose-service-publicly doc (#195) 2026-02-16 15:49:55 -08:00
gandi-operations.md Doc review: connect-to-postgres, create-release-artifact-workflow, deploy-k8s-service (#191) 2026-02-15 07:42:01 -08:00
how-to.md Add service version review system (#196) 2026-02-16 17:02:56 -08:00
manage-flyio-proxy.md Fix frontmatter field name for Quartz date display (#158) 2026-02-11 16:45:12 -08:00
restart-indri.md Fix frontmatter field name for Quartz date display (#158) 2026-02-11 16:45:12 -08:00
restore-1password-backup.md Fix frontmatter field name for Quartz date display (#158) 2026-02-11 16:45:12 -08:00
troubleshooting.md Doc review: connect-to-postgres, create-release-artifact-workflow, deploy-k8s-service (#191) 2026-02-15 07:42:01 -08:00
update-documentation.md Eliminate double towncrier run in release workflow (#199) 2026-02-16 21:24:34 -08:00
update-tailscale-acls.md Fix frontmatter field name for Quartz date display (#158) 2026-02-11 16:45:12 -08:00
use-pypi-proxy.md Fix frontmatter field name for Quartz date display (#158) 2026-02-11 16:45:12 -08:00