API Documentation broken for <7.0.0 versions

Hi,

I was trying to find documentation for a rails version smaller than 7.0.0

And then I stumbled over the following error:

  1. Go to Ruby on Rails API
  2. click on any element in the left sidebar e.g. AbstractController
  3. one is being redirected to this URL: https://edgeapi.rubyonrails.org/undefinedclasses/AbstractController.html

As you can see, the links don’t work. I tried with Edge and Safari and both have the same behaviour.

Thanks for looking into this. Lutz

The API documentation is still not working, a week further on. Does anyone have any pointers towards which repo / issue tracker we should use to report this? Or is it a known issue already?

Sorry for not replying earlier. Let me explain what happened.

The generation of documentation is an automated process, but is not part of the release process. The documentation server automatically generates edge docs on each push, and stable docs whenever a new stable tag is detected (so the release is already published).

In the early days, whoever released Rails was responsible for generating the docs and rsync them, but that was time consuming and we automated it in a separate process. This indirection works most of the time, but occasionally it breaks.

While edge docs are constantly being generated against main, there’s no edge docs for previous releases and occasionally the setup used to patch the release (bundler, system dependencies, etc.), may get out of sync with the one docs for that branch had time ago, and sometimes that breaks docs generation.

This is something that definitely has room for improvement, generate docs in CI, Dockerize for consistency, whatever.

For this one, I have manually fixed the discrepancies in the docs server and generated docs for 6.1.1.4. The v6.1 shortcut points to that one. AFAICT it’s restored.

If you see any issue please tell me.

(PS: Instead of reporting here, it’s better to open an issue in rails/rails.)

/cc @zzak

2 Likes

Nah, the sidebar is taking you to the 7.0 docs. I’ll look at it again.

1 Like

Hi @fxn

thanks for looking into this, but as you stated, the problem is still not fixed.

I created an issue in rails/rails to make it more visible:

Happy New Year Lutz

1 Like

So, the issue was that SDoc had a major change to not use frames. That refactor was not ready to work with prefixes like v6.1, and we didn’t notice until Rails 7 made them needed for 6.1.

@petrik has worked on that in zzak/sdoc#176. The APIs of all 6.1 releases have been regenerated.

1 Like