Skip to content

Make release-note updates portable and finalize versioned headings - #204

Merged
konn merged 6 commits into
mainfrom
codex/portable-yaml-roundtrip
Oct 6, 2026
Merged

konn merged 6 commits into
mainfrom
codex/portable-yaml-roundtrip

Conversation

@konn

@konn konn commented Oct 2, 2026 •

Copy link
Copy Markdown
Collaborator

Description

Release-note tasks and the CI guard depended on incompatible implementations of yq across environments. The guard also inspected a different TOC section from the one the release tasks updated, allowing unreleased references to go undetected.

Replace these calls with a Python helper using ruamel.yaml, pinned in the existing dev extra and uv.lock. The helper selects the release section by caption, preserves comments, quotes, ordering, and LF/CRLF, rejects conflicting or malformed entries, and validates both TOCs before replacing files. Release tasks perform a dry-run check before changing notebooks, and CI checks the entire TOC for unreleased references.

Finalization renames both language notebook/Markdown pairs, replaces the first X.XX.X in each Markdown release title with the supplied version, and uses Jupytext through uv to regenerate and execute the notebooks from the renamed Markdown. Later placeholders remain unchanged. Explicit Markdown conversion makes it authoritative even when an existing notebook is newer; execution failures stop before the TOC update.

Run all 25 regression tests once in an independent Ubuntu/Python 3.11 job, covering both languages and LF/CRLF cases. Include local Taskfile commands and contributor instructions.

Validation

  • All 25 regression tests passed locally on macOS with Python 3.11, 3.12, and 3.13 using the locked dev dependencies.
  • Full Taskfile commands passed in clean temporary copies: creating unreleased notes followed by finalization, and finalization with no existing unreleased notes. Authored code cells verified actual execution and fresh outputs for both languages; checks covered first-only title substitution, later placeholders, matching Markdown/notebook inputs, and exact TOC changes.
  • Verified that renamed Markdown remains the source even with newer stale notebooks, and that a failing English code cell aborts before Japanese execution or any TOC finalization.
  • Repeated creation was rejected without modifying files; invalid versions were rejected before notebook changes.
  • task check_book_en and task check_book_ja passed, including full notebook execution and warnings-as-errors builds.
  • task check_paired_notebooks passed with a writable temporary JUPYTER_DATA_DIR for the sandbox.
  • task check_release_toc, uv lock --check, and git diff --check passed.

Successful notebook runs emitted sandbox-related kernel shutdown diagnostics. Remote CI results are reported by the PR checks.

konn and others added 2 commits October 2, 2026 11:06
Co-authored-by: Codex <noreply@openai.com>
Co-authored-by: Codex <noreply@openai.com>
@konn konn changed the title Replace yq with portable round-trip YAML editing Make release-note updates portable and finalize versioned headings Oct 2, 2026
@konn
konn marked this pull request as ready for review October 2, 2026 06:09
@konn
konn requested a review from NY57 October 2, 2026 06:09
Comment thread .github/workflows/python.yml Outdated
Co-authored-by: Codex <noreply@openai.com>
@konn
konn force-pushed the codex/portable-yaml-roundtrip branch from 6d9fa4f to 1fa7a2f Compare October 6, 2026 04:34
Comment thread .github/workflows/python.yml Outdated
konn and others added 3 commits October 6, 2026 14:01
Co-authored-by: Codex <noreply@openai.com>
Co-authored-by: Codex <noreply@openai.com>
Co-authored-by: Codex <noreply@openai.com>
@konn
konn enabled auto-merge October 6, 2026 05:13

@NY57 NY57 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@konn
konn merged commit 55944a5 into main Oct 6, 2026
25 checks passed
@konn
konn deleted the codex/portable-yaml-roundtrip branch October 6, 2026 05:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants