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

Beta build #16411

Merged
merged 3 commits into from
Oct 10, 2019
Merged

Beta build #16411

merged 3 commits into from
Oct 10, 2019

Conversation

aaronmarkham
Copy link
Contributor

@aaronmarkham aaronmarkham commented Oct 9, 2019

Description

⭐️ This PR adds a pipeline that will deploy the Jekyll and Python docs to the staging beta website.
💥 Jenkinsfile_website was not being used since the new site deploy, so I removed it. PRs have been using Jenksinfile_website_full_pr.

I setup a new Jenkins job for the build that can be manually triggered with restricted-website-build-master-beta.
The pipeline will then trigger a publish on restricted-website-publish-master-beta.

Usage

If you want to use the beta pipeline once this is merged, you can change the restricted-website-build-master-beta job to point to your fork and PR branch, build it, and once it is done preview your stuff at https://mxnet-beta.staged.apache.org/

Notes

I chose to only build Python and Jekyll to save some time in each test deploy. I think that in the future it would be nice to have parameters on the job, so you can select which API docs you want to include in the test deployment.

@marcoabreu
Copy link
Contributor

Mixing concerns or did you just forgot to base off master?

@aaronmarkham
Copy link
Contributor Author

Mixing concerns or did you just forgot to base off master?

I messed up my master branch and tainted this one too. Should be good now.

@aaronmarkham
Copy link
Contributor Author

@reminisce @stu1130
This PR is failing on the numpy op signature lint issue. It was patched six days ago, but then that patch was removed two days ago. Can you tell me what I need to do to get past this issue with the sanity test?
http://jenkins.mxnet-ci.amazon-ml.com/blue/organizations/jenkins/mxnet-validation%2Fsanity/detail/PR-16411/2/pipeline

@stu1130
Copy link
Contributor

stu1130 commented Oct 9, 2019

The sanity check is flaky, the easiest way is to retrigger it

@aaronmarkham
Copy link
Contributor Author

The sanity check is flaky, the easiest way is to retrigger it

So 2/2 failures on this PR, and 4/4 on #16392 is flaky? That's more like totally broken.
Is there another solution than restarting? I don't see that as a reasonable solution given the track record.

@aaronmarkham
Copy link
Contributor Author

Haha ok, it passed. Of course it did right after I leave that comment. But still that's a really low pass rate. Why should this hold everyone hostage?

ci/jenkins/Jenkins_steps.groovy Outdated Show resolved Hide resolved
ci/jenkins/Jenkins_steps.groovy Outdated Show resolved Hide resolved
utils.docker_run('ubuntu_cpu_jekyll', 'build_docs', false)

// archive so the publish pipeline can access the artifact
archiveArtifacts 'docs/_build/beta_website.tgz'
Copy link
Contributor

Choose a reason for hiding this comment

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

where is this being prepared ?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Did I miss something?
Job calls ci/jenkins/Jenkinsfile_website_beta
--> unix_cpu_lite --> binary
--> docs_jekyll --> jekyll artifacts (stash)
--> docs_python --> python api artifacts (stash)
--> docs_prepare_beta (unstash both) --> archive beta_website.tgz
--> docs_publish_beta (using archive)

I did forget to update the filename in the publish job, so this was a worthwhile exercise 🏃 😄

Copy link
Contributor

Choose a reason for hiding this comment

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

You are running utils.docker_run('ubuntu_cpu_jekyll', 'build_docs', false)
check runtime_function.sh:1819, the doc/_build/beta_website.tgz is not going to be created by magic 😄
You need to create a new runtime function, build_docs_beta for example that would do something like this:

build_docs_beta() {
    pushd docs/_build
    tar -xzf jekyll-artifacts.tgz
    api_folder='html/api'

    # Python has it's own landing page/site so we don't put it in /docs/api
    mkdir -p $api_folder/python/docs && tar -xzf python-artifacts.tgz --directory $api_folder/python/docs
    GZIP=-9 tar -zcvf beta_website.tgz -C html .
    popd
}

Copy link
Contributor

Choose a reason for hiding this comment

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

But please let's try to not diverge between bets and prod code as much as possible.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

But please let's try to not diverge between bets and prod code as much as possible.

This does have the drawback of not rendering most of the other microsites, but then we get a much faster way to stage updates. How about after most of the restructuring is done on the Python API we go back and add in the rest of the APIs so the staging run has everything in it?

Copy link
Contributor

Choose a reason for hiding this comment

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

Sounds good! :)

Copy link
Contributor

@ThomasDelteil ThomasDelteil left a comment

Choose a reason for hiding this comment

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

change the build_docs to a new build_docs_beta that untar and tar the right artefacts

@aaronmarkham
Copy link
Contributor Author

change the build_docs to a new build_docs_beta that untar and tar the right artefacts

I tried it again after I made the changes you suggested and it worked:
http://jenkins.mxnet-ci.amazon-ml.com/job/restricted-website-build-master-beta/

This PR should be ready to merge now.

@ThomasDelteil ThomasDelteil merged commit e484f72 into apache:master Oct 10, 2019
aaronmarkham added a commit to aaronmarkham/incubator-mxnet that referenced this pull request Oct 16, 2019
* remove unused jenkinsfile

* add a pipeline that publishes to staging beta site

* add staging site tar file generation; fix outputs
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.

5 participants