mirror of
https://github.com/hanzoai/datastore.git
synced 2026-09-26 13:55:07 +00:00
The `NightlyChangelog` workflow runs daily. It generates the raw changelog entries for the pull requests newly merged into `master`, using `tests/ci/changelog.py` in the `style-test` container (the same way `create_release.yml` runs it), and inserts them into `CHANGELOG.md` as a marker-delimited block. Then it edits them following `.claude/skills/edit-changelog/SKILL.md` via the `codex` CLI (the same way the `Code Review` job runs it), integrating them into the in-progress release section. Generation and edit are two separate commits, mirroring the manual autogenerated-plus-edited commit pairs of past releases. The result is maintained on a per-release bot branch (`auto/changelog-X.Y`) with a draft pull request that the release manager finalizes at release time. The point up to which the changelog was generated is remembered as a `Changelog-generated-up-to:` trailer in the generate commits, so the next daily run continues from there. After `master` moves on to the next version, the previous cycle's branch gets a final catch-up, up to the `v*.1.1-new` tag that started the new cycle. Co-Authored-By: Claude Fable 5 <[email protected]>
34 lines
1.0 KiB
Python
34 lines
1.0 KiB
Python
from praktika import Job, Workflow
|
|
|
|
from ci.defs.defs import BASE_BRANCH, SECRETS, RunnerLabels
|
|
|
|
# Daily preparation of CHANGELOG.md for the upcoming release. The job
|
|
# generates raw changelog entries for the pull requests newly merged into
|
|
# master (utils/changelog wrapper around tests/ci/changelog.py) and edits them
|
|
# following .claude/skills/edit-changelog/SKILL.md, committing the two states
|
|
# separately to a per-release bot branch (auto/changelog-X.Y) with a draft PR
|
|
# that the release manager finalizes at release time.
|
|
# See ci/jobs/changelog_nightly.py.
|
|
|
|
workflow = Workflow.Config(
|
|
name="NightlyChangelog",
|
|
event=Workflow.Event.SCHEDULE,
|
|
branches=[BASE_BRANCH],
|
|
jobs=[
|
|
Job.Config(
|
|
name="Prepare changelog",
|
|
command="python3 ./ci/jobs/changelog_nightly.py",
|
|
runs_on=RunnerLabels.STYLE_CHECK_ARM,
|
|
enable_gh_auth=True,
|
|
),
|
|
],
|
|
secrets=SECRETS,
|
|
enable_report=True,
|
|
enable_cidb=False,
|
|
cron_schedules=["23 2 * * *"],
|
|
)
|
|
|
|
WORKFLOWS = [
|
|
workflow,
|
|
]
|