Skip to content

Conversation

@arademaker
Copy link
Collaborator

This PR fixes the doc generation that was not working since Oct 14th (see https://github.com/cs-lean/cs-lean.github.io/actions?page=2)

@arademaker arademaker changed the title fixed the doc generation fix: fixes the doc generation Nov 11, 2025
"configFile": "lakefile.lean"}],
"name": "docs",
"lakeDir": ".lake"}
["doc/Lake/Build/Package.html","doc/Lake/Util/IO.html","doc/Lake/CLI/Actions.html","doc/Lake/Util/String.html","doc/Lake/Util/OrdHashSet.html","doc/Lake/Config/Module.html","doc/Lake/Config/Env.html","doc/Lake/Config/ExternLib.html","doc/Lake/Build/Index.html","doc/Lake/Config/Lang.html","doc/Lake/Toml/Grammar.html","doc/Lake/Build/Context.html","doc/Lake/Util/StoreInsts.html","doc/Lake/Config.html","doc/Lake/Config/Context.html","doc/Lake/Toml/Data/Dict.html","doc/Lake.html","doc/Lake/Util/Error.html","doc/Lake/Build/Info.html","doc/Lake/Build/Trace.html","doc/Lake/Util/Reservoir.html","doc/Lake/Build/Fetch.html","doc/Lake/Build/Common.html","doc/Lake/DSL/Require.html","doc/Lake/Config/FacetConfig.html","doc/Lake/Build/Module.html","doc/Lake/DSL/Script.html","doc/Lake/Util/Name.html","doc/Lake/Util/JsonObject.html","doc/Lake/Util/Exit.html","doc/Lake/Util/Store.html","doc/Lake/DSL/Package.html","doc/Lake/Util/OrderedTagAttribute.html","doc/Lake/Util/Log.html","doc/Lake/Config/Cache.html","doc/Lake/Build/Key.html","doc/Lake/Util/EquipT.html","doc/Lake/Build/Target/Basic.html","doc/Lake/Config/ConfigDecl.html","doc/Lake/Toml/Data/DateTime.html","doc/Lake/Build/Target/Fetch.html","doc/Lake/Build/Topological.html","doc/Lake/Util/Lift.html","doc/Lake/Build/ModuleArtifacts.html","doc/Lake/DSL/Meta.html","doc/Lake/Build/InitFacets.html","doc/Lake/Config/Kinds.html","doc/Lake/Toml/Elab/Value.html","doc/Lake/Util/Proc.html","doc/Lake/Toml.html","doc/Lake/Config/MetaClasses.html","doc/Lake/Config/InputFile.html","doc/Lake/Config/Monad.html","doc/Lake/Config/Script.html","doc/Lake/Toml/Elab.html","doc/Lake/Config/Glob.html","doc/Lake/Config/Meta.html","doc/Lake/DSL/AttributesCore.html","doc/Lake/Config/LeanLib.html","doc/Lake/Config/TargetConfig.html","doc/Lake/DSL/Syntax.html","doc/Lake/Util/EStateT.html","doc/Lake/Config/Pattern.html","doc/Lake/DSL/Extensions.html","doc/Lake/Util/Url.html","doc/Lake/Build/Store.html","doc/Lake/DSL/Targets.html","doc/Lake/Config/ExternLibConfig.html","doc/Lake/Config/Workspace.html","doc/Lake/DSL.html","doc/Lake/Util/OpaqueType.html","doc/Lake/Build/Job/Basic.html","doc/Lake/Util/Opaque.html","doc/Lake/Config/LeanExeConfig.html","doc/Lake/Util/Lock.html","doc/Lake/Build/Targets.html","doc/Lake/Toml/ParserUtil.html","doc/Lake/Config/ConfigTarget.html","doc/Lake/Build/Executable.html","doc/Lake/Build/Job/Register.html","doc/Lake/CLI/Error.html","doc/Lake/Config/Artifact.html","doc/Lake/Config/InputFileConfig.html","doc/Lake/Config/Package.html","doc/Lake/CLI/Build.html","doc/Lake/DSL/VerLit.html","doc/Lake/DSL/Key.html","doc/Lake/Config/Dependency.html","doc/Lake/DSL/DeclUtil.html","doc/Lake/Build/Data.html","doc/Lake/Reservoir.html","doc/Lake/Util/FilePath.html","doc/Lake/Config/Dynlib.html","doc/Lake/Config/Opaque.html","doc/Lake/Config/LeanConfig.html","doc/Lake/Util/Git.html","doc/Lake/Util/Date.html","doc/Lake/Util/Message.html","doc/Lake/Toml/Data.html","doc/Lake/Build/Target.html","doc/Lake/Config/OutFormat.html","doc/Lake/Config/WorkspaceConfig.html","doc/Lake/Build/Job.html","doc/Lake/Util/Version.html","doc/Lake/Util/Cli.html","doc/Lake/Config/LeanLibConfig.html","doc/Lake/Config/PackageConfig.html","doc/Lake/Build/Job/Monad.html","doc/Lake/Build/Run.html","doc/Lake/Util/NativeLib.html","doc/Lake/Util/Cycle.html","doc/Lake/Build/Actions.html","doc/Lake/DSL/Attributes.html","doc/Lake/Toml/Elab/Expression.html","doc/Lake/Build/InputFile.html","doc/Lake/Toml/Data/Value.html","doc/Lake/DSL/Config.html","doc/Lake/Util/Binder.html","doc/Lake/Config/Defaults.html","doc/Lake/Util/Task.html","doc/Lake/Config/LeanExe.html","doc/Lake/Toml/Encode.html","doc/Lake/Build/Facets.html","doc/Lake/Build/ExternLib.html","doc/Lake/Util.html","doc/Lake/Toml/Decode.html","doc/Lake/Toml/Load.html","doc/Lake/Util/Family.html","doc/Lake/Build/Library.html","doc/Lake/Version.html","doc/Lake/Build/Infos.html","doc/Lake/Build.html","doc/Lake/Util/Casing.html","doc/Lake/Config/InstallPath.html","doc/Lake/Util/MainM.html","doc/Lake/Util/RBArray.html"] No newline at end of file
Copy link
Collaborator

Choose a reason for hiding this comment

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

I don't understand these changes to the docs manifest, can you explain?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I am trying to understand what happened.

@arademaker
Copy link
Collaborator Author

Hi @chenson2018, I fixed the docs/lakefile.toml, so we can now run the doc generation locally. Previously, running lake build Cslib:docs was overwriting files in the same folder.

@arademaker
Copy link
Collaborator Author

Once this PR is accepted, I can move to #128

@chenson2018
Copy link
Collaborator

This seems like a more reasonable diff of the manifest, thanks! I think what happened is that during the last version bump that this was not updated properly and somehow got nightly-testing mixed in too. (Though this is not the original reason the docs stopped building, which was due to inactivity in the other repo that now has the website).

Is your plan to merge this, then add back these lines in the other repo? This is precisely the scenario that I mention in my latest comment on #128 that we would like to avoid. Having builds happening in two repos is undesirable. Imagine for instance the build fails (in either repo) for some reason, possibly external to the code. You now have two locations to debug and sync.

I maintain that we should go ahead with #128, which moves us to a more standard workflow and supersedes this directory completely, then just link to the website to the docs that are build here, exactly as we already do for Mathlib.

Tagging @fmontesi

@chenson2018
Copy link
Collaborator

Once this PR is accepted, I can move to #128

Ah I missed this before I began my comment, sorry. This PR becomes not strictly necessary after that, but I see no harm in fixing this anyway.

@fmontesi fmontesi merged commit c50489b into main Nov 12, 2025
4 checks passed
@arademaker
Copy link
Collaborator Author

arademaker commented Nov 13, 2025

Hi @chenson2018

This seems like a more reasonable diff of the manifest, thanks! I think what happened is that during the last version bump that this was not updated properly and somehow got nightly-testing mixed in too. (Though this is not the original reason the docs stopped building, which was due to inactivity in the other repo that now has the website).

The problem with my second-to-last commit was that in docs/lakefile.toml we had buildDir = ".", which caused doc-gen4 to generate its output directly inside docs, overwriting the lake-manifest.json. I guess @fmontesi never thought about generating the docs locally, so this problem never happened before.

But indeed, after spending some time today experimenting with leanprover/doc-gen4 and leanprover-community/docgen-action, I now understand your point — we really don’t need this directory in the repository, the docgen-action creates this folder in the VM during its execution (although I still don’t quite understand where the files actually end up!).

The previous error (from Oct 14th) in the doc generation was not due to inactivity in the cs-lean.github.io repo, see here.

Is your plan to merge this, then add back these lines in the other repo? This is precisely the scenario that I mention in my latest comment on #128 that we would like to avoid. Having builds happening in two repos is undesirable. Imagine for instance the build fails (in either repo) for some reason, possibly external to the code. You now have two locations to debug and sync.

I see your point; having an action in the cs-lean/cs-lean.github.io repo to build the docs isn't really a good idea —it makes one repo depend on the other. I agree that it would be best to trigger the doc generation in leanprover/cslib.

I maintain that we should go ahead with #128, which moves us to a more standard workflow and supersedes this directory completely, then just link to the website to the docs that are build here, exactly as we already do for Mathlib.

I am talking with the Lean FRO team about the URL redirects. Today, anything under leanprover.github.io is redirected to lean-lang.org. We will need to add an exception so leanprover.github.io/cslib/docs are not redirected. I guess this was the reason @fmontesi created the cs-lean/cs-lean.github.io repo.

For the website, we also have some options. We can have it together with the leanprover/cslib repo or in a separate repo as it is now. But this is another discussion.

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.

4 participants