Skip to content
This repository has been archived by the owner on Nov 17, 2023. It is now read-only.

Julia docs #15454

Merged
merged 11 commits into from
Jul 11, 2019
Merged

Julia docs #15454

merged 11 commits into from
Jul 11, 2019

Conversation

aaronmarkham
Copy link
Contributor

@aaronmarkham aaronmarkham commented Jul 4, 2019

Description

Since the dmlc.ml domain is gone we lost our Julia docs (and other things).
This PR adds Julia docs to our regular website deployment pipeline. 💥 Links to the Julia docs will no longer go to a spam/malware website.

Fixes #15415

Update: It also adds a thorough Ubuntu setup guide for Julia. The existing one doesn't work. However, this needs more eyes and testing. I did get it to work, but after a ton of troubleshooting, so I might have missed some env var or some setting that is required.

Update 2: I removed the separate Julia pipeline for docs. I needed to have its installation and config steps and it was duplicating things anyways. So since I had to fix CI, I went ahead and removed the duplication. That being said, sometime in the future it would be nice to revamp the docs build and have stages for each of the doc sets and make it so you don't have to rerun every stage of CI if one particular part of docs generation fails.

Preview

The Julia docs site ends up in /site in the Julia API area.
http://34.201.8.176/versions/julia/api/julia/site/index.html

@aaronmarkham
Copy link
Contributor Author

Hmm maven failed in CI - that should be unrelated to this PR.
@zachgk @lanking520 - any ideas? I'll restart it anyways....

@iblislin
Copy link
Member

iblislin commented Jul 5, 2019

If we have this PR merged, do we still need the Julia doc build pipeline in Jenkins?
(this one: http://jenkins.mxnet-ci.amazon-ml.com/blue/organizations/jenkins/mxnet-validation%2Fwebsite/detail/PR-15454/2/pipeline/86)

@roywei
Copy link
Member

roywei commented Jul 8, 2019

@mxnet-label-bot add [Julia, Doc]

@aaronmarkham
Copy link
Contributor Author

If we have this PR merged, do we still need the Julia doc build pipeline in Jenkins?
(this one: http://jenkins.mxnet-ci.amazon-ml.com/blue/organizations/jenkins/mxnet-validation%2Fwebsite/detail/PR-15454/2/pipeline/86)

I think having a separate test for the docs package like Julia is a good idea and wish we had that for each kind, like C++ docs, Scala, etc. With this PR, it is duplicating the test, but this was the easiest way and keeps all of the docs generated in the same pipeline as the website output.

Let's leave it in there for now. Make sure everything is working how we want it, (docs are being built!) then discuss further how things should work, and try to streamline.

@lanking520
Copy link
Member

It seemed to be something to do with the the libmxnet.so problem. I just restart the test to see if it is reproducible

@aaronmarkham
Copy link
Contributor Author

It seemed to be something to do with the the libmxnet.so problem. I just restart the test to see if it is reproducible

It did it twice now already. This new test is the third attempt.

@aaronmarkham
Copy link
Contributor Author

@iblis17 There's a line in the ubuntu setup guide that says "The MXNet package for Julia is hosted in a separate repository, MXNet.jl, which is available on GitHub." But this isn't true anymore is it?

@iblislin
Copy link
Member

iblislin commented Jul 9, 2019

@aaronmarkham It isn't true anymore.

@aaronmarkham
Copy link
Contributor Author

@aaronmarkham It isn't true anymore.

Thanks, I'll change that and rebase so maybe this CI/maven problem will be fixed.

How far should the Julia docs go back? I could trigger the build in 1.4.x or earlier in settings.ini, but I'm pretty sure that those versions must be compatible with Julia 0.7 and 1.0 since invoking Julia with MXNet and running docs seemed different for earlier versions. Also, I don't really think it is needed to engineer a solution for older versions. If so, I'd put that in a different PR.

For this PR though, I'd trigger whatever is compatible plus maybe note what's going on there if people browse the older versions.

@aaronmarkham
Copy link
Contributor Author

@iblis17 I tried to add some more details on getting Ubuntu configured natively (since all I did here was get it working via Docker and to run the docs), but I ran into this:

julia> using Pkg; Pkg.build("MXNet")
ERROR: The following package names could not be resolved:
 * MXNet (not found in project or manifest)
Please specify by known `name=uuid`.
Stacktrace:
 [1] pkgerror(::String) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.0/Pkg/src/Types.jl:120
 [2] #ensure_resolved#43(::Bool, ::Function, ::Pkg.Types.EnvCache, ::Array{Pkg.Types.PackageSpec,1}) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.0/Pkg/src/Types.jl:900
 [3] ensure_resolved at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.0/Pkg/src/Types.jl:870 [inlined]
 [4] #build#53(::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}, ::Function, ::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.0/Pkg/src/API.jl:455
 [5] build at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.0/Pkg/src/API.jl:436 [inlined]
 [6] build(::String) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.0/Pkg/src/API.jl:431
 [7] top-level scope at none:0

I saw a post that you might need to add this to the registry like this, but it didn't work:

   Cloning git-repo `https://github.com/apache/incubator-mxnet/tree/master/julia`
ERROR: failed to clone from https://github.com/apache/incubator-mxnet/tree/master/julia, error: GitError(Code:ERROR, Class:Net, unexpected HTTP status code: 404)


```bash
export MXNET_HOME=/<path to>/libmxnet
wget -qO julia-10.tar.gz https://julialang-s3.julialang.org/bin/linux/x64/1.0/julia-1.0.3-linux-x86_64.tar.gz
Copy link
Contributor Author

Choose a reason for hiding this comment

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

julia -e 'using InteractiveUtils; versioninfo()'
```

#### Setup Your MXNet-Julia Environment
Copy link
Contributor Author

Choose a reason for hiding this comment

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

@aaronmarkham aaronmarkham changed the title [WIP] Julia docs Julia docs Jul 9, 2019
Copy link
Member

@szha szha left a comment

Choose a reason for hiding this comment

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

Could you paste the preview link?

@aaronmarkham
Copy link
Contributor Author

Could you paste the preview link?

It's in the main description:
http://34.201.8.176/versions/julia/api/julia/site/index.html
But since the website CI is done you can see that one too:
http://mxnet-ci-doc.s3-accelerate.dualstack.amazonaws.com/PR-15454/8/index.html

@iblislin
Copy link
Member

BTW, Julia v1.0.4 is out. Let's test it: #15502.

@IvyBazan
Copy link
Contributor

LGTM! Verified Julia installation and doc building process on an Ubuntu EC2 instance.

@iblislin
Copy link
Member

Nice work! @aaronmarkham

@aaronmarkham aaronmarkham merged commit 1f3195f into apache:master Jul 11, 2019
This was referenced Jul 12, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

documentation link is broken, goes to spam site
7 participants