Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Set up azure-pipelines to automatically build and publish the documentation #32

Open
datapythonista opened this issue Jul 28, 2019 · 11 comments

Comments

@datapythonista
Copy link
Member

After #31 is complete, we should set up a continuous integration system (azure-pipelines) to automatically build the documentation to html, and publish it in a website, every time there are changes.

@bhavaniravi
Copy link
Contributor

I wanted to learn CI for a long time. I would love to work on this.

@sparalic
Copy link
Member

sparalic commented Jul 29, 2019

I would love to work on this with @bhavaniravi as well.

@datapythonista
Copy link
Member Author

Great, let me know if you have any question.

@bhavaniravi
Copy link
Contributor

bhavaniravi commented Jul 30, 2019

Hi, @datapythonista I understood how azure-pipelines work with GitHub and tried to set one up with my personal account pointing to the forked repo.

I have a couple of questions

  1. Are we going to use a common MS account to set these things up
  2. I am looking at azure pipelines in pandas repo and removed the unwanted parts not sure if I should remove Checks job as well
  3. The last stage of the pipeline is to push the built doc to a repo, is it a separate repository or the one we are working in right now.

For others to learn what I have done

  1. https://www.azuredevopslabs.com/labs/azuredevops/github-integration/
    2 Followed InstallSSHKey@0 from the pipeline file

@datapythonista
Copy link
Member Author

You can decide about how to manage the permissions / account. You can create a new Azure account and share the credentials with the group, or create with your user, and give admin permissions to some or all people. Not sure if there is any other option.

I'd start very very simple. I'm sure you can start with already complex jobs copied from pandas, and have useful things, but the thing I care the most at this point is that everybody is able to understand what's the CI, what it does for us, how is set up... And if the PR is more than few lines, it'll be difficult for the rest to follow.

Does this make sense?

@bhavaniravi
Copy link
Contributor

Understood. Let me reiterate and get back.

@bhavaniravi
Copy link
Contributor

Now that #83 is merged, back to working on this

@bhavaniravi
Copy link
Contributor

bhavaniravi commented Aug 4, 2019

I am kind of done with setting up a basic pipeline that runs the make file successfully.

Here is where I am stuck, where do we store the generated HTML files.

  1. Are we going to have a separate docs repo?
  2. Are we going to push to the same repo?
  3. Is there a way to update code directly from pipeline instead of pushing?

@datapythonista
Copy link
Member Author

You can see what we do in pandas here: https://github.com/pandas-dev/pandas/blob/master/azure-pipelines.yml#L120

Basically we have a specific repo that we publish with github pages, and that we overwrite every time. There are surely other options, including pushing the same repo. Ideally we'd like to have 3, I contacted azure pipelines few times to see if they can publish an artifact as html, but haven't heard from them, so I don't think that's an option.

@bhavaniravi
Copy link
Contributor

guess what? I could successfully push the HTML docs to a separate repo.
Now, can we create a pandas-mentoring-docs repo under python-sprints?

@datapythonista
Copy link
Member Author

Sure, I think I already made you an admin of the organization, you should be able to create it yourself. :)

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

No branches or pull requests

3 participants