Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Keep older versions of the spec in the repo's HEAD #488

Closed
honno opened this issue Sep 29, 2022 · 0 comments · Fixed by #505
Closed

Keep older versions of the spec in the repo's HEAD #488

honno opened this issue Sep 29, 2022 · 0 comments · Fixed by #505

Comments

@honno
Copy link
Member

honno commented Sep 29, 2022

Currently versioning in our docs works building pages for released versions (i.e. just 2021.12 for now) a final time, to be linked to later. So in the gh-pages branch, you have the 2021.12/ folder unchanged after we tagged this repo with 2021.12, and a draft/ folder which now gets updated along this repo. It makes sense for projects to do this and seems an ubiquitous practice, as you rarely want to care about modifying older docs.

I was wondering however if we'd want to take a different approach: docs for every released version of the spec always live in the repo's HEAD, alongside the draft. Such an approach would certainly have us have a separate stubs folder/sub-module, e.g.

.
  spec/
    ...
    API_specification/
      ...
      array_api/
        draft/
          __init__.py
          _types.py
          _array_object.py
          ...
        2021.12/
          __init__.py
          _types.py
          _array_object.py
          ...

and probably will require separate folders for the rest of the RST in ./spec/API_specification, depending on how you go about things.

The advantage to this comes back to "caring about modifying older docs"—a spec standard probably does care more about "backports" than your typical software package. Currently we can't backport non-API changes to our 2021.12 docs, where it'd be nice to include clarifications and other niceties such as:

Another advantage is if we want to release the stubs as a package (#411), where @asmeurer bought up the idea of keeping older versioned stubs in the repo so we could just publish the spec as-is on PyPI #472 (comment). Package or not, having the stubs of past versions live on HEAD is useful for the compliance suite too.

All in all, this might not be a big deal? And I do see value if the docs for a released version are immutable.

I raise this issue so folks can 1) identify any glaring issues with my thought process here 2) see if there's even a desire. Ideally I'd just implement this first for us to look at, but having a little play around this might be a bit non-trivial to actually implement.

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 a pull request may close this issue.

1 participant