I think that the project website and the project documentation are
currently distinct entities. The current Jekyll website is independent
from the Sphinx documentation project aside from a link to the
documentation from the website.

I am guessing that we would want to maintain some amount of separation
between the main site at arrow.apache.org and the code / format
documentation, at minimum because we may want to make documentation
available for multiple versions of the project (this has already been
cited as an issue -- when we release, we're overwriting the previous
version of the docs)

On Sat, Aug 3, 2019 at 11:33 AM Antoine Pitrou <anto...@python.org> wrote:
>
>
> I am concerned with this.  What happens if we happen to move part of the
> current site to e.g. the Sphinx docs in the Arrow repository (we already
> did that, so it's not theoretical)?
>
> More generally, I also think that any move towards separating website
> and code repo more will lead to an even less maintained website.
>
> Regards
>
> Antoine.
>
>
> Le 02/08/2019 à 22:39, Wes McKinney a écrit :
> > hi Neal,
> >
> > In general the improvements to the site sound good, and I agree with
> > moving the site into the apache/arrow-site repository.
> >
> > It sounds like a committer will have to volunteer a PAT for the Travis
> > CI settings in
> >
> > https://travis-ci.org/apache/arrow-site/settings
> >
> > Even though you can't get at such an environment variable there after
> > it's set, it could still technically be compromised. Personally I
> > wouldn't be comfortable having a token with "repo" scope out there. We
> > might need to think about this some more -- the general idea of making
> > it easier to deploy the website I'm totally on board with
> >
> > - Wes
> >
> >
> > On Fri, Aug 2, 2019 at 1:35 PM Neal Richardson
> > <neal.p.richard...@gmail.com> wrote:
> >>
> >> Hi all,
> >> https://issues.apache.org/jira/browse/ARROW-5746 requested to move the
> >> source for https://arrow.apache.org out of `apache/arrow` due to the
> >> growing number of binary files (mostly images) there.
> >>
> >> https://issues.apache.org/jira/browse/ARROW-4473 requested
> >> improvements to the ability to make a test deploy of the website and
> >> noted challenges/bugs in trying to do this when the site `baseurl` is
> >> a subdirectory.
> >>
> >> On my fork of `arrow-site` [1] I have a solution to both. I created a
> >> `master` branch and copied the contents of the `site/` directory in
> >> `apache/arrow` to that, using `git filter-branch --prune-empty
> >> --subdirectory-filter site master` to preserve the commit history [2].
> >> Then I added a build script [3] that gets executed by Travis-CI [4].
> >>
> >> The script builds the Jekyll site and pushes it to a branch that gets
> >> published. On `apache/arrow-site`, commits to the `master` branch
> >> trigger a build of the Jekyll site and push the result to the
> >> `asf-site` branch. On forks, commits to `master` build the site and
> >> publish to the `gh-pages` branch, which can deploy to GitHub Pages.
> >>
> >> ## Features
> >>
> >> * Automatic building of the arrow.apache.org site whenever changes are
> >> made to the Jekyll source--no manual build step required.
> >> * Automatic building of a test site from your fork, which will enable
> >> reviewers to verify your changes without having to build and serve
> >> locally and trust that what works locally will work when deployed.
> >> * Relative URL problems are fixed: links work regardless of whether
> >> the "base URL" is top level or a subdirectory.
> >> * Reduced size of the core `apache/arrow` repository
> >> * Documentation publishing is not affected. Updating the contents of
> >> the `docs/` directory in the published `asf-site` branch can continue
> >> to happen by whatever other process. The automatic building and
> >> publishing of the Jekyll site does not overwrite the `docs/`
> >> directory.
> >>
> >> ## Usage
> >>
> >> Local development and serving of the Jekyll site is not affected by
> >> this build process--it works exactly the same as before, just located
> >> in the `arrow-site` repository instead of the `site/` directory of
> >> `apache/arrow`.
> >>
> >> To enable the automatic building on your fork, there are a couple of
> >> quick setup steps to enable GitHub Pages and Travis-CI, described here
> >> [5].
> >>
> >> In order set up the automatic deploy on `apache/arrow-site`, a
> >> committer will need to set a GITHUB_PAT there. I imagine there could
> >> be some hesitation to doing this, but it is safe because
> >>
> >> 1. Builds only happen on the master branch, and only committers can
> >> modify the master branch, so by accepting a patch to `master`, they're
> >> implicitly accepting a patch to `asf-site`
> >> 2. Malicious actors can't modify the build script in a pull request
> >> and use the token because Travis does "not provide [repository-setting
> >> environment variables] to untrusted builds, triggered by pull requests
> >> from another repository" [6]
> >> 3. Non-committers cannot access the Travis-CI settings to alter the
> >> GITHUB_PAT (and even committers cannot view the value of the token
> >> once it is set)
> >> 4. IIUC there is still a manual action required to get the ASF to
> >> update arrow.apache.org with the contents of the `asf-site` branch
> >>
> >> While it would be useful, it is not required that we enable automatic
> >> deploy on `apache/arrow-site` in order to get benefit from this
> >> proposal because this enables contributors to opt-in to deploying test
> >> sites from their forks, and those tests sites will actually work.
> >>
> >> Let me know if you have any questions or concerns. If there are no
> >> objections, then to proceed I'll need a committer to create an orphan
> >> `master` branch on `apache/arrow-site`, and then I can make a pull
> >> request to that, which we'd want to merge without squashing in order
> >> to preserve the git history of the site from `apache/arrow`.
> >>
> >> Thanks,
> >> Neal
> >>
> >> [1] https://github.com/nealrichardson/arrow-site/
> >> [2] https://github.com/nealrichardson/arrow-site/commits/master
> >> [3] 
> >> https://github.com/nealrichardson/arrow-site/blob/master/build-and-deploy.sh
> >> [4] https://github.com/nealrichardson/arrow-site/blob/master/.travis.yml
> >> [5] 
> >> https://github.com/nealrichardson/arrow-site/tree/master#previewing-the-site
> >> [6] 
> >> https://docs.travis-ci.com/user/environment-variables/#defining-variables-in-repository-settings

Reply via email to