From 50c4e677557ef21d6ccf83869d341af73a91e6a1 Mon Sep 17 00:00:00 2001 From: Fredrik Ekre Date: Thu, 30 Jul 2020 19:53:19 +0200 Subject: [PATCH 1/2] rc docs: strip extra pre-release info, deploy to e.g. 1.5.0-rc2 instead of 1.5.0-rc2.0 --- doc/make.jl | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/doc/make.jl b/doc/make.jl index 112dbcae63126..47466374daeff 100644 --- a/doc/make.jl +++ b/doc/make.jl @@ -221,7 +221,10 @@ struct BuildBotConfig <: Documenter.DeployConfig end function Documenter.deploy_folder(::BuildBotConfig; devurl, kwargs...) haskey(ENV, "DOCUMENTER_KEY") || return nothing if Base.GIT_VERSION_INFO.tagged_commit - return "v$(Base.VERSION)" + # Strip extra pre-release info (1.5.0-rc2.0 -> 1.5.0-rc2) + ver = VersionNumber(VERSION.major, VERSION.minor, VERSION.patch, + isempty(VERSION.prerelease) ? () : (VERSION.prerelease[1],)) + return "v$(ver)" elseif Base.GIT_VERSION_INFO.branch == "master" return devurl end From cd4330d9b0b87cfa901fadbddce91069aa32f79e Mon Sep 17 00:00:00 2001 From: Fredrik Ekre Date: Thu, 30 Jul 2020 19:53:54 +0200 Subject: [PATCH 2/2] rc docs: hack Documenter to insert rc docs in the version selector. --- doc/make.jl | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/doc/make.jl b/doc/make.jl index 47466374daeff..1d7ac1615deb1 100644 --- a/doc/make.jl +++ b/doc/make.jl @@ -233,11 +233,33 @@ end const devurl = "v$(VERSION.major).$(VERSION.minor)-dev" +# Hack to make rc docs visible in the version selector +struct Versions versions end +function Documenter.Writers.HTMLWriter.expand_versions(dir::String, v::Versions) + # Find all available docs + available_folders = readdir(dir) + cd(() -> filter!(!islink, available_folders), dir) + filter!(x -> occursin(Base.VERSION_REGEX, x), available_folders) + + # Look for docs for an "active" release candidate and insert it + vnums = [VersionNumber(x) for x in available_folders] + master_version = maximum(vnums) + filter!(x -> x.major == 1 && x.minor == master_version.minor-1, vnums) + rc = maximum(vnums) + if !isempty(rc.prerelease) && occursin(r"^rc", rc.prerelease[1]) + src = "v$(rc)" + @assert src ∈ available_folders + push!(v.versions, src => src, pop!(v.versions)) + end + + return Documenter.Writers.HTMLWriter.expand_versions(dir, v.versions) +end + deploydocs( repo = "github.com/JuliaLang/docs.julialang.org.git", deploy_config = BuildBotConfig(), target = joinpath(buildroot, "doc", "_build", "html", "en"), dirname = "en", devurl = devurl, - versions = ["v#.#", devurl => devurl] + versions = Versions(["v#.#", devurl => devurl]), )