Repository navigation
WP8: docs built in CI, changelog, upgrade guide, version 0.4.0 - #230
Merged
Merged
Conversation
* .github/workflows/docs.yml builds the documentation (doxygen and sphinx, as doc/generate_docs.py does) for every pull request and push, and deploys the master branch's to GitHub Pages. The generated site (docs/) and the generated doc sources (doc/python/source/api, cpp/*.rst) leave the repository; the tools are pinned in doc/requirements.txt. * MyST replaces the unmaintained m2r2 for the Markdown pages; the one comma-separated :skip: list (which needed a patched sphinx-automodapi) became one :skip: per name; imgmath (LaTeX) is dropped. * CHANGELOG.md and an upgrade guide (doc/python/source/upgrading.md) for 0.4.0, both in the docs; the README, the Python and C++ quickstarts and CONTRIBUTING describe installation, building from source, the data files, the docs build and releasing. PyPI gets Repository and Changelog links. * Version 0.4.0. format.hpp no longer includes <fmt/compile.h> (unused). * TASKS.md: the WP8 record, and two items for later: the indented docstrings of overloaded methods, and constraints in the standard form (as discussed). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
doxygen 1.9.8 (CI's) writes the members documented in a group as references (<member>) in the namespace's sections instead of <memberdef>, so the script raised KeyError: 'memberdef'. It now lists both, also for several sections of one kind, and skips sections without members. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ioh::data (new in 0.4.0) and ioh::eaf had pages that no table of contents reached. generate_docs.py meant to skip fmt's namespace, but tested a substring of "fmt.rst"; it now skips fmt and std. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The docs workflow's comment no longer claims that the github-pages environment accepts only master: it has no branch policy, and the job's condition is what restricts deploying to master. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The work plan is done. Its short version goes into the 0.4.0 release notes, and the full plan stays in the history (e85ee41). The comments that pointed to its tasks now name the pull requests that made the changes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A clean build takes about a quarter of 0.3.22's time (11.3 s instead of 40.6 s on an Apple M5 with 4 jobs), not half: the unity build alone halved it. The built-in problems are unchanged apart from the fixes listed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
WP8 of
TASKS.md, the docs and version part: the documentation is built in CI and deployed to GitHub Pages, plus the changelog, the upgrade guide and version 0.4.0. The release itself follows the merge (see the last section).Docs built in CI
.github/workflows/docs.ymlbuilds the documentation for every pull request and every push. It runsdoc/generate_docs.py(doxygen, then sphinx), using the package installed from the checkout, Python 3.13 (sphinx 9.2 needs it) and graphviz for the inheritance diagrams.actions/upload-pages-artifactandactions/deploy-pages. Pull requests only build, so the deploy job is skipped here.generate_docs.pybuilds intodoc/build/htmland no longer copies the site intodocs/.docs/: 1,262 generated files, 33 MB. The live site still says 0.3.14. It also served stale doxygen HTML pages from older versions, because the copy never deleted anything.generate_docs.pygenerates:doc/python/source/api/*.rst(148) anddoc/python/source/cpp/*.rst(43). They are now ignored.doc/requirements.txt... include:: ... :parser: myst_parser.sphinx_, and the changelog and upgrade guide are Markdown pages.conf.pymentioned a local patch of sphinx-automodapi for comma-separated:skip:lists. The only such list (suite.rst) now uses one:skip:per name.sphinx.ext.imgmathis removed: it needs LaTeX, and the docs contain no math.Before merging, please switch the Pages source: Settings → Pages → Build and deployment → Source: "GitHub Actions" (it is "Deploy from a branch", master
/docs). The current site stays up until the first deployment. The merge's push then deploys the new site; if it ran before the switch, re-run it with "Run workflow" on master.Content
CHANGELOG.md: the 0.4.0 notes, made from the release-notes draft in TASKS.md and ordered by topic for users. It is also a page of the docs.doc/python/source/upgrading.md, Python and C++): what code written for 0.3 has to change, made from the two lists in WP8.ioh/README.md: Python 3.10 instead of 3.6, and the data files.include/README.md: the compilers CI tests, the data files, and example links that pointed to a nonexistentinclude/example/.pyproject.toml: Repository and Changelog links for PyPI.format.hppno longer includes<fmt/compile.h>; nothing usesFMT_COMPILE.TASKS.mdis removed, because the plan is done. A short version goes into the release notes: the work packages, the measurements, and what is left for later (the docstrings of overloaded methods, which make sphinx report 340 errors, also in the old docs; the constraints design discussed on 1 Nov). The full plan stays in the history: TASKS.md at e85ee414. The comments that referred to its tasks now name the pull requests.Checked
Docs check:
thread_local).generate_docs.pyfailed with doxygen 1.9.8, which refers to members documented in a group with<member>rather than<memberdef>.ioh::data(new) andioh::eafpages weren't in any table of contents.Full wheel matrix on this branch (§2), run 41331445772:
TASKS.md, and the metadata says 0.4.0 with the new links.Final CI timing (T2.3):
ci.ymlAfter the merge
IOHprofiler/ioh-objective-server: the pin moves to v0.4.0, and its CI's SSH-to-https rewrite is dropped.🤖 Generated with Claude Code